问一个多分片合并成一个分片的问题。
ffmpeg吧
全部回复
仅看楼主
level 1
现在有2060个.ts分片,想合并转换成.mp4. 通过命令ffmpeg -i "concat:001.ts|002.ts|003.ts.........." -codec copy output.mp4。 但是弹出too many open files ,搜索了半天 全是 linux的解决方案,没有windows的。
我看一些程序的操作方法是把TS分片先合成成十个左右的大TS分片,然后再进行MP4合成转换。 我试了一下只有把数量压到2000个以下才能合成。结果2064之后的最后一部分分片在合成第二个大TS分片时,又弹出No such file or directory 。 后面大概200多个TS分片,不停的尝试一段一段的分开合并都提示No such file or directory ,最夸张的是直接2个分片合并都提示No such file or directory ,不知道什么原因。
试着用 ffmpeg -f concat -i x.txt -codec copy output.mp4 虽然可以,但是音频和视频参数都与 -i "concat:001.ts|002.ts|003.ts.........." -codec copy output.mp4 不同。 -i "concat:001.ts|002.ts|003.ts.........." -codec copy output.mp4 合成转换出来的视频的帧率最小和最大均是29.7 而用txt列表合成出来的最低帧只有14.9 最高帧有80多。
另外我还试了直接用CMD命令 copy /b *.ts output.mp4 可以合成转换,但是总时长少了近1分钟,但是结尾的画面却没有问题。音频参数里有个延迟参数 数值为-33MS. 所以我觉得copy /B也不靠谱。
2021年05月27日 12点05分 1
level 8
m3u8分片都有索引的啊,直接 -i 索引文件 不就完了么
2021年05月31日 01点05分 4
@oceantripper 最后我还是在虚拟机里的linux通过改大最多打开文件数 来通过|分隔符手动输入分片名称的方式合并。windows不知道如何修改。参数上的显示差异应该不影响实际使用,下次我就直接copy /B先合并成一个大TS然后再用FF去转成MP4。
2021年05月31日 05点05分
1