以编程方式创建和更新HLS播放列表

时间:2018-02-26 10:31:42

标签: macos ffmpeg http-live-streaming

我有一个C ++应用程序,它记录来自我的默认输入设备的音频,以AAC格式对其进行编码并写入.aac文件。我想使用HTTP Live Streaming直播这个AAC文件。根据{{​​3}},我必须创建一个FFMPEG脚本,将我的音频文件拆分为多个.ts文件。

# bitrate, width, and height, you may want to change this
BR=512k
WIDTH=432
HEIGHT=240
input=${1}

# strip off the file extension
output=$(echo ${input} | sed 's/\..*//' )

# works for most videos
ffmpeg -y -i ${input} -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s ${WIDTH}x${HEIGHT} -vcodec libx264 -b ${BR} -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 7 -trellis 0 -refs 0 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate ${BR} -bufsize ${BR} -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 30 -qmax 51 -qdiff 4 -level 30 -aspect ${WIDTH}:${HEIGHT} -g 30 -async 2 ${output}-iphone.ts

(在我的情况下略有不同,因为我只使用音频)

我可以在C ++中以编程方式执行此操作吗?如果是这样,我是否必须使用第三方库或者macOS是否提供本机函数?

1 个答案:

答案 0 :(得分:0)

不,你不必拆分它(你可以把字节偏移放到m3u8中)而且你不需要我们。 HLS支持.aac文件。是的,您可以编程方式制作没有库的m3u8。 C ++或任何其他编程语言都有能力。

相关问题