GStreamer如何合并多个mp4文件?

gst-launch-1.0 \
        filesrc location="/root/tmp_test/in1.mp4" \
        ! qtdemux name=demux1  \
        mp4mux  name=mux  \
        ! identity \
        ! filesink location="/root/tmp_test/out1.mp4" \
        demux1. ! queue ! h264parse disable-passthrough=true ! mux. \
        demux1. ! queue ! aacparse disable-passthrough=true ! mux.

如有文件 file1.mp4, 文件 file2.mp4。
需提取file1.mp4的00:15:23至00:17:00 和 file2.mp4的 00:02:00至00:05:10。

该怎么做呢,在不同源文件下生成同一目标文件。

filesrc....->....filesink 管道 属于pull模式,
filesrc只能在元素为ready或者null的状态时才允许切换locaiton,
当尝试转换状态后立即切换location,但是qtdemux报错,chain on pad demux:sink but it was not in push mode.

大家可有思路?

阅读 6.7k
1 个回答

建议使用 libav。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进