网址:https://mnmedias.api.telequebec.tv/m3u8/29880.m3u8
步骤 1:ffmpeg -i 'https://mnmedias.api.telquebec.tv/m3u8/29880.m3u8' -vf scale=w=1280:h=720:force_original_aspect_ratio=decrease -c:a aac - ar 48000 -b:a 128k -c:v h264 -profile:v main -crf 20 -g 48 -keyint_min 48 -sc_threshold 0 -b:v 2500k -maxrate 2675k -bufsize 3750k -hls_time 10 -hls_playlist_type vod -hls_segment_filename my_hls_video/ 720p_%03d.ts my_hls_video/720p.m3u8
第二步:
-i 'https://mnmedias.api.telquebec.tv/m3u8/29880.m3u8'
:=> 设置https://mnmedias.api.telequebec.tv/m3u8/29880.m3u8 为视频源。
-vf "比例=w=1280:h=720:force_original_aspect_ratio=decrease"
:=> 将视频缩放到 1280x720 内的最大可能值,同时保持纵横比
-c:a aac -ar 48000 -b:a 128k
:=> 将音频编解码器设置为 AAC,采样率为 48kHz,比特率为 128k
-c:v h264
:=> 将视频编解码器设置为 H264,这是 HLS 段的标准编解码器
-profile:v 主要
:=> 将 H264 配置文件设置为主 - 这意味着在现代设备中的支持阅读更多
-crf 20
:=> 恒定速率因子,整体质量的高水平因子
-g 48 -keyint_min 48
:=> 重要的是每 48 帧(~2 秒)创建关键帧(I 帧) - 稍后会影响片段的正确切片和再现的对齐
-sc_threshold 0
:=> 不要在场景变化时创建关键帧 - 仅根据 -g
-b:v 2500k -maxrate 2675k -bufsize 3750k
:=> 限制视频比特率,这些是特定于再现的,取决于您的内容类型 - 阅读更多
-hls_time 4 :
:=> 分段目标持续时间(以秒为单位) - 实际长度受关键帧限制
-hls_playlist_type 点播
:=> Sdds #EXT-X-PLAYLIST-TYPE:VOD 标签并将所有片段保留在播放列表中
-hls_segment_filename beach/720p_%03d.ts
:=> - 显式定义段文件名
my_hls_video/720p.m3u8 - 播放列表文件的路径 - 也告诉 ffmpeg 输出 HLS (.m3u8)