Аудиопоток из файла с использованием ffmpeg

У меня есть требование для потоковой передачи содержимого аудиофайла, который постоянно обновляется с помощью ffmpeg, на другой компьютер в той же локальной сети. Я скачал ffmpeg статические сборки для Windows. Я понимаю способ указания IP-адреса и номера порта назначения в команде ‘ffmpeg’. Но я не могу понять, как указать имя файла для потоковой передачи. Как это сделать?

Нет никакого условия на формат аудиофайла. Это может быть любой формат.

1

Решение

WAV-файл — не лучший инструмент для буферизации закодированных данных для дальнейшей потоковой передачи.

Я бы предпочел использовать ffserver. Идея заключается в том, что ffmpeg кодирует поток и загружает его в «файл канала» ffserver, а клиенты (например, ваш «удаленный компьютер») получают поток (это может быть один и тот же поток в разных форматах) из ffserver по http или rtsp (rtp). ).

Просто добавьте туда аудиопоток, подключите ffmpeg к его каналу и подключите этот удаленный компьютер к потоку:

  • Определите отдельный поток в ffserver.conf:

    <Stream audio.sdp>
    Feed feed1.ffm
    Format rtp
    
    NoVideo
    AudioCodec libmp3lame
    AudioBitRate 64
    AudioSampleRate 22050
    </Stream>
    

или AVI (MPEGTS, FLV, что угодно)

    <Stream audio.avi>
Feed feed1.ffm
Format avi
...
  • начать кодирование / загрузку аудио на сервер:

    ffmpeg -i [Your source] http://localhost:[ffserver's port]/feed1.ffm
    
  • начните получать поток rtp (avi и т. д.) на этом «удаленном компьютере».

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector