【问题标题】:Compress mpeg stream and send through network gstreamer压缩mpeg流并通过网络gstreamer发送
【发布时间】:2015-10-08 22:28:13
【问题描述】:

我想构建一个管道,通过网络使用 gstreamer 1.0 发送 mpeg 文件。我尝试了一些管道和示例,但该元素既不为人所知,也无法链接两个元素。

谁能给我看一个管道,例如发送方和接收方的 udp 协议?或者有人给我一些提示?

我目前使用的是 Ubuntu 14.04

【问题讨论】:

    标签: gstreamer mpeg gst-launch


    【解决方案1】:

    最好添加您尝试过的代码/脚本和收到的错误消息。例如,以下对我有用,

    发送端:从视频文件中获取原始视频,H.264编码,RTP打包并转储到UDP端口5000,

    gst-launch-1.0 uridecodebin uri=file://`pwd`/sample.mpg ! x264enc ! h264parse ! rtph264pay ! udpsink host=127.0.0.1 port=5000
    

    接收端:从 UDP 端口 5000 读取 RTP 数据包,获取视频数据(GStreamer 术语中的 depay),解码为原始视频并播放。

    gst-launch-1.0 udpsrc port=5000 ! application/x-rtp, encoding-name=H264,payload=96 ! rtph264depay ! decodebin ! autovideosink
    

    【讨论】:

    • 非常感谢您对 Baris 的回答。我已经找到了一种建造好管道的方法。我想向仍在搜索的人推荐,在 src 和 rtpdepay 之间添加一个 rtpjitterbuffer。这将允许您避免视频滞后和管道末端的 sync=false (因为这是避免视频滞后的丑陋解决方法)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多