python給視頻添加背景音樂并改變音量的具體方法
用到給視頻添加背景音樂,并改變音量。記錄一下,與碰到同樣問題的朋友共享。
import subprocessinmp4=’E:/PycharmProjects/untitled2/hecheng/191030_232_xs.mp4’inmp3=’E:/PycharmProjects/untitled2/hecheng/bg.mp3’inmp32=’E:/PycharmProjects/untitled2/hecheng/bg2.mp3’outmp3=’E:/PycharmProjects/untitled2/hecheng/bg_out.mp3’outmp4=’E:/PycharmProjects/untitled2/hecheng/191030_232_xs_bg.mp4’cmd=’ffmpeg -y -i ’+ inmp4 +’ -i ’+ inmp3 +’ -filter_complex '[0:a]volume=10dB[a0]; [1:a]volume=-10dB[a1]; [a0][a1]amix=inputs=2[a]' -map 0:v -map '[a]' -c:v copy -c:a aac -shortest ’+ outmp4p = subprocess.call(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)# 查看音軌信息print(’*’*80)cmd=’ffmpeg -i ’+ outmp3 +’ -filter_complex volumedetect -c:v copy -f null /dev/null’P = subprocess.call(cmd)
記錄幾個cmd
# 分別降低音量后疊加cmd=’ffmpeg -y -i ’+ inmp4 +’ -i ’+ inmp3 +’ -filter_complex '[0:a]volume=10dB[a0]; [1:a]volume=-30dB[a1]; [a0][a1]amix=inputs=2[a]' -map 0:v -map '[a]' -c:v copy -c:a aac -shortest ’+ outmp4# 純音頻,疊加,可控制音量,并且設置一個循環,并按照第一個截取時間cmd=’ffmpeg -y -i ’+ mp4p3 +’ -i ’+ inmp3 +’ -filter_complex '[0:a]volume=10dB[a0]; [1:a]aloop=loop=-1:size=2e+09[a1]; [a1]volume=-15dB[a12]; [a0][a12]amix=inputs=2:duration=first:dropout_transition=2' ’ + outmp4mp3# 視頻添加循環音樂cmd=’ffmpeg -y -i ’+ inmp4 +’ -i ’+ inmp3 +’ -filter_complex '[0:a]volume=10dB[a0]; [1:a]aloop=loop=-1:size=2e+09[a1]; [a1]volume=-15dB[a12]; [a0][a12]amix=inputs=2:duration=first:dropout_transition=2[a]' -map 0:v -map '[a]' -c:v copy -c:a aac -shortest ’+ outmp4
ffmpeg 隱藏調試信息
-loglevel quiet
資料參考:
https://stackoverflow.com/questions/13780736/ffmpeg-unable-to-find-a-suitable-output-format-for-i
https://stackoverflow.com/questions/44712868/ffmpeg-set-volume-in-amix
到此這篇關于python給視頻添加背景音樂并改變音量的具體方法的文章就介紹到這了,更多相關python給視頻添加背景音樂并改變音量內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. Android打包篇:Android Studio將代碼打包成jar包教程2. Python使用urlretrieve實現直接遠程下載圖片的示例代碼3. SpringBoot+TestNG單元測試的實現4. Springboot 全局日期格式化處理的實現5. vue實現web在線聊天功能6. 解決Android Studio 格式化 Format代碼快捷鍵問題7. 完美解決vue 中多個echarts圖表自適應的問題8. JavaScript實現頁面動態驗證碼的實現示例9. Java使用Tesseract-Ocr識別數字10. JavaEE SpringMyBatis是什么? 它和Hibernate的區別及如何配置MyBatis
