0

我想做的是m3u8-filealsa soundcard输入中创建一个。

喜欢:

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

我试过这个进行测试:

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

但它不起作用。

感谢您的帮助。

4

1 回答 1

2

您不能从音频原始源直接创建 HLS 视频传输段 (.ts)。您需要使用一些编码器对其进行编码,然后在发送到 hlssink 插件之前对其进行复用。

您将遇到的问题之一是 hlssink 插件不会仅使用音频流拆分片段,因此您将需要keyunitsscheduler之类的东西来正确拆分流并创建文件。

使用 voaacenc 将音频和 mpegtmux 编码为 mux 的示例管道如下:

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"
于 2017-01-04T10:51:16.930 回答