当前位置: 首页 > news >正文

php短视频系统,视频静音的一种检测方案

php短视频系统,视频静音的一种检测方案

利用AudioSegment库抽出音轨,一定时间段间隔采样音频的dBFS,如果小于阈值(一般认为小于-50为静音),当然还存在负无穷的现象需要判断。

defaudio_silence_check_service(video_location):download_video_to_local(location=video_location,video_filename=video_filename)extract_audio_result=extract_audio_from_video(video_filename,audio_filename)is_exist_silence=Falsesilence_desc='' silence_detect_result=[]ifextract_audio_result:silence_detect_result=silence_detect(audio_filename)forsilence_chunkinsilence_detect_result.get('silence_result'):ifint(silence_chunk[1])-int(silence_chunk[0])>int(int(silence_detect_result.get('audio_duration'))/3):silence_desc+=f'{silence_chunk[0]}~{silence_chunk[1]},'ifsilence_desc:silence_desc+='ms存在静音' is_exist_silence=Trueelse:is_exist_silence=Truesilence_desc=f'{qipuid}未获取到音轨'logger_error(silence_desc)returnis_exist_silence,silence_desc,silence_detect_resultdefsilence_detect(audio_file,silence_threshold=-50,chunk_size=10):sound=AudioSegment.from_file(audio_file,format="wav")assert chunk_size>0silence_chunks=list()silence_chunks_start_ms=-1sound_duration=len(sound)forcurrent_msinrange(0,sound_duration,chunk_size):current_ms_chunks_dBFS=sound[current_ms:current_ms+chunk_size].dBFSifcurrent_ms_chunks_dBFS<silence_thresholdorcurrent_ms_chunks_dBFS==-inf:ifsilence_chunks_start_ms==-1:silence_chunks_start_ms=current_mselse:ifcurrent_ms<=sound_duration<=current_ms+chunk_size:silence_chunks.append([silence_chunks_start_ms,sound_duration])silence_chunks_start_ms=-1else:ifsilence_chunks_start_ms!=-1:silence_chunks.append([silence_chunks_start_ms,current_ms])silence_chunks_start_ms=-1return{'audio_duration':sound_duration,'silence_result':silence_chunks}defdownload_video_to_local(location,video_filename):res=get(location)withopen(video_filename,r'wb')asf:f.write(res.content)

以上就是php短视频系统,视频静音的一种检测方案, 更多内容欢迎关注之后的文章

http://www.jsqmd.com/news/82580/

相关文章:

  • 2025年沈阳有实力的公务员培训机构排名,信誉好的专业公务员 - 工业品牌热点
  • 分布式系统日志碎片整合:ZincObserve如何实现跨源数据关联分析
  • 【主题美化】快速关闭 SimpleMemory 主题的“灰度”模式
  • 终极NFC读卡器工具:电脑版完整使用指南
  • MySQL 压测实战:sysbench 从入门到精通
  • 电子拉力试验机口碑推荐!天氏欧森强势上榜 - 品牌推荐大师
  • 如何用PyWebView与React构建现代化桌面应用:5步终极指南
  • C#动态数组ArrayList和List技巧全解析
  • 没想到吧?用Excel+Power Query也能做ETL数据清洗!
  • 英语_作文_U5_A team success
  • DiffSynth-Studio 扩散模型视频生成完整安装配置指南
  • 如何快速配置SQL Server JDBC连接:4.0版本完整指南
  • Day29平面转换--倾斜
  • Dlib疲劳驾驶检测系统终极指南:从零快速上手完整教程
  • 2025 古典家具品牌 TOP10 对比推荐评分报告 - Amonic
  • 生成式AI新范式:一致性模型引领高效图像生成革命
  • 如何用dig +dnssec进行DNS安全扩展验证:完整指南
  • 嵌入式文件系统LittleFS
  • 积木报表终极指南:零代码实现专业级数据可视化
  • 《AI编码助手全面评测2025》:G**pt、文心、Copilot,谁最能提效?
  • C# Lambda表达式实战指南,遍历方式以及空类型
  • vLLM源码编译完全指南:构建高性能LLM推理引擎
  • JetBot AI机器人终极指南:基于NVIDIA Jetson Nano的快速上手教程
  • Unity资产引用追踪终极指南:快速定位资源使用情况
  • 23、树莓派多媒体功能拓展与应用指南
  • OTPAuth:终极跨平台两步验证解决方案
  • 2025年木质台历供应商评测,云边包装专业靠谱
  • GIM:从互联网视频学习通用图像匹配的完整指南
  • 上海专业防水补漏服务:国家一级资质,免费勘察,根治渗漏 - shruisheng
  • 量子计算快速上手:5步掌握Qiskit核心操作技巧