ffmpeg设置视频 tbr、tbn、tbc

2024-03-25 04:18
文章标签 视频 设置 ffmpeg tbr tbc tbn

本文主要是介绍ffmpeg设置视频 tbr、tbn、tbc,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

时间基相关的定义

  • tbr 表示帧率,该参数倾向于一个基准,往往tbr跟fps相同。(the time base in AVStream that has come from the container)
  • tbn 表示视频流 timebase(时间基准),比如ts流的timebase 为90000,flv格式视频流timebase为1000 (the time base in AVCodecContext for the codec used for a particular stream)
  • tbc 表示视频流codec timebase ,对于264码流该参数通过解析sps间接获取(通过sps获取帧率)(tbr is guessed from the video stream and is the value users want to see when they look for the video frame rate)

时间基相关的设置

分别设置tbn为80k、tbc为45、tbr为25
ffmpeg -hide_banner -i input.mp4 -c:v libx264 -time_base 1/80000 -enc_time_base 1/45 -r 25 -f mp4 output.mp4 -y
output视频输出信息
Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 720x1280, q=-1--1, 25 fps, 80k tbn, 45 tbc (default)
详细的转码日志

ffmpeg -hide_banner -i input.mp4 -c:v libx264 -time_base 1/80000 -enc_time_base 1/45 -r 25 -f mp4 output.mp4 -y
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':Metadata:major_brand     : qt  minor_version   : 0compatible_brands: qt  creation_time   : 2020-08-03T12:32:30.000000ZDuration: 00:00:20.54, start: 0.000000, bitrate: 4446 kb/sStream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s (default)Metadata:creation_time   : 2020-08-03T12:32:30.000000Zhandler_name    : Core Media AudioStream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 720x1280, 4316 kb/s, 16.11 fps, 16 tbr, 600 tbn, 1200 tbc (default)Metadata:creation_time   : 2020-08-03T12:32:30.000000Zhandler_name    : Core Media Videoencoder         : H.264
Stream mapping:Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))Stream #0:0 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x7fa61d010800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7fa61d010800] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 0x7fa61d010800] 264 - core 159 r2999 296494a - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':Metadata:major_brand     : qt  minor_version   : 0compatible_brands: qt  encoder         : Lavf58.29.100Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 720x1280, q=-1--1, 25 fps, 80k tbn, 45 tbc (default)Metadata:creation_time   : 2020-08-03T12:32:30.000000Zhandler_name    : Core Media Videoencoder         : Lavc58.54.100 libx264Side data:cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)Metadata:creation_time   : 2020-08-03T12:32:30.000000Zhandler_name    : Core Media Audioencoder         : Lavc58.54.100 aac
frame=  926 fps=213 q=-1.0 Lsize=    3969kB time=00:00:20.51 bitrate=1585.4kbits/s dup=595 drop=0 speed=4.71x    
video:3614kB audio:321kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.865847%
[libx264 @ 0x7fa61d010800] frame I:8     Avg QP:18.62  size: 56722
[libx264 @ 0x7fa61d010800] frame P:233   Avg QP:22.08  size: 11749
[libx264 @ 0x7fa61d010800] frame B:685   Avg QP:25.08  size:   743
[libx264 @ 0x7fa61d010800] consecutive B-frames:  1.1%  0.4%  1.3% 97.2%
[libx264 @ 0x7fa61d010800] mb I  I16..4: 13.0% 32.4% 54.6%
[libx264 @ 0x7fa61d010800] mb P  I16..4:  2.1%  4.1%  0.9%  P16..4: 42.2%  9.5%  6.5%  0.0%  0.0%    skip:34.7%
[libx264 @ 0x7fa61d010800] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8: 19.6%  0.2%  0.0%  direct: 0.2%  skip:79.9%  L0:48.1% L1:51.0% BI: 0.8%
[libx264 @ 0x7fa61d010800] 8x8 transform intra:49.1% inter:72.7%
[libx264 @ 0x7fa61d010800] coded y,uvDC,uvAC intra: 53.5% 62.9% 12.8% inter: 6.0% 7.8% 0.1%
[libx264 @ 0x7fa61d010800] i16 v,h,dc,p: 40% 24% 24% 12%
[libx264 @ 0x7fa61d010800] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 12% 40%  4%  4%  6%  3%  4%  3%
[libx264 @ 0x7fa61d010800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 14% 18%  7%  8%  9%  5%  6%  3%
[libx264 @ 0x7fa61d010800] i8c dc,h,v,p: 50% 18% 27%  6%
[libx264 @ 0x7fa61d010800] Weighted P-Frames: Y:3.4% UV:0.4%
[libx264 @ 0x7fa61d010800] ref P L0: 66.2% 16.2% 12.6%  4.9%  0.2%
[libx264 @ 0x7fa61d010800] ref B L0: 91.8%  6.7%  1.5%
[libx264 @ 0x7fa61d010800] ref B L1: 93.2%  6.8%
[libx264 @ 0x7fa61d010800] kb/s:1438.45
[aac @ 0x7fa61d012000] Qavg: 235.295

这篇关于ffmpeg设置视频 tbr、tbn、tbc的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843813

相关文章

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。