我想流式传输我的网络摄像头,我尝试使用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)?
答案 0 :(得分:3)
要创建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>/"
实时Feed中的关键帧最多每2秒显示一次,因此key-int-max=<double framerate>
。
请注意,RTMP通过TCP工作,因此在糟糕的通道上会出现严重的延迟。
答案 1 :(得分:0)
看看中的rtsp-server示例 http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples