Thursday, January 24, 2008

ffmpeg RTP streaming


ffmpeg -vcodec mpeg4 -i D:\Media\vel1.mp4 -an -s 176x144 -vcodec rawvideo -f rtp rtp://127.0.0.1:5000/

while running this in a commandline, we got the following things in ffmpeg command informations.


I copied the following things in a rawvideo.sdp file and opened it in a
QuickTime player. Now the video is playing.


SDP:( this content will be generated by ffmpeg)
--------
v=0
o=- 0 0 IN IPV4 127.0.0.1
t=0 0
s=No Name
a=tool:libavformat
c=IN IP4 127.0.0.1
m=video 5000 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=1




2 comments:

Akshay Mishra said...

Nice !
I am not able to control frame rate though. It plays at high frame rate that is not understood by the stream player. Any clues ?

Ram said...

Hi,

I am not able to get this thing work - I have used the same command line as the sample above - the encoding stops soon:

ffmpeg -vcodec mpeg4 -i Source.mpg -an -s 176x144 -vcodec rawvideo -f rtp rtp:
//127.0.0.1:5000/
ffmpeg version CVS, build 4759, Copyright (c) 2000-2004 Fabrice Bellard
configuration: --enable-mp3lame --enable-faac --enable-faad --enable-amr_nb -
-enable-amr_wb --disable-ffplay --enable-small --enable-memalign-hack --enable-g
pl --enable-xvid --enable-dts --enable-a52 --disable-vhook --enable-pthread --en
able-x264
built on Dec 1 2005 17:25:10, gcc: 3.4.4 (cygming special) (gdc 0.12, using d
md 0.125)
Input #0, mpeg, from 'Source.mpg':
Duration: 00:00:59.7, start: 0.223367, bitrate: 8349 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv422p, 720x480, 29.97 fps, 8000 kb/s
Stream #0.1[0x1c0]: Audio: mp2, 48000 Hz, stereo, 224 kb/s
Output #0, rtp, to 'rtp://127.0.0.1:5000/':
Stream #0.0: Video: rawvideo, yuv422p, 176x144, 29.97 fps, q=2-31, 200 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1799 q=0.0 Lsize= 89838kB time=60.0 bitrate=12260.4kbits/s
video:89050kB audio:0kB global headers:0kB muxing overhead 0.883838%

whats wrong??