我使用的是libav 9.6,通过自制安装。
$ avprobe -version
avprobe version 9.6, Copyright (c) 2007-2013 the Libav developers
built on Jun 8 2013 02:44:19 with Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
avprobe 9.6
libavutil 52. 3. 0 / 52. 3. 0
libavcodec 54. 35. 0 / 54. 35. 0
libavformat 54. 20. 3 / 54. 20. 3
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 3. 3. 0 / 3. 3. 0
libavresample 1. 0. 1 / 1. 0. 1
libswscale 2. 1. 1 / 2. 1. 1
尽管在命令行输出的stdout中显示了采样率,但-show_format
选项根本不会显示音频文件的采样率信息。
下面是BASH终端输出:
$ avprobe -v verbose -show_format -of json sample.gsm
avprobe version 9.6, Copyright (c) 2007-2013 the Libav developers
built on Jun 8 2013 02:44:19 with Apple LLVM version 4.2 (clang-425.0.24)
(based on LLVM 3.2svn)
configuration: --prefix=/usr/local/Cellar/libav/9.6 --enable-shared
--enable-pthreads --enable-gpl --enable-version3 --enable-nonfree
--enable-hardcoded-tables --enable-avresample --enable-vda --enable-gnutls
--enable-runtime-cpudetect --disable-indev=jack --cc=cc --host-cflags=
--host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame
--enable-libxvid --enable-avplay
libavutil 52. 3. 0 / 52. 3. 0
libavcodec 54. 35. 0 / 54. 35. 0
libavformat 54. 20. 3 / 54. 20. 3
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 3. 3. 0 / 3. 3. 0
libavresample 1. 0. 1 / 1. 0. 1
libswscale 2. 1. 1 / 2. 1. 1
[gsm @ 0x7f8012806600] Estimating duration from bitrate, this may be inaccurate
Input #0, gsm, from 'sample.gsm':
Duration: 00:03:52.32, start: 0.000000, bitrate: 13 kb/s
Stream #0.0: Audio: gsm, 8000 Hz, mono, s16, 13 kb/s
{ "format" : {
"filename" : "sample.gsm",
"nb_streams" : 1,
"format_name" : "gsm",
"format_long_name" : "raw GSM",
"start_time" : "0.000000",
"duration" : "232.320000",
"size" : "383328.000000",
"bit_rate" : "13200.000000"
}}
>>> filename = 'sample.gsm'
>>> result = subprocess.check_output(['avprobe', '-show_format', '-of',
'json', filename])
avprobe version 9.6, Copyright (c) 2007-2013 the Libav developers
built on Jun 8 2013 02:44:19 with Apple LLVM version 4.2
(clang-425.0.24) (based on LLVM 3.2svn)
[gsm @ 0x7fe0b1806600] Estimating duration from bitrate, this may be
inaccurate
Input #0, gsm, from 'sample.gsm':
Duration: 00:03:52.32, start: 0.000000, bitrate: 13 kb/s
Stream #0.0: Audio: gsm, 8000 Hz, mono, s16, 13 kb/s
>>> print result
{ "format" : {
"filename" : "sample.gsm",
"nb_streams" : 1,
"format_name" : "gsm",
"format_long_name" : "raw GSM",
"start_time" : "0.000000",
"duration" : "232.320000",
"size" : "383328.000000",
"bit_rate" : "13200.000000"
}}
我向libav提交了一张票,但我只是好奇是否有任何其他方法可以从libav探测UTIL中提取采样率。我很感激事先的回答。
PS:在这种情况下,ffmpeg(ffprobe)的上游项目也会遇到同样的问题。
-show_format
显示容器级信息--即适用于所有流的内容。采样率是单个流的一个属性,所以-show_format
不显示它是非常正常的。您需要使用-show_streams
。
最近,我一直在尝试对我在电脑上播放的音频进行实时可视化(通过任何任意程序,如Spotify),但我一直在使用SoundFlower将输出音频导入到一个假线路。 我想知道的是,是否有一种C / C或Java固有的方法,可以让我捕获发送到计算机(我使用的是Mac)行的任何音频,其方式类似于我如何捕获其中的行(即不断填充PCM数据的示例缓冲区)。 除了读取line out数据,我不想模仿SoundFlo
问题内容: 嗨,我需要将wav音频文件的采样率从44.1kHz下采样到8kHz。我必须使用字节数组手动完成所有工作…这是出于学术目的。 我目前正在使用2个类(接收器和源)来弹出和推送字节数组。一切顺利,直到到达需要使用线性插值对数据块进行下采样的部分为止。 由于我是从44100降采样到8000 Hz,因此我该如何插入一个包含约128000000字节的字节数组?现在,我弹出5、6或7个字节,具体取决
我昨天开始自学Python,所以在此之前对任何礼仪错误表示歉意。我的挑战是获取一个歌曲标题的。csv列表,在YouTube上搜索每个视频,然后使用youtube-dl下载音频。我的代码似乎适用于一个输出文件,但由于我无法解决的原因,循环结束了。主要错误是但是我已经安装了这些(据我所知)。我试了一遍又一遍地试图解决这个问题,但没有任何基本知识,我快淹死了。我正在使用python 2.7.13。有什么
我正在用ffmpeg从flac文件制作mp3。这对我来说通常是哼哼。 今晚,由于某种原因,当我使用我一直使用的相同命令时,转换后的音频会失真。_故障排除后,出现“采样率”标志。 我的命令: MP3中的音频然后被一个顶起的增益所扭曲,导致数字剪辑。 我尝试更新ffmpeg,然后问题仍然存在。我尝试过转换各种采样率(44.1k源文件,48k源文件,96k源文件)44.1k和48kmp3,问题仍然存在,
我想给youtube-dl&FFMPEG转换的mp3添加标签: YouTube-dl-o'/output/qpgTC9MDx1o.mp3'qpgtc9mdx1o-f bestaudio--提取-音频--元数据-从-标题“%(艺术家)s-%(标题)s”2>&1