FFmpeg(HLS) - 按大小而不是时间(或限制段大小)拆分细分

问题描述 投票:0回答:1

所以我有一个带有以下参数的ffmpeg命令(在NodeJS中,但没关系):

'-start_number 0',
'-hls_key_info_file ' + HLSKEY_PATH,
'-hls_time 5',
'-hls_playlist_type vod',
'-hls_segment_filename seg-%d.ts'

一切都很好,但每个细分市场的大小都有问题。为什么ffmpeg不能按大小而不是时间创建细分?在这种情况下-hls_time 5。我希望做像-hls_size 4096这样的事情但是没有选择,至少从我所知道的。或者我可以至少设定一个限制?例如:“不要创建大于4MB的段,必要时再将它们拆分。”

我知道我可以再次对文件进行编码,然后不会有大小不同的段,但这对我来说不是选择和替代。

提前致谢!

ffmpeg hls fluent-ffmpeg
1个回答
0
投票

并非所有帧都具有相同数量的信息。视频压缩的工作方式是某些帧具有较少的信息而其他帧具有更多信息。从技术上讲,如果段的持续时间(以毫秒为单位)始终相同,则片段大小将无法相同。

我认为没有选择你所要求的。

有一个“-fs”(输出文件大小)命令,但我认为它可以限制整个输出的大小,而不仅仅是段。

在你的位置,如果分段大小困扰我,我只会将持续时间降低一秒,然后是两个,然后看看。祝好运。

© www.soinside.com 2019 - 2024. All rights reserved.