ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

H.265

2021-06-16 23:36:03  阅读:228  来源: 互联网

标签:profile 视频 H.265 编码 level x264 Main


Baseline
支持I/P 帧,只支持无交错(Progressive)和CAVLC
一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等;
  

Main
支持I/P/B 帧,无交错(Progressive)和交错(Interlaced),CAVLC 和CABAC
用于主流消费类电子产品规格如低解码(相对而言)的mp4、便携的视频播放器、PSP和Ipod等;
  

High
在Main的基础上增加了8x8 内部预测、自定义量化、无损视频编码和更多的YUV 格式(如4:4:4)
用于广播及视频碟片存储(蓝光影片),高清电视的应用。

0. 前言
本文首先会谈谈profile和level是干什么的,然后聊聊用ffmpeg和x264命令行怎么指定对应参数,最后聊聊在代码中怎么使用设置profile和level。

1. H264 Profile
简单理解就是H264有多个版本,版本越高编码效率和压缩率就越高,对应的版本是Profile。
从低到高分别为:Baseline、Main、High
在相同配置情况下,High profile(HP)可以比Main profile(MP)节省10%的码流量,比MPEG-2 MP节省60%的码流量,具有更好的编码性能。(这是个普遍认可的一组数据)

 

 

 

 

2. H264 Level
每个level都规定了一组对标准中语法成员(syntax element)所采用的各种参数值的限制。
在给定的profile下,level通常与解码器的处理能力和内存容量相对应。每一个档次设置不同的参数(如取样速率、图像尺寸、编码比特率等),得到对应的编解码器性能的不同level。

 

 

 

3. FFmpeg x264命令行编码
详细信息参考x264 –fullhelp

3.1 常用参数
crf
用于控制视频画质,取值为[0-51],数值越低画质越好
0:无损
51:最次
默认值23, 通常取值范围:[18-28]

crf每+6,比特率减半
crf每-6,比特率翻倍

profile:
baseline, main, high, high10, high422, high444

preset:
ultrafast,superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo

tune:
和使用场景,视频源有关
film, animation, grain, stillimage, psnr, ssim, fastdecode, zerolatency

Tune the settings for a particular type of sourceor situation

此外x264编码还支持多线程,可用threads参数控制开启的线程个数,当threads为0时自动选择开启多少个线程。

标签:profile,视频,H.265,编码,level,x264,Main
来源: https://www.cnblogs.com/ydvely521/p/14891583.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有