使用 gstreamer 分割/分割视频流

Sai*_*ira 3 video gstreamer

有没有办法将视频分成指定长度的片段?即将 60 分钟的视频变成 12x5 分钟。

reg*_*arg 6

在不重新编码且不丢失帧的情况下执行此操作的“官方”方法似乎是使用以下splitmuxsink元素:

例如对于 MKV 文件输入:

gst-launch-1.0 filesrc location=input.mkv ! matroskademux ! h264parse ! splitmuxsink location=file%02d.mkv max-size-time=300000000000 muxer=matroskamux
Run Code Online (Sandbox Code Playgroud)

max-size-time给出在纳秒(原文如此)的段长度,因此,上述值是5分钟。因为它在关键帧上进行切割,所以实际的片段长度不会正好是 5 分钟,而是会有几秒钟的变化。