Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios FFMpeg hls_时间精度_Ios_Video_Time_Ffmpeg_Http Live Streaming - Fatal编程技术网

Ios FFMpeg hls_时间精度

Ios FFMpeg hls_时间精度,ios,video,time,ffmpeg,http-live-streaming,Ios,Video,Time,Ffmpeg,Http Live Streaming,我正在使用ios应用程序中的ffmpeg库将mp4视频转换为HLS。我想保持ts文件的持续时间正好为10秒。所以我把下面的代码 av_opt_set_int(formatContext->priv_data, "hls_time", 10, AV_OPT_SEARCH_CHILDREN); 但是结果并不完全是10秒,持续时间大约是10秒,比如说11秒、12秒、9秒等等。有什么方法可以从ffmpeg中获得精确的10秒片段吗?每个HLS数据包必须从一个关键帧开始,并且这些关键帧在源中的位置似

我正在使用ios应用程序中的
ffmpeg
库将mp4视频转换为HLS。我想保持ts文件的持续时间正好为10秒。所以我把下面的代码

av_opt_set_int(formatContext->priv_data, "hls_time", 10, AV_OPT_SEARCH_CHILDREN);

但是结果并不完全是10秒,持续时间大约是10秒,比如说11秒、12秒、9秒等等。有什么方法可以从ffmpeg中获得精确的10秒片段吗?

每个HLS数据包必须从一个关键帧开始,并且这些关键帧在源中的位置似乎是可变的

FFmpeg将尽最大努力将文件剪切成10秒的数据包,但如果在某个点上,两个关键帧之间的间隔为12秒,则该段将为12秒


除了重新编码源代码并设置恒定的关键帧间隔外,您没有什么可做的。

谢谢。你知道设置关键帧的C代码吗。