потоковое flv с помощью ffserver

Я запускаю Debian для моего домашнего сервера, который является машиной, которая живет под телевизором в гостиной и хранит семейные фотографии, видео, музыку и т. д. Я использую все обычные службы, чтобы обслуживать тех, кто их заслуживает, и все это работает. Пока все хорошо.

не могу заставить своих детей использовать такие вещи, как ftp или даже электронную почту, для них "internetz" означает веб-браузер. В Firefox обычно. Поэтому я использую apache2 для обслуживания cgi-страниц, созданных из кода, скомпилированного мной, написанного в C. И это все работает.

поэтому я хочу иметь возможность транслировать музыку, фильмы, телевизионные записи и т. д. для веб-браузеров, и несмотря на появление тега media в html5, flash по-прежнему остается единственным практическим решением, которое действительно работает.

Я был в состоянии получить программу cgi для преобразования mp3, avi и так далее, чтобы прошить как flv файлы с помощью ffmpeg, по требованию от пользователя, хранящиеся во временном файле под DOCUMENT_ROOT и браузер будет играть их, и что завод. е.например:

ffmpeg -i "/home/media/Audio/Music Videos/Kylie Minogue - Come Into My World.mpg" -sameq -ab 32k -ar 22050 -ac 2 -s 320x240 -f flv -y ../tmp/file9ltYxj.flv

хорошо, так что нет никакого учета вкуса-Слушай, я хэви-метал, но этот вид-работа гения! 🙂 Но это не идеально, с одной стороны, он занимает место, создавая все эти файлы tmp, а для другого вызова ffmpeg для выполнения преобразования вызывает загрузку страницы, чтобы повесить, пока он завершает задачу. Это нормально для пятиминутного музыкального видео, но я сомневаюсь, что firefox будет ждать двухчасового фильма для преобразования с помощью этого метода.

поэтому я хочу поток их использовать ffstream. Я выполняю эту строку (как root):

ffserver -d -f /etc/ffserver.conf &

и cgi выполняет следующее:

ffmpeg -i "/home/media/Audio/Music Videos/Kylie Minogue - Come Into My World.mpg" -sameq -ab 32k -ar 22050 -ac 2 -s 320x240 -f flv -y http://localhost:8090/feed1.flv

и вот тут у меня начинаются неприятности. Страница загружается, вспышка встраивается, но ничего не показывает. отчеты ffserver:

Mon Apr 15 09:29:38 2013 New connection: GET /feed1.flv
Mon Apr 15 09:29:38 2013 192.168.0.33 - - [GET] "/feed1.flv HTTP/1.1" 404 149

Я получаю 404, но прежде чем я получал 200, не уверен, почему это изменилось. Но будь то 404 или 200, страница одинакова; загружена, но нет видеопотока.

Я действительно мог бы с кем-то, кто задаст мне дополнительные вопросы (не уверен, что добавить), и, надеюсь, заставит меня встать и работать с этим, потому что у меня осталось не так много волос, и моя жена хочет, чтобы я покрасил столовую.

может ли кто-нибудь посоветовать, где я могу пойти не так?

5
задан Lee
источник

1 ответов

в вашем случае FFmpeg должен предоставить выходной файл в виде потокового файла, так как в противном случае ваш файл еще не готов к потоковой передаче. Обычно это делается в формате FFM:

ffmpeg -i "/home/media/Audio/Music Videos/Kylie Minogue - Come Into My World.mpg" -ab 32k -ar 22050 -ac 2 -s 320x240 -y http://localhost:8090/feed1.ffm

затем на вашем сервере.файл conf вы можете передавать поток FFM на FLV:

<Feed feed1.ffm>
    File /feed1.ffm
</Feed>

<Stream feed1.flv>
    Feed feed1.ffm
    ...
</Stream>
2
отвечен Nick van Tilborg 2013-04-15 13:34:14
источник

Другие вопросы apache-http-server debian ffmpeg flash