VL C: Как транслировать волну через HTTP - PullRequest
0 голосов
/ 06 января 2020

Я хочу передать с моего rapsberry микрофон через HTTP с VL C.

Эта команда работает нормально:

vlc -vvv alsa://hw:1,0 --sout '#transcode{vcodec=none,acodec=mpga,ab=128,channels=2,samplerate=44100}:standard{access=http,mux=mp3,dst=192.168.178.30:8080}'

Но при изменении кода на s16l и mux to wav Я ничего не слышу в VL C.

Это команда, которую я пробовал:

vlc -vvv alsa://hw:1,0 --sout '#transcode{vcodec=none,acodec=s16l,channels=1,samplerate=16000,scodec=none}:standard{access=http,mux=wav,dst=192.168.178.30:8080}' 

Bu тот же код c с использованием RTP работает:

vlc -vvv alsa://hw:1,0 --sout '#transcode{vcodec=none,acodec=s16l,channels=1,samplerate=16000,scodec=none}:rtp{dst=192.168.178.30,port=1234,sdp=rtsp://192.168.178.30:8080/test.sdp}'

Некоторые журналы: https://gist.github.com/timaschew/9e7e027cd1b371b01b0f186f23b47068

Ответы [ 2 ]

1 голос
/ 08 января 2020

Wave - это тип файлового контейнера, он может содержать различные типы кода c данные (сжатые / несжатые).

[Wiki]

Аудиовход Файлы WAV могут быть закодированы в различных форматах аудиокодирования, таких как GSM или MP3, чтобы уменьшить размер файла.

Это ссылка для сравнения монофонического c (не стереофонического c) аудио качество и скорость сжатия форматов аудио кодирования, доступных для файлов WAV, включая PCM, ADPCM, Microsoft GSM 06.10, CELP, SB C, Truespeech и MPEG Layer-3.

Для потоковой передачи по HTTP с использованием VL C

Выберите код c, который вам нужен для потоковой передачи, например, mp3-код c.

Примечание. Примешивание здесь не применимо

1 голос
/ 07 января 2020

Не все кодеки могут быть мультиплексированы, проверьте VL C документация .

В настоящее время PCM (волна) может быть мультиплексирована только в RTP.

mux метод инкапсуляции, необходимый для потоковой передачи. wav в VL C - контейнер, предназначенный для хранения.

...