现在想合并两个mp4文件,但是一直报错,不知道是哪里使用出现问题。
ubuntu 12.04
gstreamer 1.2.3
gst-launch-1.0 --gst-debug-level=3 \
mp4mux name=mp4mux \
! filesink location="/VodDir/commbine_test.mp4" \
\
videomixer name=videomixer background=1 \
sink_1::xpos=0 sink_1::ypos=0 sink_2::xpos=60 sink_2::ypos=60 \
! queue \
! x264enc speed-preset=4 \
! mp4mux. \
\
filesrc location="/VodDir/wildlife_h264.mp4" ! qtdemux name=qtdemuxer_1 \
qtdemuxer_1. ! queue ! h264parse disable-passthrough=true
! avdec_h264 ! videorate ! videomixer. \
qtdemuxer_1. ! queue ! aacparse disable-passthrough=true ! mp4mux. \
filesrc location="/VodDir/wildlife_h264.mp4" ! qtdemux name=qtdemuxer_2 \
qtdemuxer_2. ! queue ! h264parse disable-passthrough=true
! avdec_h264 ! videorate ! videomixer. \
qtdemuxer_2. ! queue ! aacparse disable-passthrough=true ! mp4mux.
错误信息
Setting pipeline to PAUSE...
Pipeline is PREROLLING...
WARN qtdemux qtdemux_type
s.c:196:qtdemux_type_get: unknow QuickTime node type iods
WARN qtdemux qtdemux_type
s.c:196:qtdemux_type_get: unknow QuickTime node type btrt
WARN qtdemux qtdemux qtdemux.c:79
75:qtdemux_parse_trak:<qtdemuxer_1>unknown version 00000000
Redistribute latency...
Redistribute latency...
然后就卡在这里动不了了~~
给x264enc加上tune参数zerolatency.
gst-launch-1.0 --gst-debug-level=4 \
mp4mux name=mp4mux \
! filesink location="/VodDir/commbine_test.mp4" \
\
videomixer name=videomixer background=1 \
sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=60 sink_1::ypos=60 \
! queue \
! x264enc speed-preset=4 tune=4 \
! mp4mux. \
\
filesrc location="/VodDir/mp4_cut_and_cat_2.mp4" ! qtdemux name=qtdemuxer_1 \
qtdemuxer_1. ! queue ! h264parse disable-passthrough=true ! avdec_h264 ! videorate ! videomixer. \
qtdemuxer_1. ! queue ! aacparse disable-passthrough=true ! mp4mux. \
\
filesrc location="/VodDir/wildlife_h264.mp4" ! qtdemux name=qtdemuxer_2 \
qtdemuxer_2. ! queue ! h264parse disable-passthrough=true ! avdec_h264 ! videorate ! videomixer. \
qtdemuxer_2. ! queue ! aacparse disable-passthrough=true ! mp4mux.