【问题标题】:Gstreamer playing audio and video togetherGstreamer 一起播放音频和视频
【发布时间】:2013-03-10 06:16:56
【问题描述】:

我试图了解 gstreamer 管道。现在我想播放一个包含 h264 编码视频帧和 aac 编码音频样本的 mp4 视频。 为了播放视频样本,我使用了以下管道

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

但它不起作用。 如何同时播放音频和视频?

【问题讨论】:

    标签: h.264 gstreamer aac


    【解决方案1】:

    首先,当说某事不起作用时,请说明发生了什么。如果管道停止,您只是忘记了为解码器创建新线程的队列元素。

    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 (dot -Tsvg xxx.dot -o xxx.svg) 渲染它创建的点文件。

    【讨论】:

    • 这肯定行得通...我正在尝试了解管道..我正在寻找我们如何可以并行执行这些操作。
    • 如何使用音频和视频的单独文件/URL 来做到这一点?
    • 请发布一个新问题。您可以使用两个源(每个文件一个)及其各自的解码器和接收器。默认情况下,视频将同步到音频时钟。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多