2016-12-05 17 views
-1

что я хочу сделать, это создать m3u8-file из входа alsa soundcard.Я хочу создать поток потоковой передачи HLS (HTTP Live Streaming) с использованием Gstreamer, но только аудио

Как:

arecord hw:1,0 -d 10 test.wav | gst-launch-1.0 .... 

Я попытался это для тестирования:

gst-launch-1.0 audiotestsrc ! audioconvert ! audioresample ! hlssink 

, но он не работает.

Благодарим за помощь.

ответ

0

Вы не можете напрямую создавать сегменты передачи видео HLS (.ts) из источника аудиосигнала. Вам нужно закодировать его с помощью некоторого кодировщика, а затем отключить его перед отправкой в ​​плагин hlssink.

Одна из проблем, с которыми вы столкнетесь, что hlssink плагин не будет разделять сегменты только с аудио потоком, так что вы собираетесь нужно что-то вроде keyunitsscheduler правильно разделить потоки и создавать файлы.

В качестве примера трубопровод с использованием voaacenc для кодирования аудио и mpegtmux с мультиплексором будет выглядеть следующим образом:

gst-launch-1.0 audiotestsrc is-live=true ! audioconvert ! voaacenc bitrate=128000 ! aacparse ! audio/mpeg ! queue ! mpegtsmux ! keyunitsscheduler interval=5000000000 ! hlssink playlist-length=5 max-files=10 target-duration=5 playlist-root="http://localhost/hls/" playlist-location="/var/www/html/hls/stream0.m3u8" location="/var/www/html/hls/fragment%05d.ts"