下面以Linux環(huán)境介紹為主
1.ffmpeg可執(zhí)行命令不同的環(huán)境是不同的,Linux在執(zhí)行命令前還需要授權。
2.合并視頻命令:
主要命令: {} -f concat -auto_convert 0 -safe 0 -i {} -y -c:v copy
坑一:其中第一個花括號替換的是可執(zhí)行命令所在的絕對路徑,這里必須要使用ffmpeg的絕對路徑,因為把應用打成jar包是無法獲取到絕對路徑的,具體可參考:Jar包啟動通過ClassPathResource獲取不到文件路徑問題_classpathresource找不到文件_DanceDonkey的博客-CSDN博客
解決:但是我的可執(zhí)行文件又無法使用流的方式讀取,所以只能讓運維把ffmpeg的可執(zhí)行文件放到生產(chǎn)環(huán)境一個固定路徑。
坑二:第二個花括號的值 =》是將原來多個視頻的路徑放到一個txt文件里面,這個值就是這個txt文件的決定路徑。
之前我是將原多個視頻的路徑一個個跟在填充到第二個花括號里面,類似這種
發(fā)現(xiàn)一直保存,找不到文件。最后發(fā)現(xiàn)必須將這兩個mp4的絕對路徑按照一定的格式寫入到txt文件中,然后把花括號替換這個txt文件的絕對路徑才不會報錯。
?
?坑三:
?使用Runtime.getRuntime().exec 執(zhí)行命令,發(fā)現(xiàn)這個命令是異步的,意思是大文件視頻還沒合成完,主線程就已經(jīng)執(zhí)行完了,這顯然是不能接受的,于是加了一行
process.waitFor(); 測試環(huán)境驗收完畢,已經(jīng)就這樣結束了,到生產(chǎn)才發(fā)現(xiàn)只要執(zhí)行合并命令就會卡死,最后參考了這個貼子才解決
https://www.cnblogs.com/163yun/p/9878915.html
java關于ffmpeg推流停止的問題_ffmpeg停止推流_qq_35629433的博客-CSDN博客
?
關于ffmpeg的可執(zhí)行包已上傳文章來源:http://www.zghlxwxcb.cn/news/detail-600495.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-600495.html
到了這里,關于使用ffmpeg合并視頻遇到的坑的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!