ffprobe - получение информации о файле из канала
У меня есть файл oog (он был смешан с помощью sox из двух аудиопотоков, записанных pbx Asterisk), и я пытаюсь получить информацию о файле с помощью ffprobe. Когда я использую что-то вроде
cat %filename%.ogg | ffprobe -i -
Я получаю неверную информацию о файле (продолжительность: нет данных, неверный битрейт и т. Д.).
ffprobe -i %filename%
Все отлично работает, и я получаю информацию о файле. Что может быть не так? Содержание файла?
3 ответа
Просто быстрое примечание, чтобы сказать, что трубопровод ввода 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]
Начиная с версии 1.0.7 ffprobe вы даже можете получить вывод в формате 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, у вас есть какие-либо требования для cat содержимое файла? Если нет, просто используйте ffprobe без cat.
И вы можете передать его с удаленного сайта с помощью
curl
curl --silent --header "Range: bytes=0-51200" https://example.com/your.mp4 | ffprobe -v quiet -show_format -of flat=s=_ -show_entries stream=height,width,nb_frames,duration,codec_name -