gpt4 book ai didi

video - 使用 ffmpeg 从 h264 中删除帧率/持续时间元数据

转载 作者:行者123 更新时间:2023-12-04 23:12:50 25 4
gpt4 key购买 nike

我需要一个没有帧速率和持续时间元数据的 H264 编码视频,因为这些是在外部存储和计算的。

这就是我使用的:

ffmpeg -r 30 -f image2 -i xyz -c:v libx264 -f h264 1579516080101.h264

这是 mediainfo 返回的内容:
General
Complete name : 1579516080101.h264
Format : AVC
Format/Info : Advanced Video Codec
File size : 866 KiB
Duration : 1 s 0 ms
Overall bit rate : 7 096 kb/s

Video
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Duration : 1 s 0 ms
Bit rate : 7 096 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.114
Stream size : 866 KiB (100%)

我怎样才能摆脱这些条目?我试过 -map_metadata -1并且没有设置帧率,但这只会导致使用默认的帧率 25。

谢谢

最佳答案

我可以通过修改ffmpeg源代码并重新编译来解决这个问题。

需要注释掉的相关位在于:FFmpeg/libavcodec/h264_metadata_bsf.c从第 171 行开始:

if (ctx->tick_rate.num && ctx->tick_rate.den) {
int num, den;

av_reduce(&num, &den, ctx->tick_rate.num, ctx->tick_rate.den,
UINT32_MAX > INT_MAX ? UINT32_MAX : INT_MAX);

sps->vui.time_scale = num;
sps->vui.num_units_in_tick = den;

sps->vui.timing_info_present_flag = 1;
need_vui = 1;
}

关于video - 使用 ffmpeg 从 h264 中删除帧率/持续时间元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61384646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com