【发布时间】:2022-01-05 09:42:59
【问题描述】:
我正在尝试在使用 FFmpeg 的 hevc 视频上包含帧计数叠加。但是,视频会在 h.264 编解码器中重新编码。我想保留视频的所有编码属性(和以前一样)。
是否可以通过任何命令在不改变视频编解码器和其他编码属性的情况下添加帧数?
我使用了以下命令:
ffmpeg -i Video1.mp4 -filter_complex "drawtext=text='%{frame_num}': x=100 : y=50 : box=1" -y out1.mp4
输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自“Video1.mp4”: 元数据: 主要品牌:isom 次要版本:512 compatible_brands:isomiso2mp41 编码器:Lavf58.76.100 持续时间:00:00:01.32,开始:0.000000,比特率:145 kb/s 流 #0:0(und):视频:hevc(主)(hev1 / 0x31766568)、yuv420p(tv)、416x240、138 kb/s、25 fps、25 tbr、1200k tbn、1200k tbc(默认) 元数据: handler_name : 视频处理程序 供应商 ID:[0][0][0][0]
流映射: 流#0:0 (hevc) -> drawtext drawtext -> 流 #0:0 (libx264)
我尝试的另一个命令:
ffmpeg -i Video1.mp4 -filter_complex "drawtext=text='%{frame_num}': x=100 : y=50 : box=1" -vcodec hevc -y out1.mp4
但是,此命令也会导致视频的编码属性/参数发生变化。
PS- 我使用的是 windows cmd 行。
PS- 是否可以对编码属性进行最小的更改?我想像以前一样保留所有切片 NAL 单元类型、所有配置文件和所有级别。但是,所有原始 NAL 单元都发生了变化。具体比如,所有子层都转换为基础层,TSA图片转换为其他类型。
谢谢
【问题讨论】: