我想将 HEVC 编码文件解码为 YUV 文件。
有什么简单的方法可以做到这一点吗?一个可执行文件会很好,但我会使用易于编译的源代码。
它很简单(指南假定 linux,根据您的需要调整它)
克隆官方参考编解码器(官方官方是在https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/trunk/找到的一个 svn-repo,但是一个与svn 由 BBC 提供,使用 IMHO 更容易)
git clone git://hevc.kw.bbc.co.uk/git/jctvc-hm.git
要创建可执行文件:
cd jctvc-hm/build/linux && make -f makefile
二进制文件现在放置在
jctvc-hm/bin
现在,要将 HEVC 编码的二进制文件解码为 YCbCr,请执行以下操作
./TAppDecoderStatic -b encoded_file.bin -o reconstructed.yuv
如果您不在 linux 系统上,只需转到 build 文件夹,您就会希望找到可以用于您的系统的东西:
$ cd jctvc-hm/build && ls
HM_vc10.sln HM_vc8.sln HM_vc9.sln linux/ vc10/ vc8/ vc9/
或者,您可以使用 libde265 作为更快的解码器。
./configure --disable-sherlock265
make
生成 YUV 文件
./dec265/dec265 hevc-file.bin -o output.yuv -t4
该选项-t4
用于多线程解码。您还可以执行更多操作,例如输入 NAL 单元流、转储标头、直接显示视频或检查 SEI 哈希。
按照https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/branches/HM-9.2-dev/doc/software-manual.pdf上的说明,可以从https://hevc.hhi下载源代码.fraunhofer.de/svn/svn_HEVCSoftware/trunk/使用任何颠覆软件。
您可以在基于 Windows 和 Linux 的操作系统上构建它。构建软件后,您可以按照软件手册中的说明运行 exe 文件。
您可以下载 ffmpeg windows build exe 文件,只需解码 HEVC 比特流。
ffmpeg.exe -i xxx.bin out.yuv