gpt4 book ai didi

video - 为什么 ffmpeg 报告不同的持续时间?

转载 作者:行者123 更新时间:2023-11-28 21:40:18 24 4
gpt4 key购买 nike

源视频:http://www.artworknotavailable.com/tmp/ffmpegtest

Quicktime Pro 7.7.1 Inspector (Win 7) 报告文件 2398.mov 的以下内容

4.19MB
H.264
Movie FPS: 23.98
Data Rate: 2.35 mbits/Sec
Duration 14:97

ffmpeg 报告以下内容(请参阅帖子底部的完整 ffmpeg 版本信息)

ffmpeg -i 2398.mov

Seems stream 1 codec frame rate differs from container frame rate: 47952.00 (47952/1) -> >23.98 (2997/125)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2398.mov':
Metadata:
major_brand : qt

minor_version : 537199360
compatible_brands: qt
Duration: 00:00:15.97, start: 0.-963005, bitrate: 2210 kb/s
Stream #0.0(eng): Audio: aac, 48000 Hz, stereo, s16, 152 kb/s
Stream #0.1(eng): Video: h264, yuv420p, 848x480, 2060 kb/s, 23.98 fps, 23.98 tbr, 23976 tbn, 47952 tbc

比 Quicktime 报告的时间长一秒。

作为实验,我使用以下设置从 Quicktime Pro 中导出了这个文件:

Frame Rate: Current
Key Frames: Every 24 frames
Frame Reordering On
Quality: High
Encoding Best
Data Rate: Automatic
Optimized for Download
Output file: qtime-export-2398.mov

Quicktime 检查器报告:

5.62 MB
H.264
Movie FPS: 23.98
Data Rate: 3.15 mbits/Sec
Duration 14:97

ffmpeg 现在报告:

ffmpeg -i qtime-export-2398.mov

Seems stream 1 codec frame rate differs from container frame rate: 1200.00 (1200/1) -> 23.98 (24000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'qtime-export-2398.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
Duration: 00:00:14.96, start: 0.000000, bitrate: 3153 kb/s
Stream #0.0(eng): Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
Stream #0.1(eng): Video: h264, yuv420p, 678x384, 1738 kb/s, 23.98 fps, 23.98 tbr, 600 tbn, 1200 tbc

ffmpeg 的持续时间报告从 15.97 到 14.96(我可以接受 .1)

这个持续时间是根据比特率计算的吗?

我需要准确报告上传视频的持续时间并将它们转换为 FLV。有人可以告诉我这里发生了什么以及我如何解决这个问题吗?

ffmpeg 信息如下。我已经在 2 个完全不同的 ffmpeg 安装/版本上进行了尝试。相同的结果。

FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers built on Jan 29 2012 23:55:02 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52.72. 2 libavformat 52.64. 2 / 52.64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.11. 0 / 0.11. 0 libpostproc 51. 2. 0 / 51. 2. 0 FFmpeg 0.6.5 libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52.72. 2 libavformat 52.64. 2 / 52.64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.11. 0 / 0.11. 0 libpostproc 51. 2. 0 / 51. 2. 0

最佳答案

我刚刚查看了第一个文件,这就是他们报告不同持续时间的原因。

Quicktime 正在从“电影标题”中收集持续时间值。此处的值为 8981/600 = 14.97 秒。

FFmpeg 正在从“媒体 header ”收集持续时间值,视频为 383000/23976 = 15.97 秒,音频为 719872/48000 = 15.00 秒。

编辑:...并回答您的其他问题:有人可以告诉我如何解决这个问题吗? 我想您正在使用 ffmpeg 将文件转换为 .FLV?如果是这样,我会坚持 ffmpeg 的报告。

关于video - 为什么 ffmpeg 报告不同的持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640088/

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