video - H264 AVC 编解码器中的各种配置文件和设置

标签 video ffmpeg h.264 codec mediainfo

当我使用 ffmpeg 转换视频时, 并使用 mediaInfo查看元数据,我看到以下视频编解码器:

Format : AVC 
Format/Info : Advanced Video Codec 
Format profile : Baseline@L3.1 
Format settings : 1 Ref Frames 
而对于其他一些视频,mediaInfo显示了这一点:
Format : AVC 
Format/Info : Advanced Video Codec 
Format profile : High@L4.2 
Format settings : CABAC / 4 Ref Frames 
这两个配置文件和设置有什么区别?它们对压缩率/文件大小有什么影响吗?有什么优点/缺点吗?我的目标是尽可能减少视频文件的大小,而质量下降可以忽略不计。

最佳答案

AVC 可以描述为一组特征。
AVC 配置文件(基线或高)是配置文件允许的功能列表。
功能越多 - 压缩越好。
例如,High 支持 B 帧,而 Baseline 不支持。
更高的配置文件需要更多资源用于编码和解码 - 计算和内存。
因此,您正在为 RAM 和处理交易文件大小(或质量)。
我猜测大多数 PC 和更新的智能手机应用程序 - 你最好使用更高的 AVC 配置文件。
对于某些嵌入式应用程序 - 您的硬件可能不支持更高的配置文件。
如果实时流媒体的延迟需要很低 - 您可能希望避免使用 B 帧。
如今 - Main 和 High 非常常见,它们为您提供了质量或文件大小的优势。

关于video - H264 AVC 编解码器中的各种配置文件和设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71877321/

相关文章:

python - 视频捕获后整个帧旋转

video - 如何使用 ffmpeg 将视频放置在较大的静态背景图像之上的特定位置?

php - 如何在 PHP 中将动态生成的视频缩略图作为 BLOB 上传到 MySQL 数据库中

c# - 使用硬链接(hard link)模拟连接文件?

Android 使用 FFMPEG 从摄像头编码 h.264

javascript - 无法在 addEventListener 函数之外获取视频持续时间

android - 视频录制开启时,每 5 秒间隔保存一次视频(Android 操作系统)

c# - 在 C# WPF 应用程序中使用 ffmpeg 编辑 m4b 元数据

java - 将 RTP 视频流(H264 编解码器)写入 mp4 文件

ffmpeg - 使用 ffmpeg 为 h.26x 视频的单个帧提取量化参数