为什么我的“ffmpeg -ss -to”分割的结果有音频而没有视频?

时间:2018-04-09 09:09:44

标签: python ffmpeg mp4

我正在尝试使用ffmpeg将剪辑分成短时间间隔(我从csv中读取)。我正在使用的命令如下所示:

ffmpeg -i filename.mp4 -ss 00:00:00.030000 -to 00:00:02.030000   
-pix_fmt yuv420p -c copy new_filename.mp4

这成功地将父mp4分成许多较小的mp4,但较小的文件会丢失部分或全部视频。他们中的大多数最终只是音频。有些人有视频 - 但只有大约一半的剪辑(其余是黑色)。音频总是在那里。有什么想法可能会发生这种情况吗?

一些注意事项:我正在使用ffmpeg 3.0.2。此外,我将此命令创建为Python列表并使用以下调用

运行它
subprocess.run(cmd, stderr=subprocess.STDOUT)

1 个答案:

答案 0 :(得分:0)

Mulvya和szatmary的评论回答了这个问题。发布这些作为回答问题的答案。

  

“OP正在进行流式复制。如果你将-c copy更改为-c,则对OP:a   复制,它会工作。“ - Mulvya

     

“ - c拷贝不起作用,因为那时没有关键帧   范围。你必须重新编码。“-szatmary

Mulvya建议的解决方案是添加流说明符。我这样做了,得到了我想要的结果。这里有文档:https://ffmpeg.org/ffmpeg.html#Stream-specifiers-1