[gst-devel] X264 RTP streaming
Nicolas Hennion
nicolashennion at gmail.com
Fri Nov 27 16:43:01 CET 2009
Hi all,
i currently try to stream an SD video file (res:720x480, fps:24) on a
LAN with the following pipeline:
Serveur (fps=24 and bitrate=2048):
gst-launch -v --gst-debug-level=2 \
filesrc location="../Vidéos/big_buck_bunny_480p_stereo.ogg" \
! queue ! decodebin \
! queue ! videoscale method=1 ! video/x-raw-yuv,width=720,height=480 \
! queue ! videorate ! video/x-raw-yuv,framerate=24/1 \
! queue ! x264enc vbv-buf-capacity=1000 byte-stream=true
bitrate=2048 subme=4 ref=2 bframes=1 b-pyramid=true weightb=true \
! queue ! rtph264pay \
! queue ! udpsink port=5000 host=192.168.29.150 sync=false async=false
Client:
gst-launch -v --gst-debug-level=2 \
udpsrc caps="application/x-rtp, media=\(string\)video,
clock-rate=\(int\)90000, encoding-name=\(string\)H264,
payload=\(int\)96" port=5000 \
! queue ! gstrtpjitterbuffer latency=3000 \
! queue ! rtph264depay \
! queue ! ffdec_h264 ! xvimagesink
The stream is received and display but the bitrate between the server
and the client is not constant (between 2 an 3 Mbps).
When i change the configuratino and use the following pipeline on the server:
Serveur (fps=12 and bitrate=1024):
gst-launch -v --gst-debug-level=2 \
filesrc location="../Vidéos/big_buck_bunny_480p_stereo.ogg" \
! queue ! decodebin \
! queue ! videoscale method=1 ! video/x-raw-yuv,width=720,height=480 \
! queue ! videorate ! video/x-raw-yuv,framerate=24/2 \
! queue ! x264enc vbv-buf-capacity=1000 byte-stream=true
bitrate=1024 subme=4 ref=2 bframes=1 b-pyramid=true weightb=true \
! queue ! rtph264pay \
! queue ! udpsink port=5000 host=192.168.29.150 sync=false async=false
The stream is received and display (i confirm that the fps is 12) but
the bitrate is allows between 2 an 3 Mbps. I do not understant why the
bitrate=1024 is not used ?
Any idea ?
Nicolas
Configuration: Client and serveur: Ubuntu 9.04
GStreamer: last version 0.25
More information about the gstreamer-devel
mailing list