Есть задача организовать вещание видео по сети. Через git скачал ffmpeg и скомпилировал ffmpeg и ffserver.
Написал конфигурационный файл:
Код: Выделить всё
# cat /etc/ffserver.conf
Port 8090
BindAddress 0.0.0.0
NoDaemon
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 200K
ACL allow 127.0.0.1
</Feed>
<Stream test.mpeg>
Feed feed1.ffm
Format mpeg
VideoHighQuality
Video4MotionVector
NoAudio
</Stream>
<Stream file.avi>
Format avi
File "/opt/1.avi"
</Stream>
<Stream stat.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.0.255
</Stream>Страница stat.html доступна.
Файл 1.avi я нормально просматриваю через mplayer 1.0rc1-4.1.2-DFSG-free:
Код: Выделить всё
Playing http://192.168.0.32:8090/file.avi.
Connecting to server 192.168.0.32[192.168.0.32]: 8090...
Cache size set to 320 KBytes
Cache fill: 0.00% (0 bytes)
AVI file format detected.
** empty list?!
VIDEO: [XVID] 384x288 12bpp 25.000 fps -67.2 kbps (-8.2 kbyte/s)
Clip info:
Software: Lavf52.22.1
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] This driver only supports the 3Dfx Banshee, Voodoo3 and Voodoo 5.
[VO_3DFX] Unable to open /dev/3dfx.
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 384 x 288 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [xv] 384x288 => 384x288 Planar YV12
A: 4.5 V: 4.5 A-V: 0.010 ct: -0.002 114/114 2% 0% 1.5% 0 0 37%На данный момент я не могу ответить на два вопроса:
- при попытке организовать поток test.mpeg следует ошибка
при попытке направить в поток файл 1.avi
Код: Выделить всё
# ffmpeg -i /opt/1.avi http://localhost:8090/feed1.ffm
Input #0, avi, from '/opt/1.avi':
Duration: 00:09:02.84, start: 0.000000, bitrate: 1811 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 384x288 [PAR 1:1 DAR 4:3], 25.00 tb(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 112 kb/s
http://localhost:8090/feed1.ffm: I/O error occurred
Usually that means that input file is truncated and/or corrupted.при попытке направить в поток файл сохраненный с видеовхода и аппаратно кодированный
Код: Выделить всё
# ffmpeg -i /var/1.mpeg4 http://localhost:8090/feed1.ffm
Seems stream 0 codec frame rate differs from container frame rate: 30.00 (30/1) -> 25.00 (25/1)
Input #0, m4v, from '/var/1.mpeg4':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: mpeg4, yuv420p, 720x480 [PAR 1:1 DAR 3:2], 25.00 tb(r)
http://localhost:8090/feed1.ffm: I/O error occurred
Usually that means that input file is truncated and/or corrupted.Сам по себе файл 1.mpeg4 нормально просматривается mplayer-ом:
Код: Выделить всё
Playing nfs/busybox/var/1.mpeg4.
MPEG-ES file format detected.
FPS seems to be: 30.000000
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] This driver only supports the 3Dfx Banshee, Voodoo3 and Voodoo 5.
[VO_3DFX] Unable to open /dev/3dfx.
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Audio: no sound
Starting playback...
VDec: vo config request - 720 x 480 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.50:1 - prescaling to correct movie aspect.
VO: [xv] 720x480 => 720x480 Planar YV12
V: 0.0 119/119 17% 0% 0.0% 0 0Собственно во всех случаях проблема с http://localhost:8090/feed1.ffm: I/O error occurred и как ее решить я не могу понять.
- файл удается просмотреть только mplayer-ом
подозреваю что это связано с некими особенностями организации потока ffserver-ом, пробовал просматривать vlc 0.8.6a Janus - звук вроде идет, а видео нет
Поиск в сети по поводу ошибку I/O ничего не дал.
В чем может быть проблема?
Спасибо.