gstreamer rtsp流媒体链与LGPL元素

时间:2015-07-18 10:16:43

标签: ffmpeg gstreamer

以下链似乎可以很好地传输视频:

gst-launch filesrc location=/home/manusha/Downloads/movies/<movie file>.mkv ! decodebin ! ffenc_mpeg4 bitrate=5000000 ! rtpmp4vpay mtu=1400 pt=96 ssrc=0 timestamp-offset=0 seqnum-offset=0 send-config=true ! udpsink host=127.0.0.1 port=5000

这个链能够接收流并播放它:

gst-launch udpsrc uri=udp://127.0.0.1:5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d88007d0a041e1463000001b24c61766335322e3132332e30, payload=(int)96, ssrc=(uint)298758266, clock-base=(uint)3097828288, seqnum-base=(uint)63478" ! rtpmp4vdepay ! ffdec_mpeg4 ! autovideosink

我的问题是,ffdec_mpeg4和ffenc_mpeg4都是GPL许可的,不适合我的目的,因为我需要重新发布它们。我正在寻找有关替代流链的建议,我只能使用LGPL许可元素。流媒体仅在局域网内使用,但需要支持高清质量流媒体。

2 个答案:

答案 0 :(得分:1)

ffdec_mpeg4和ffenc_mpeg4不是严格的GPL,它们是GStreamer的FFmpeg插件集(或Libav)的一部分,并且是LGPL子集中的容器。您只需要使用LGPL插件重新编译gst-libav / gst-ffmpeg(不要使用configure --enable-gpl,您的构建可能会使用它),并且您将获得相同的内容LGPL许可下的插件(参见config.h中的GST_LIBAV_ENABLE_GPL)。

答案 1 :(得分:0)

您必须使用以下命令重建它

    sudo ./configure --enable-lgpl '--prefix=/usr'
    make 
    sudo make install