我有一个oog文件(它由来自pbx Asterisk记录的两个audiostream的sox混合)并且我正在尝试使用ffprobe获取文件信息。 当我使用像
这样的东西时cat %filename%.ogg | ffprobe -i -
我收到无效的文件信息(持续时间:N / A,错误的比特率等) 当我尝试
ffprobe -i %filename%
一切正常,我得到文件信息。 可能有什么不对?文件内容?
答案 0 :(得分:6)
从ffprobe的1.0.7版开始,你甚至可以在JSON格式的输出中获得输出:
ffprobe -v quiet -print_format json -show_format Ramp \ - \ Apathy.mp3
产生以下输出:
{
"format": {
"filename": "Ramp - Apathy.mp3",
"nb_streams": 2,
"format_name": "mp3",
"format_long_name": "MP2/3 (MPEG audio layer 2/3)",
"start_time": "0.000000",
"duration": "203.638856",
"size": "4072777",
"bit_rate": "159999",
"tags": {
"title": "Apathy",
"artist": "Ramp",
"album": "Evolution Devolution Revolution",
"date": "1999",
"genre": "Metal"
}
}
}
我认为您可以使用cat获取探测器,您是否有要求捕获文件内容?如果不是只使用没有猫的ffprobe。
答案 1 :(得分:2)
快速说明,ffprobe
的管道输入似乎工作得很好。使用连字符代替输入文件,您将参加比赛。以下是我系统中随机视频文件的示例:
cat 01.mp4 | ffprobe -show_format -pretty -loglevel quiet -
返回:
[FORMAT]
filename=pipe:
nb_streams=2
nb_programs=0
format_name=mov,mp4,m4a,3gp,3g2,mj2
format_long_name=QuickTime / MOV
start_time=N/A
duration=0:02:56.400000
size=N/A
bit_rate=N/A
probe_score=100
TAG:major_brand=isom
TAG:minor_version=512
TAG:compatible_brands=isomiso2mp41
TAG:creation_time=1970-01-01T00:00:00.000000Z
TAG:title=yy.mp4
TAG:encoder=Lavf52.78.3
[/FORMAT]