如何使用FFMPEG的Java包装器库为{HLS}创建主播放列表

时间:2018-05-03 22:13:35

标签: java ffmpeg hls ffprobe

我正在尝试查找/使用包装FFMPEG的Java库来创建HLS兼容的段和元数据文件以及主元数据文件。

大多数现有的库执行编码很好,并允许额外的音频/视频参数的额外功能。但我找不到使用它们创建主元数据文件和其他基于分辨率/带宽/比特率的元数据+段的好方法。

我计划进行的一种方法是运行一段代码,为我多次执行HLS以适应不同的比特率,然后以编程方式查看元数据文件以组成主元数据文件。但这增加了错误的空间。

如果你知道现有的图书馆可以为我做这件事。请分享详细信息。这真的很有用。

库:

文档(请参阅主播放列表部分) https://developer.apple.com/library/content/referencelibrary/GettingStarted/AboutHTTPLiveStreaming/about/about.html

适用于我的FFMPEG命令行代码

ffmpeg -loglevel debug -threads 4 -vsync 1 -i 'id.mp4' -vf yadif -g 29.97 -r 29.97 -b:v:0 5250k -c:v libx264 -rc:v vbr_hq -pix_fmt yuv420p -profile:v main -level 4.1 -rc-lookahead 32 -forced-idr 1 -b:v:1 4200k -c:v libx264 -rc:v vbr_hq -pix_fmt yuv420p -profile:v main -level 4.1 -rc-lookahead 32 -forced-idr 1 -b:v:1 3150k -c:v libx264 -rc:v vbr_hq -pix_fmt yuv420p -profile:v main -level 4.1 -rc-lookahead 32 -forced-idr 1 -b:a:0 256k -b:a:0 192k -b:a:0 128k -c:a aac -ar 48000  -map 0:v -map 0:a:0 -map 0:v -map 0:a:0 -map 0:v -map 0:a:0 -f hls -var_stream_map "v:0,a:0  v:1,a:1 v:2,a:2" -master_pl_name  master.m3u8 -t 300 -hls_time 10 -hls_init_time 4 -hls_list_size 0 -master_pl_publish_rate 10 -hls_flags delete_segments+discont_start+split_by_time "vs%v_manifest.m3u8"

任何帮助将不胜感激。提前谢谢。

0 个答案:

没有答案