2013-03-10 2 views
0

Я пытался узнать о трубопроводах gstreamer. Теперь я хочу воспроизвести видео mp4, содержащее закодированные h264 кадры видео и аудиофайлы, закодированные aac. для воспроизведения образцов видео я использовал следующий трубопроводGstreamer играет аудио и видео вместе

gst-launch-0.10 filesrc location=~/samples/step_up_dance_1080p.mp4 ! qtdemux name=dmux dmux.video_00 ! h264parse ! ffdec_h264 ! autovideosink 

я использовал следующий конвейер для воспроизведения аудио в одиночку

gst-launch-0.10 filesrc location=~/samples/step_up_dance_1080p.mp4 ! qtdemux name=dmux dmux.audio_00 ! aacparse ! faad ! autoaudiosink 

Оба работают хорошо, но я хочу, чтобы объединить аудио и видео. Как мне это сделать ? Я попытался

gst-launch-0.10 filesrc location=~/samples/step_up_dance_1080p.mp4 ! qtdemux name=dmux dmux.video_00 ! h264parse ! ffdec_h264 ! autovideosink dmux.audio_00 ! aacparse ! faad ! autoaudiosink 

Но это не работает. Как воспроизвести аудио и видео вместе?

ответ

3

Во-первых, если вы говорите, что что-то не работает, сообщите, что произойдет. Поймите конвейерные стойки, вы просто забыли элементы очереди, которые создают новые потоки для декодеров.

gst-launch-0.10 filesrc location=~/samples/step_up_dance_1080p.mp4 ! qtdemux name=dmux dmux.video_00 ! queue ! h264parse ! ffdec_h264 ! autovideosink dmux.audio_00 ! queue ! aacparse ! faad ! autoaudiosink 

Просто использовать playbin проще. Взгляните на схему трубопровода.

GST_DEBUG_DUMP_DOT_DIR=$PWD gst-launch-0.10 playbin2 uri=file://$HOME/samples/step_up_dance_1080p.mp4 

и визуализировать точечные файлы, созданные с помощью Graphviz (точка -Tsvg xxx.dot -o xxx.svg).

+0

Это будет работать наверняка ... Я пытался узнать о трубопроводах .. Я искал, как мы можем делать это параллельно. – jithin