我试图弄清楚视频中是否有音频,以便使用ffmpeg提取mp3.当视频不包含音频通道时,ffmpeg会创建一个空的mp3文件,我用它来判断视频中是否存在音频.我确信有更好的方法来识别视频中是否存在音频.avprobe会帮忙吗?有人能指出我的资源或可能是解决方案吗?
编辑:令人惊讶的是,运行最新版本的ffprobe的服务器上的相同命令无法运行.它抛出一个错误说
无法识别的选项'select_stream'
无法为选项'select_stream'设置值'a'
任何想法如何纠正这个?
我正在使用通过Homebrew安装的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 …
Run Code Online (Sandbox Code Playgroud) 来自linux背景.我只是想知道在OSX上安装avprobe的最佳方法是什么?
我尝试安装libav:http://libav.org/download.html 但这似乎使用了avconf.我有一个由其他人编写的脚本,它依赖于avprobe直接执行.
谷歌并没有真正的帮助.我需要能够直接运行avprobe.
谢谢
执行avprobe test.h264
输出
Input #0, h264, from 'test.h264':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: h264 (High), yuv420p, 720x480, 25 fps, 25 tbn, 50 tbc
Run Code Online (Sandbox Code Playgroud)
执行file test.h264
输出
test.h264: JVT NAL sequence, H.264 video @ L 30
Run Code Online (Sandbox Code Playgroud)
请注意,文件没有损坏或损坏,我可以在VLC上播放它没有任何问题.
有没有办法从原始的H264文件中获取持续时间和比特率?我在某处读到如果我首先解码文件可能是可能的,但我不确定如何做到这一点.
编辑#1
我是那个用Python库创建H264文件的人picamera
.
编辑#2
运行时控制台输出 avconv -i test.h264 -f null -
avconv version 11.7-6:11.7-1~deb8u1+rpi1, Copyright (c) 2000-2016 the Libav developers
built on Jun 17 2016 02:13:49 with gcc 4.9.2 (Raspbian 4.9.2-10)
[h264 @ 0x1bcc200] Estimating duration from bitrate, …
Run Code Online (Sandbox Code Playgroud)