亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

解決java執行cmd命令調用ffmpeg報錯Concat error - No such filter '[0,0]'問題

瀏覽:166日期:2022-09-05 08:51:50

最近公司有一個公交項目,要生成報站語音,采用的是 報站前綴 + 站點名 + 報站后綴,3個MP3文件拼接的方式,拼接成一個完整的語音,且需要轉碼率和比特率,使用到了ffmpeg。

去網上找了一些ffmpeg相關的命令,參考:

安裝命令參考

音頻轉碼:

ffmpeg -i **.mp3 -ar 8000 -ac 2 -y -b:a 32k -vol 400 **.mp3

音頻拼接:

//音頻拼接(1) ffmpeg -i 'concat:test4.mp3|180_out.mp3' -acodec copy third.mp3 (third格式和first保持一致)(2) ffmpeg -i 'concat:first.mp3|second.mp3' -i second.mp3 -acodec copy test.mp3 -map_metadata 0:1 (third格式和second保持一致)(3)ffmpeg -i test4.mp3 -i test5.mp3 -filter_complex ’[0:0] [1:0] concat=n=2:v=0:a=1 [a]’ -map [a] j5.mp3

音頻混合:

//音頻混合ffmpeg -i 180_out.mp3 -i 181_in.mp3 -strict -2 -filter_complex amix=inputs=2:duration=longest:dropout_transition=2 -ar 8000 -ac 2 -y -b:a 64k -vol 2500 test.aac

ffmpeg下載地址:http://www.ffmpeg.org/download.html

當然,主要用到的還是音頻轉碼和音頻拼接。音頻轉碼沒問題,音頻拼接的坑就來了......下面是公司項目主要用到的拼接語句:

ffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -filter_complex ’[0:0] [1:0] [2:0] concat=n=3:v=0:a=1 [a]’ -map [a] -b:a 32k -ar 8000 4.mp3

重點關注這一段:-filter_complex ’[0:0] [1:0] [2:0] concat=n=3:v=0:a=1 [a]’

在本機(Windows)和公司服務器(Linux)上都安裝了ffmpeg,上面的拼接語句在服務器上(Linux)能拼接MP3成功,但在本機DOS命令運行報錯:

解決java執行cmd命令調用ffmpeg報錯Concat error - No such filter

??腫么肥四!!回想windows和linux的區別,難道是目錄的斜桿和反斜杠的問題??

把MP3路徑的斜桿替換'/'為'',還是報錯,一頓查找,發現是單引號和雙引號的問題。

windows系統下,把 ’ 改為 ' 拼接成功。類似改為 -filter_complex '[0:0] [1:0] [2:0] concat=n=3:v=0:a=1 [a]'

linux系統,單、雙引號都能拼接成功。

解決java執行cmd命令調用ffmpeg報錯Concat error - No such filter

那么好,Dos窗口能拼接MP3成功,java代碼運行cmd就出問題了:在本機測試能成功拼接MP3文件,但放到服務器上去報錯。↓

解決java執行cmd命令調用ffmpeg報錯Concat error - No such filter

No such filter: ’'’ Error configuring filters.

提示配置的過濾器錯誤,我把拼接條件又單獨拿出來去Linux運行,拼接成功。

沒辦法,嘗試把雙引號改為單引號試試怎么樣:

解決java執行cmd命令調用ffmpeg報錯Concat error - No such filter

No such filter: ’[0:0]’ Error configuring filters.

又是提示過濾器配置錯誤。同樣,把拼接條件單獨拿出來去Linux運行,拼接成功。

What!??去百度找答案,沒有找到。回頭看報錯信息,單引號會報錯到第一個空格,雙引號則直接報錯,那么我把中間的空格去掉,改成這樣:

-filter_complex ’[0:0][1:0][2:0]concat=n=3:v=0:a=1[a]’

dos窗口成功,java運行cmd命令失敗,換成雙引號呢?

-filter_complex '[0:0][1:0][2:0]concat=n=3:v=0:a=1[a]'

還是dos窗口成功,java運行cmd命令失敗,去掉引號?

-filter_complex [0:0][1:0][2:0]concat=n=3:v=0:a=1[a]

成功!

回頭再去百度了下,發現還真有'解決方案'(可能之前沒好好找):

http://www.ffmpeg-archive.org/Concat-error-No-such-filter-0-0-td4654771.html#a4654803

解決java執行cmd命令調用ffmpeg報錯Concat error - No such filter

改成類似這樣的(好多單引號):

-filter_complex ’[0:0]’ ’[1:0]’ ’[2:0]’ ’concat=n=3:v=0:a=1’ ’[a]’

報錯,雙引號呢?

-filter_complex '[0:0]' '[1:0]' '[2:0]' 'concat=n=3:v=0:a=1' '[a]'

也是報錯。

不測了不測了,就用這個吧:

ffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -filter_complex [0:0][1:0][2:0]concat=n=3:v=0:a=1[a] -map [a] -b:a 32k -ar 8000 4.mp3

總結

到此這篇關于解決java執行cmd命令調用ffmpeg報錯Concat error - No such filter ’’[0,0]’’問題的文章就介紹到這了,更多相關java執行cmd命令調用ffmpeg報錯內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
主站蜘蛛池模板: 成人在线视频免费看 | 午夜精品aaa国产福利 | 日韩在线视频免费 | 一级成人生活片免费看 | 视频在线观看大片 | 欧美视频在线一区二区三区 | 国产理论视频在线观看 | 高清性色生活片免费观看 | 毛片大片免费看 | 色老头xxxwww作爱视频 | 麻豆国产高清在线播放 | 国产精品夜夜春夜夜爽久久 | 一级特级欧美午夜片免费观看 | 国产免费女同性视频网站 | 国产一区二区视频在线 | 91在线视频免费91 | 美女三级毛片 | 久草免费在线色站 | 日韩一级片 | 成人青草亚洲国产 | 最新色图 | 国产精品日日做人人爱 | 在线免费你懂的 | 欧美黄色性视频 | 国产v综合v亚洲欧美大另类 | 九九国产精品九九 | 欧美日韩亚洲二区在线 | 日韩在线视频中文字幕 | 欧美亚洲专区 | 久99久爱精品免费观看视频 | 国产精品亚洲国产三区 | 一级特黄女人生活片 | 亚洲欧美精品久久 | 亚洲欧美日韩中文高清一 | 欧美精品综合 | 一级毛片日韩a欧美 | 在线观看精品视频 | 国产v亚洲v欧美v专区 | japanese国产在线中文 | 国产成 人 色综合 亚洲 | 亚洲欧美日韩闷骚影院 |