FFserver-FFmpeg Отсутствует аудиопоток, который необходим
Я играл с ffserver и ffmpeg, чтобы установить поток в реальном времени с моей веб-камерой. Я однажды (фактически 4-5 раз) заставил это работать, но теперь каждый раз, когда я пытаюсь запустить сервер, я получаю эту ошибку: Отсутствует аудиопоток, который необходим для этого ffm.
Вот как я запускаю это:
ffserver -f ffserver.conf & ffmpeg -i /dev/video0 http://localhost:8090/feed1.ffm
Я пытался изменить многие вещи в ffserver.conf
файл, такой как другой формат видео / кодек, ставящий строку NoAudio, удаляющую его и т.д.... Я даже пытаюсь, с видеофайлом, содержащим аудио вместо камеры, это ничего не меняет... Я не могу заставить его работать больше,
Я в отчаянии, потому что я искал в Интернете ответ, но ничего не нашел... Я надеюсь, что некоторые люди здесь могут помочь или, по крайней мере, представить идеи или мысли, в этот момент я принимаю все!
3 ответа
Так что я нашел решение сам! Таким образом, вы должны добавить NoAudio в блок, чтобы убедиться, что это обязательно или нет, в зависимости от формата, который вы используете. Дело в том, что если вы попытались запустить ffserver, и он не работает, из-за некоторых ошибок в файлах ffserver.conf их недостаточно исправить, вам нужно закрыть оболочку, в которой вы пытались ее запустить, заново открыть новый Shell и повторите, в противном случае ошибка повторяется по некоторым сверхъестественным причинам.
То же самое для всех ошибок: вы должны исправить свой ffserver.conf, закрыть оболочку, в которой вы пытались его запустить, и открыть новую, чтобы попытаться запустить сервер снова.
Надеюсь, что это может помочь немногим из вас.
В моем случае проблема заключалась в том, что я использовал значение по умолчанию ffserver.conf
(как найдено в doc
каталог исходного дистрибутива и в /etc/ffserver.conf
пакета Ubuntu FFmpeg). По умолчанию ffserver.conf
имеет два разных <Stream>
блоки блоки, которые используют feed1.ffm
и я не осознавал этого, поэтому даже пометив первый блок потока как NoAudio
второй блок потока все еще требовал этого.
Переход на минимальный ffserver.conf
содержащий только блоки и директивы, мне нужно было это исправить.
Вам не нужно убивать саму оболочку (скорее всего, bash), а только ffserver
процесс, затем перезапустите его. Обычно это просто использование (в этом окне оболочки) Control-C, Стрелка вверх (или Control-P) и возврат.
Я бегу ffmpeg
изнутри /etc/ffserver.conf
файл с помощью Launch (в разделе Feed), поэтому перезапуск ffserver
делает все Базовая линия запуска может выглядеть так:
Launch ffmpeg -r 5 -i /dev/video0
Чтобы увидеть, запущены ли у вас какие-либо отклонения, используйте эту (довольно случайную команду) во втором окне: ps -ef | grep ff