将视频从vp8转换为x264输出具有不同长度的不同视频

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将视频从vp8转换为x264输出具有不同长度的不同视频相关的知识,希望对你有一定的参考价值。

我有一个2m:39s的webm文件(vp8编解码器)

使用ffmpeg -i video.webm表示视频具有15fps

nput#0,matroska,webm,来自“ video.webm”:元数据:编码器:Lavf54.17.3持续时间:00:02:39.63,开始:0.000000,比特率:417 kb / s流#0:0:音频:vorbis,44100 Hz,立体声,fltp(默认)流#0:1:视频:vp8,yuv420p(逐行),320x240,SAR 1:1 DAR 4:3、15 fps,15 tbr,1k tbn,1k tbc(默认)

我试图将设置转换为相同的帧速率并添加到mp4容器中

$ x264 --output intermediate.264 --fps 15 --preset slow --bitrate 400 --vbv-maxrate 800 --vbv-bufsize 1600 --min-keyint 48 --keyint 48 --scenecut 0 --no-scenecut --pass 1 --video-filter "resize:width=426,height=240" video.webm

$ MP4Box -add intermediate.264 -fps 15 out.mp4

但是生成的文件out.mp4现在具有2m:57s的持续时间

答案

当您从原始.264转储文件中生成.mp4文件时。

这是持续时间的简单计算:

原始帧数:2654

帧速率:每秒15帧

mp4文件的持续时间:2654/15 = 176.93333秒/ 60 = 2分钟56.93秒=〜2分钟57秒

Webm文件的音频数据可能少于视频帧。因此,其持续时间小于mp4​​文件。

以上是关于将视频从vp8转换为x264输出具有不同长度的不同视频的主要内容,如果未能解决你的问题,请参考以下文章

如何将输出文件命名为与输入文件相同但视频转换后的扩展名不同? [重复]

MPP-使用说明

python之哈希算法

4412 移植x264并且YUV422转x264

如何等待 x264enc 在流尾编码缓冲帧

将具有相同或不同长度的2个不同整数数组合并为一个大数组,并将它们从最小到最大排序