for*_*aka 10 ffmpeg streaming h.265 hls
我正在尝试将h264视频转换为使用h265编解码器的 hls 流。由于这bitmovin文章指出,我们需要使用fragmented mp4的hls/h265流工作在Safari。
我可以使用此命令正确转换h264为h265
ffmpeg -i input.mp4 -c:v libx265 -tag:v hvc1 out.mp4
Run Code Online (Sandbox Code Playgroud)我可以使用此命令将输入视频 ( h264)转换为 hls ( fragmented mp4)
ffmpeg -y -i input.mp4 \
-c copy -hls_segment_type fmp4 -hls_time 6 -hls_list_size 10 \
-hls_flags delete_segments+append_list+split_by_time \
-hls_playlist_type vod manifest.m3u8
Run Code Online (Sandbox Code Playgroud)现在,当我通过指定使用上述命令时h265,输出 hls 流在 Safari 中不起作用。它抛出这个错误
Plugin Handled Load
Run Code Online (Sandbox Code Playgroud)
命令
ffmpeg -y -i input.mp4 \
-vf scale=640:360 -c:v libx265 -tag:v hvc1 -c:a copy \
-hls_segment_type fmp4 -hls_time 6 -hls_list_size 10 \
-hls_flags delete_segments+append_list+split_by_time \
-hls_playlist_type vod manifest.m3u8
Run Code Online (Sandbox Code Playgroud)
这里可能有什么问题?
小智 3
我今天在 macOS 10.14.3 上使用 ffmpeg 4.1.1 对此进行了测试,它似乎工作得很好。我确实必须首先转码为 MP4(在转码阶段不能直接转至 HLS 清单,因为生成的 m3u8 在 Safari \xe2\x80\x93 中无法播放,看起来像是一个 ffmpeg bug),但打包功能出现工作得很好,我能够播放生成的 HEVC HLS m3u8(在 UHDp60 HDR10 中甚至 \xe2\x80\x93,尽管在我的 iPhone XS Max 上有相当多的缓冲,并且在 macOS 上有非色调映射显示)在 macOS 10.14.3 和 iOS 12.1.2 上的 Safari 中。
\n\n如上所述,我首先需要转码为 MP4(以下示例采用 UHDp60 HEVC HDR10 输入并转码为 1080p60 HEVC HDR10):
\n\nffmpeg -y -i source.mp4 -c:v libx265 \\\n -tag:v hvc1 -pix_fmt yuv420p10le -s 1920x1080 \\\n -x265-params "colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc:bitrate=4000:keyint=120:strict-cbr" \\\n -c:a copy ~/Sites/HLS/1080p/HDR10.mp4\nRun Code Online (Sandbox Code Playgroud)\n\n然后,我可以根据生成的文件进行 HLS 打包:
\n\nffmpeg -y -i ~/Sites/HLS/1080p/HDR10.mp4 -c copy \\\n -hls_segment_type fmp4 -hls_time 6 -hls_list_size 10 \\\n -hls_flags delete_segments+append_list+split_by_time \\\n -hls_playlist_type vod ~/Sites/HLS/1080p/HDR10.m3u8\nRun Code Online (Sandbox Code Playgroud)\n\n这些步骤的输出会生成所有必要的文件,以便能够登录到我的 Web 服务器并在 Safari 中自动播放 HLS 播放列表。Safari 现在甚至可以播放来自 Web 服务器的流式 HEVC HDR10 MP4 文件。因此,我建议首先尝试执行此操作 \xe2\x80\x93 如果您的原始 MP4 无法通过 Web 服务器在 Safari 中播放,那么它的 HLS 打包也不太可能会播放。
\n| 归档时间: |
|
| 查看次数: |
5072 次 |
| 最近记录: |