Скажите ffserver, который отслеживает использование

Я хочу транслировать видео через ffserver. Мои видеоролики находятся в форматах контейнеров, таких как mkv и avi, и иногда имеют несколько аудио / видео дорожек. Как я могу сказать ffserver, какой трек использовать? Кажется, что всегда первый.

Если вы посмотрите на эту страницу, они покажут эту технику использования ffmpeg, чтобы сделать разрез, а затем перенаправить его на ffserver:

$ ffmpeg \ -f v4l2 -s 320x240 -r 25 -i /dev/video0 \ -f alsa -ac 1 -i hw:0 \ http://localhost:8090/feed1.ffm 

Вышеупомянутая команда выполняет следующие действия:

  • Первая часть -f v4l2 -s 320x240 -r 25 -i /dev/video0 представляет первый вход для ffmpeg и захватывает наше видео в веб-камере. Для получения дополнительной информации вы можете узнать больше о том, как захватить ввод веб-камеры.
  • Вторая часть -f alsa -ac 1 -i hw:0 представляет второй вход для ffmpeg и захватывает наш звук, в зависимости от конфигурации системы. Для получения дополнительной информации вы можете узнать больше о записи звука с помощью FFmpeg и ALSA.
  • Последняя, ​​но не менее важная часть http://localhost:8090/feed1.ffm представляет URL-адрес фида, который сообщает ffmpeg подключиться к ffserver и отправлять ему аудио + видеопотоки для трансляции. В этом примере мы использовали имя хоста localhost что означает, что все работает на нашем компьютере, но если вам нужно кормить живой онлайн-ffserver, вам нужно будет изменить localhost на реальное имя хоста или IP-адрес вашего компьютера ffserver. Также убедитесь, что ваше имя фида заканчивается на .ffm и если это не так, добавьте -f ffm перед URL вашего канала, чтобы вручную указать выходной формат (потому что ffmpeg больше не сможет автоматически определить его) , например -f ffm http://localhost:8090/blah.bleh .

Как только вы наберете команду выше, вы увидите, что ffmpeg отображает некоторые статистические данные о ваших входных потоках и подсчете выходных кадров, что является довольно хорошим признаком того, что все работает (пока).