首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘`ffmpeg`’的输出是什么意思?

‘`ffmpeg`’的输出是什么意思?
EN

Stack Overflow用户
提问于 2020-01-07 17:05:23
回答 1查看 246关注 0票数 1

我正在转换一个文件,下面是输出。这个问题有一个部分的答案here,所以我问的是它没有涵盖的部分。我调整了终端的宽度以保留输出历史

代码语言:javascript
复制
[olpc@laptop ~] ffmpeg -i input -c:a copy -s 384x216 output
ffmpeg version N-68778-g5c7227b Copyright (c) 2000-2014 the FFmpeg developers
  built on Dec 29 2014 22:12:54 with gcc 4.9.2 (GCC)

...

frame=2   fps=0.0 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=3   fps=2.0 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=5   fps=2.4 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=8   fps=2.9 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=10  fps=2.8 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=12  fps=2.9 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=13  fps=2.8 q=0.0  size=     0kB time=00:00:00.02 bitrate=  16.5kbits/s
frame=16  fps=3.1 q=0.0  size=     0kB time=00:00:00.48 bitrate=   0.8kbits/s
frame=19  fps=3.2 q=0.0  size=     0kB time=00:00:00.48 bitrate=   0.8kbits/s
frame=21  fps=3.2 q=0.0  size=     0kB time=00:00:00.48 bitrate=   0.8kbits/s

...

frame=687 fps=0.6 q=29.0 size=  1245kB time=00:00:22.84 bitrate= 446.5kbits/s
frame=688 fps=0.6 q=29.0 size=  1246kB time=00:00:22.84 bitrate= 446.7kbits/s
frame=689 fps=0.6 q=29.0 size=  1248kB time=00:00:22.84 bitrate= 447.5kbits/s
frame=690 fps=0.6 q=29.0 size=  1249kB time=00:00:22.84 bitrate= 447.8kbits/s
frame=691 fps=0.6 q=29.0 size=  1249kB time=00:00:22.84 bitrate= 448.0kbits/s
frame=692 fps=0.6 q=29.0 size=  1251kB time=00:00:22.84 bitrate= 448.7kbits/s
frame=693 fps=0.6 q=29.0 size=  1252kB time=00:00:22.84 bitrate= 448.8kbits/s
frame=694 fps=0.6 q=29.0 size=  1253kB time=00:00:22.84 bitrate= 449.1kbits/s
frame=695 fps=0.6 q=29.0 size=  1254kB time=00:00:22.84 bitrate= 449.7kbits/s
frame=696 fps=0.6 q=29.0 size=  1255kB time=00:00:22.84 bitrate= 449.9kbits/s
frame=697 fps=0.6 q=29.0 size=  1256kB time=00:00:22.84 bitrate= 450.2kbits/s
frame=698 fps=0.6 q=29.0 size=  1256kB time=00:00:22.84 bitrate= 450.3kbits/s
frame=699 fps=0.6 q=29.0 size=  1258kB time=00:00:22.84 bitrate= 451.0kbits/s
frame=699 fps=0.6 q=29.0 size=  1258kB time=00:00:22.87 bitrate= 450.5kbits/s
frame=701 fps=0.6 q=29.0 size=  1261kB time=00:00:23.31 bitrate= 443.1kbits/s

第二个片段花了20秒:每行1秒,直到最后一行,最后一行在显示之前花了6秒。此模式在整个文件长度内重复出现。我的理解是,视频中每15帧就有一个控制帧,当没有控制帧时,视频以1fps的速度处理。

现在,我的问题是:time指的是什么?它似乎指的是视频中的时间,但为什么它在前13帧静止不动,然后缓慢上升0.03秒,然后跳跃0.44秒?

另外,bitrate如何从0.0跳到16.5,再回到0.8?(以上各行每隔一秒更新一次)。我的意思是,如果在7秒后比特率是16.5kbit/s,那么它肯定至少更新了105.5kbit。这意味着,即使它在下一秒没有处理任何东西,在下一(8)秒之后,比特率将至少是13.2kbit/s。

最后,q代表什么?

EN

回答 1

Stack Overflow用户

发布于 2020-01-07 18:10:32

部分答案:

bitrate的计算公式为(文件大小)/(进入视频的时间量)。当进入文件的时间为0时,上面的值是未定义的,因此比特率被列为0.0kbits/sec。

因此,当读取文件的时间为0.02秒时,输出文件大小必须为(16.5kbit/s) *(0.02s)=0.33kbit,因此仍四舍五入为size=0kB。但是,当在下一次迭代中读取文件的时间为0.48秒时,则0.33kbit / 0.48秒= 0.7kbits/s。这意味着在第13帧和第16帧之间,输出文件的大小确实会增加,因为输出速度现在为0.8kbits / s。

现在,为什么它在跳到0.48秒之前跳跃了0.02秒,这让我难以理解。也许其他人可以回答这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59625164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档