将 -vf 标志应用于 ffpmeg hls 转码时出现绿色像素化问题

将 -vf 标志应用于 ffpmeg hls 转码时出现绿色像素化问题

我正在尝试创建多个比特率的块,以便在各种设备和带宽上流畅播放它们。但 ffmpeg 命令输出正在创建绿色像素化视频。如果我删除-vf标记后问题就消失了。

分辨率为720p、480p、360p。

FFMpeg 命令720p

ffmpeg -i input.mp4 \
       -force_key_frames expr:gte(t,n_forced*2) \
       -vf "scale=720:-2,format=yuv420p" \
       -c:v libx264 -b:v 1000k -preset medium -profile:v main \
       -sc_threshold 0 \
       -f hls -hls_time 5 -hls_playlist_type vod -hls_segment_type fmp4 -hls_segment_filename file_%03d.m4s \
       -y \
       file.m3u8

这只发生在fmp4而不是.ts文件。像素化视频

答案1

看起来我没有正确创建主播放列表,导致视频像素化并带有绿屏。检查您是否正在做可变比特率具有多种分辨率和不同的比特率fmp4那么你的输出应该有多个初始.mp4(init1.mp4、init2.mp4 等)和正确的 master.m3u8 播放列表正确链接到每个片段。

相关内容