如何从ffmpeg
的信息输出中获取视频的高度和宽度。例如,使用以下输出--
$ ffmpeg -i 1video.mp4
...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/david/Desktop/1video.mp4':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isomavc1
creation_time : 2010-01-24 00:55:16
Duration: 00:00:35.08, start: 0.000000, bitrate: 354 kb/s
Stream #0.0(und): Video: h264 (High), yuv420p, 640x360 [PAR 1:1 DAR 16:9], 597 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc
Metadata:
creation_time : 2010-01-24 00:55:16
Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16, 109 kb/s
Metadata:
creation_time : 2010-01-24 00:55:17
At least one output file must be specified
我怎么才能得到height = 640, width= 360
?谢谢您。
从上面的Fredrik技巧来看,下面是我如何使用MediaInfo(http://mediainfo.sourceforge.net/en)完成的:
使用
ffprobe
示例1:使用键/变量名
例2:仅宽x高
示例3:JSON
选项的作用:
-v error
进行安静输出,但允许显示错误。排除常见的通用FFmpeg输出信息,包括版本、配置和输入详细信息。-show_entries stream=width,height
只显示width
和height
流信息。-of
选项选择输出格式(default、compact、csv、flat、ini、json、xml)。有关每个格式的说明和查看其他格式选项,请参见FFprobe Documentation: Writers。-select_streams v:0
如果输入包含多个视频流,则可以添加此选项。v:0
将只选择第一个视频流。否则,您将获得与视频流一样多的width
和height
输出。有关详细信息,请参见FFprobe Documentation和FFmpeg Wiki: FFprobe Tips。
看看mediainfo处理的大多数格式。
如果您正在寻找解析ffmpeg输出的方法,请使用regexp
\d+x\d+
使用perl的示例:
使用python的示例(不完美):
[[][[][[][[][[[][[[][[[][[[[][[[[[[[[[]['176x120'][[][[][]
Python一行不如perl一行那么吸引人:-)
相关问题 更多 >
编程相关推荐