4

我想流式传输我的网络摄像头,我尝试使用 vlc,但在同一网络上的服务器和客户端之间出现 10-15 秒的延迟

vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 :v4l2-height=480 --sout="#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/live.ts}" -I dummy

现在我想测试 gstreamer,但找不到任何示例,如何使用 gstreamer 设置实时网络摄像头流(rtsp 或 http)?

4

2 回答 2

4

要创建 YouTube 直播活动,需要包含 x264+aac 的 RTMP 流。

gst-launch -v videotestsrc \
    ! video/x-raw-yuv,width=640,height=480,framerate=30/1 \
    ! x264enc key-int-max=60 \
    ! h264parse \
    ! flvmux name=mux \
    audiotestsrc ! queue ! audioconvert ! ffenc_aac ! aacparse ! mux. \
    mux. ! rtmpsink location="rtmp://<stream-server-url>/"

实时提要中的关键帧必须最多每 2 秒出现一次,因此key-int-max=<double framerate>.

请注意,RTMP 在 TCP 上工作,因此在坏通道上它会遭受很大的延迟。

于 2015-04-10T07:34:51.300 回答
0

查看http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples中的 rtsp-server 示例

于 2012-07-26T09:51:26.110 回答