Hello Linux experts,
I'm working on live video streaming project, and my job is to create video streaming server using
Ubuntu 13.04
Here is what I've done so far:
- Installed crtmpserver from Ubuntu's repositories.
- Installed ffmpeg
To test the server i use webcam as source of video, and the following command:
avconv -f video4linux2 -i /dev/video0 -f flv -an -metadata streamName="test" tcp://localhost:6666
The command output is:
avconv version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
built on Mar 30 2013 22:20:06 with gcc 4.7.2
[video4linux2 @ 0x25b79e0] Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2, from '/dev/video0':
Duration: N/A, start: 14840.930660, bitrate: 147456 kb/s
Stream #0.0: Video: rawvideo, yuyv422, 640x480, 147456 kb/s, 30 tbr, 1000k tbn, 30 tbc
Incompatible pixel format 'yuyv422' for codec 'flv', auto-selecting format 'yuv420p'
[buffer @ 0x25b92e0] w:640 h:480 pixfmt:yuyv422
[avsink @ 0x25a5160] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x25a5840] w:640 h:480 fmt:yuyv422 -> w:640 h:480 fmt:yuv420p flags:0x4
Output #0, flv, to 'tcp://localhost:6666':
Metadata:
streamName : test
encoder : Lavf53.21.1
Stream #0.0: Video: flv, yuv420p, 640x480, q=2-31, 200 kb/s, 1k tbn, 30 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo -> flv)
Press ctrl-c to stop encoding
So far so good, BUT when I try to play the stream with mplayer from another console with the command:
mplayer rtmp://localhost/live/test mplayer is stalled for very long time (10-15 min.) before the video starts.
If in the meantime I terminate the avconv command, the video is being shown immediately by mplayer.
I tryied the following mplayer options without success:
-nosound
-nocache
different combinations of -cachie N
I had success with this flash player: Flash RTMP Player - Live Video Streaming
But there is about 3 sec. delay which is too much for me.
Please advice me how can I make mplayer play the video as soon as possible ?
Here is the mplayer output:
mplayer rtmp://localhost/live/test
MPlayer2 UNKNOWN (C) 2000-2012 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing rtmp://localhost/live/test.
Forced lavf FLV format demuxer
Detected file format: libavformat
Thank you in advance.