Я пытаюсь настроить прямую трансляцию звука с камеры на веб-сервер.
В настоящее время я использую D-SRL для захвата видео / аудио через Firewire, а затем использую dvgrab в Ubuntu под управлением ffmpeg.
Моя машина (пример IP: 1.2.3.4) --------------------------------------> Интернет Сервер (пример IP: 5.6.7.8)
Вот код, который я запускаю с машины 1.2.3.4:
dvgrab - | ffmpeg -i - -vn -acodec copy -b:a 32k -ar 22050 -f ffm http://5.6.7.8:8090/feed1.ffm
Когда я запускаю эту команду, она просто висит без кодировки:
rom1394_0 warning: read failed: 0x0000fffff0000414
error reading config rom directory for node 0
ffmpeg 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
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Found AV/C device with GUID 0x0000850001d0089c
Waiting for DV...
Capture Started
[dv @ 0x1e9db80] Estimating duration from bitrate, this may be inaccurate
Input #0, dv, from 'pipe:':
Duration: N/A, start: 0.000000, bitrate: 28800 kb/s
Stream #0.0: Video: dvvideo, yuv420p, 720x576, 28800 kb/s, PAR 16:15 DAR 4:3, 25 tbr, 25 tbn, 25 tbc
Stream #0.1: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s
Stream #0.2: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s
И когда я делаю Control+C, он возвращает
^C
"": buffer underrun near: timecode ??:??:??.?? date 2013.10.14 23:08:55
This error means that the frames could not be written fast enough.
Страница состояния FFServer показывает входящее соединение, брандмауэр определенно не является проблемой.
2 | feed1.ffm | 1.2.3.4 | HTTP/1.1 | WAIT_FEED
Это отлично работает, если я запускаю это на веб-сервере
ffmpeg -i downloaded.ffm http://127.0.0.1:8090/feed1.ffm
Где download.ffm - это предварительно записанный файл с моего локального компьютера.
Что я могу сделать для того, чтобы ffmpeg правильно передавал потоковый dvgrab на мой веб-сервер?
Для справки, вот мой конфигурационный файл ffserver
Port 8090
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
<Feed feed1.ffm>
File /root/feed1.ffm
FileMaxSize 10M
</Feed>
<Stream live.webm>
Feed feed1.ffm
Format webm
NoVideo
AudioCodec vorbis
AudioChannels 1
AudioSampleRate 22050
AudioBitRate 32
Preroll 0
AVOptionAudio flags +global_header
</Stream>
<Stream live.ogg>
Feed feed1.ffm
Format ogg
NoVideo
AudioCodec vorbis
AudioChannels 1
AudioSampleRate 22050
AudioBitRate 32
Preroll 0
AVOptionAudio flags +global_header
</Stream>
<Stream status.html>
Format status
</Stream>
# Redirect index.html to the appropriate site
<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>
Спасибо.