首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么avprobe不能确定通过STDIN提供的MP3文件的持续时间?

为什么avprobe不能确定通过STDIN提供的MP3文件的持续时间?
EN

Stack Overflow用户
提问于 2013-08-31 12:31:00
回答 1查看 578关注 0票数 1

我正在尝试用avprobe查找MP3文件的持续时间。这是可行的(尽管有一些奇怪的警告):

代码语言:javascript
复制
$ avprobe somefile.mp3
...
[mp3 @ 0x657b20] max_analyze_duration reached
[mp3 @ 0x657b20] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'somefile.mp3':
  Duration: 00:03:38.10, start: 0.000000, bitrate: 128 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s

但是,如果我转过身并通过STDIN通过管道传输文件,我就会遇到问题:

代码语言:javascript
复制
cat somefile.mp3 | avprobe -
...
[mp3 @ 0x255db20] max_analyze_duration reached
[mp3 @ 0x255db20] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'pipe:':
  Duration: N/A, start: 0.000000, bitrate: 128 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s

持续时间报告为"N/A“。为什么它在读取STDIN时无法计算出持续时间?

EN

回答 1

Stack Overflow用户

发布于 2014-02-01 05:08:18

据我所知,avprobe使用两个信息来计算mp3文件持续时间:

  • MP3文件比特率。
  • MP3文件大小。

当直接与文件一起使用时,able能够从文件统计信息中获取文件大小(请参阅stat "file.mp3"命令)。

当与管道输入一起使用时,avprobe无法检测文件大小,因为管道可以是任何大小/长度。如果mp3文件没有持续时间元数据,则avprobe没有办法计算持续时间估计。

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

https://stackoverflow.com/questions/18544492

复制
相关文章

相似问题

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