我正在尝试使用ffmpeg连接两个mp4文件.我需要这是一个自动过程因此我选择ffmpeg.我正在将这两个文件转换为.ts文件,然后将它们连接起来,然后尝试对该连接的.ts文件进行编码.文件是h264和aac编码,我希望保持质量相同或尽可能接近原始.
ffmpeg -i part1.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part1.ts
ffmpeg -i part2.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part2.ts
cat part1.ts part2.ts > parts.ts
ffmpeg -y -i parts.ts -acodec copy -ar 44100 -ab 96k -coder ac -vbsf h264_mp4toannexb parts.mp4
Run Code Online (Sandbox Code Playgroud)
不幸的是我在编码过程中收到来自ffmpeg的以下错误消息:
[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[NULL @ 0x101d600]error, non monotone timestamps 13779431 >= …Run Code Online (Sandbox Code Playgroud) 如何使用 ffmpeg 从视频中剪切一部分?
想象一下我有一个 60 秒的 mp4 A。
我想删除 0:15 到 0:45 之间的所有内容。
结果应该是一个 30 秒的 mp4,它由前 15 秒的A和后 15 秒的 组成A。
在不使用 concat 的情况下如何做到这一点?
我知道如何通过创建两个中间文件然后使用 ffmpeg 连接它们来做到这一点。我不想为此(简单?)操作执行如此多的手动工作。
我还看到过trim用于从视频中删除多个部分的文件夹。我发现的所有用法都表明它似乎非常冗长,并且我还没有找到像我想要的那样简单的案例示例(仅删除了一个部分)。
我必须使用修剪来执行此操作吗?或者还有其他不太冗长的解决方案吗?
当然,理想的情况至少是简单的,例如-ss 0:15 -to 0:45删除视频的结尾(-cut 0:15-0:45例如)。