news 2026/3/27 12:41:03

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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短视频系统,视频静音的一种检测方案, 更多内容欢迎关注之后的文章

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/24 22:21:41

分布式系统日志碎片整合:ZincObserve如何实现跨源数据关联分析

分布式系统日志碎片整合&#xff1a;ZincObserve如何实现跨源数据关联分析 【免费下载链接】openobserve 项目地址: https://gitcode.com/gh_mirrors/zi/zincobserve 在现代分布式架构中&#xff0c;日志数据如同散落在沙滩上的贝壳&#xff0c;每个服务、每个组件都在…

作者头像 李华
网站建设 2026/3/26 1:17:46

Lenia终极指南:探索数学生命形式的免费神器

Lenia终极指南&#xff1a;探索数学生命形式的免费神器 【免费下载链接】Lenia Lenia - Mathematical Life Forms 项目地址: https://gitcode.com/gh_mirrors/le/Lenia 想不想亲眼见证数学如何创造出栩栩如生的"生命体"&#xff1f;Lenia就是这样一个神奇的连…

作者头像 李华
网站建设 2026/3/26 10:58:51

DeepFace实战指南:从零构建企业级人脸识别系统

DeepFace实战指南&#xff1a;从零构建企业级人脸识别系统 【免费下载链接】deepface A Lightweight Face Recognition and Facial Attribute Analysis (Age, Gender, Emotion and Race) Library for Python 项目地址: https://gitcode.com/GitHub_Trending/de/deepface …

作者头像 李华
网站建设 2026/3/25 5:25:39

基于C语言和mbedtls库,实现TLS 加密通信落地

以下是基于 C 语言 + mbedtls 实现 TLS 加密通信的完整落地代码,包含服务器端和客户端,适配 Linux / 嵌入式 Linux 环境,兼顾可读性和生产级安全规范。 一、环境准备 安装 mbedtls:参考前文编译部署步骤,确保头文件路径(/usr/local/mbedtls/include)和库路径(/usr/loc…

作者头像 李华
网站建设 2026/3/23 20:16:52

Symfony Translation组件:构建多语言应用的终极指南

Symfony Translation组件&#xff1a;构建多语言应用的终极指南 【免费下载链接】translation symfony/translation: 是一个用于 PHP 的翻译库&#xff0c;支持多种消息源和翻译格式&#xff0c;可以用于构建多语言的 Web 应用程序和 API。 项目地址: https://gitcode.com/gh…

作者头像 李华