当前位置:   article > 正文

跨平台 H264 H265/HEVC 编解码 硬件加速_hevc解码器

hevc解码器

1. 前言

H.265是ITU-T VCEG继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。具体的研究内容包括:提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。H.264由于算法优化,可以低于1Mbps的速度实现标清(分辨率在1280P720以下)数字图像传送;H.265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280720)普通高清音视频传送。
H265在编解码的过程中,将占用更多的系统资源。

2. 课题:如何在浏览器中支持hevc?

2.1. Chromium

关于chromium支持hevc解码主要分成两部分:
Chromium GitHub网址:https://github.com/chromium/chromium

2.2. 使用libde265.js实现hevc解码

GitHub网址:https://github.com/strukturag/libde265.js
libde265在谷歌浏览器有视频插件,可以播放h265视频

3. h265解码

3.1. ffmpeg解码

NVDEC/CUVID
  NVDEC 为 H.264、HEVC、MJPEG、MPEG-1/2/4、VP8/VP9、VC-1 提供解码器。编解码器支持硬件(见GPU兼容性表)。
  请注意,FFmpeg 提供 NVDEC 和 CUVID hwaccels。它们的不同之处在于帧在内存中的解码和转发方式。
  全套编解码器仅在 Pascal 硬件上可用,它增加了 VP9 和 10 位支持。关于 NVENC 缺少 ffnvcodec 的说明也适用于 NVDEC。
使用 CUDA 的解码示例:ffmpeg -hwaccel cuda -i input output
使用 CUVID 的解码示例:ffmpeg -c:v h264_cuvid -i input output
使用 NVDEC 和 NVENC 进行全硬件转码:
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input -c:v h264_nvenc -preset slow output
如果 ffmpeg 是在支持 libnpp 的情况下编译的,则它可用于将基于 GPU 的缩放器插入链中:
ffmpeg -hwaccel_device 0 -hwaccel cuda -i input -vf scale_npp=-1:720 -c:v h264_nvenc -preset slow output.mkv
该-hwaccel_device选项可用于指定 ffmpeg 中硬解码要使用的 GPU。

3.2. MP4Box解码

通过MP4Box可以将hevc转为heic,以供显示

3.3. 使用libde265实现hevc解码

GitHub网址:https://github.com/strukturag/libde265
实现hevc-》yuv

3.4. openHEVC实现hevc解码

GitHub网址:https://github.com/OpenHEVC/openHEVC
ffmpeg内置有HEVC解码器,其中代码基本是来自openHEVC项目
但是ffmpeg的HEVC解码器并不保证包含openHEVC项目的最新代码

4. 附录

参考链接:
https://zhuanlan.zhihu.com/p/25209901
http://shevaxu.github.io/post/html5video/
https://zhuanlan.zhihu.com/p/25209901

ffmpeg可以使用硬解码参考链接:
https://blog.csdn.net/u012944685/article/details/124503968
https://blog.csdn.net/y601500359/article/details/118357785
https://zhuanlan.zhihu.com/p/526112496

ffmpeg软解码参考链接:
http://blog.csdn.net/thomashtq/article/details/44940457
http://www.cnblogs.com/mlj318/p/3781591.html
http://m.blog.chinaunix.net/uid-9525959-id-5750362.html
http://stackoverflow.com/questions/19840960/comparing-psnr-of-two-videos-possibly-with-ffmpeg
https://trac.ffmpeg.org/wiki/FilteringGuide
http://www.cutey.us/2015/09/tools-to-calculate-psnr

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/309049?site
推荐阅读
相关标签
  

闽ICP备14008679号