Я запускаю avprobe
, чтобы получить информацию о потоке видео в JSON
...
avprobe -loglevel quiet -show_format -show_streams file.m4v -of json
Это в основном то же самое, что и ffprobe
или ffmpeg -i
(и я получаю ту же ошибку).
ffprobe -loglevel quiet -show_format -show_streams file.m4v -print_format json
Команда работает большую часть времени ... однако иногда у меня будет видео, в котором есть нечетный поток, который «не поддерживается», и я верну что-то вроде этого (сокращенно).
Unsupported codec with id 94213 for input stream 2
{ "format" : {
"filename" : "file.m4v",
"nb_streams" : 3,
"format_name" : "mov,mp4,m4a,3gp,3g2,mj2" ...
Когда я запускаю команду, я получаю обратно JSON
+ ошибку в plain text
, что делает результат недействительным JSON
, и мне приходится "очищать" его позже.
Я подавляю ошибки из вывода -loglevel quiet
, но ошибка все равно появляется.
Как я могу указать avprobe/ffprobe
не показывать эту ошибку и, следовательно, вернуть правильный объект JSON
?
Примеры более длинных выходных данных
ffprobe
, из исходников, MacOS
ffprobe version 0.9.1-subsplash, Copyright (c) 2007-2012 the FFmpeg developers
built on Feb 5 2012 01:35:36 with gcc 4.2.1 (Apple Inc. build 5664)
configuration: --prefix=/Volumes/Ramdisk/sw --as=yasm --extra-version=subsplash --disable-shared --enable-static --disable-ffplay --disable-ffserver --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libfaac --enable-libvorbis --enable-libtheora --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --arch=x86_64 --enable-runtime-cpudetect --enable-nonfree
libavutil 51. 32. 0 / 51. 32. 0
libavcodec 53. 42. 4 / 53. 42. 4
libavformat 53. 24. 2 / 53. 24. 2
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 53. 0 / 2. 53. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.m4v':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2012-01-01 06:38:43
encoder : HandBrake 0.9.5 2011010300
Duration: 00:30:47.53, start: 0.000000, bitrate: 1558 kb/s
Chapter #0.0: start -0.066733, end 17.784433
Metadata:
title : Chapter 1
...
Stream #0:2(und): Subtitle: mov_text (text / 0x74786574)
Metadata:
creation_time : 2012-01-01 06:38:43
handler_name :
Unsupported codec with id 94213 for input stream 2
{
...
avprobe
, из исходников, Ubuntu Linux
avprobe version 10_alpha1-6:10~~git20130307.4be368b-1~quantal1, Copyright (c) 2007-2013 the Libav developers
built on Mar 7 2013 22:12:44 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.m4v':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2012-01-01 06:38:43
encoder : HandBrake 0.9.5 2011010300
Duration: 00:30:47.53, start: 0.000000, bitrate: 1558 kb/s
Chapter #0.0: start -0.066733, end 17.784433
Metadata:
title : Chapter 1
...
Stream #0.2(und): Subtitle: text / 0x74786574
Metadata:
creation_time : 2012-01-01 06:38:43
Unsupported codec with id 94213 for input stream 2
{
...
ffprobe
вывод консоли без-loglevel quiet
файла, который выдает сообщениеUnsupported codec
. - person llogan   schedule 10.04.2013Metadata:
и разделомJSON
(показанным в посте) выдается ошибкаUnsupported codec with id 94213 for input stream 2
, хотя я подавленные ошибки. - person Justin Jenkins   schedule 10.04.2013git
... - person Justin Jenkins   schedule 11.04.2013ffmpeg
. Возможно, вы можете предоставить один. - person llogan   schedule 11.04.2013