Just forgot to mention anything in my previous post, I'm using vlc to stream to darwin which forwards the stream using the appropriate (h264) rtp payload.
VLC creates a sdp file in /usr/local/movies (the default movies location for darwin streaming server on linux):
Code: Select all
v=0
o=- 1205938892850593 1 IN IP4 127.0.0.1
s=NONE
t=0 0
a=tool:vlc 0.8.6a
c=IN IP4 127.0.0.1
m=video 1232 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=3; config=000001b001000001b58913000001000000012000c48d8800cd0a041e1463000001b24c61766330642e35312e31312e30;
b=AS:1024
Darwin streaming server is detecting this sdp file and it is using information available to setup its input using a network stream. Here, 127.0.0.1:1232 is the input stream.
VLC probably calculates the video output stream port using the "port=1234" parameter. In RTP stream, each media stream generally uses an even number because RTCP streams may be sent on the following odd number (1235). But as there is audio and video, I suppose that VLC attributes this port to the audio stream and put the video on a lower port.
When VLC is killed from console (did not test kill -9 $pid), the output file test.sdp is automatically deleted from the file system.
Regarding my previous problem, I modified my input file using ffmpeg to avoid mp3-related issues:
Code: Select all
$ ffmpeg -i in/flv/bourneultimatum.flv -vcodec copy -acodec ac3 out/mpg/bourneultimatum2.mpg
FFmpeg version SVN-r12420, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-libmp3lame --enable-libx264 --enable-pthreads --enable-libfaac
libavutil version: 49.6.0
libavcodec version: 51.51.0
libavformat version: 52.9.0
libavdevice version: 52.0.0
built on Mar 12 2008 17:41:55, gcc: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
Input #0, flv, from 'in/flv/bourneultimatum.flv':
Duration: 00:01:20.4, start: 0.000000, bitrate: 8 kb/s
Stream #0.0: Video: flv, yuv420p, 320x240, 29.97 tb(r)
Stream #0.1: Audio: mp3, 22050 Hz, mono, 8 kb/s
File 'out/mpg/bourneultimatum2.mpg' already exists. Overwrite ? [y/N] y
Output #0, mpeg, to 'out/mpg/bourneultimatum2.mpg':
Stream #0.0: Video: flv, yuv420p, 320x240, q=2-31, 1000.00 tb(c)
Stream #0.1: Audio: ac3, 22050 Hz, mono, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
frame= 2411 fps= 0 q=-1.0 Lsize= 3196kB time=80.0 bitrate= 327.1kbits/s
video:2537kB audio:625kB global headers:0kB muxing overhead 1.059289%
Now when I stream using vlc, I have no error message:
Code: Select all
$ vlc -L -I dummy ~d2cs/media/out/mpg/bourneultimatum2.mpg --sout='#transcode{vcodec=mp4v,vb=1024,acodec=mp4a,ab=64,channels=2,width=320,height=240}:rtp{dst=127.0.0.1,port=1234,sdp=file:///usr/local/movies/test.sdp}'
VLC media player 0.8.6a Janus
[00000285] dummy interface: using the dummy interface module...
But no test.sdp file is created...
the same command line with -v gave me nothing interesting...