使用regex和ffmpeg获取视频的维度

Geo*_*oub 1 php regex video ffmpeg

当您尝试获取有关视频的信息时,如果我有一个ffmpeg命令给出的字符串:

版权所有(c)2000-2015 FFmpeg开发人员使用gcc 4.4.7(GCC)20120313(Red Hat 4.4.7-11)配置: - prefix =/usr/local/cpffmpeg --enable-shared --enable- nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder = liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable -libvorbis --enable-libx264 --enable-libxvid --extra-cflags = -I/usr/local/cpffmpeg/include/--extra-ldflags = -L/usr/local/cpffmpeg/lib --enable-version3 --extra-version = syslint libavutil 54. 19.100/54. 19.100 libavcodec 56. 26.100/56. 26.100 libavformat 56. 23.106/56. 23.106 libavdevice 56. 4.100/56. 4.100 libavfilter 5. 11.102/5. 11.102 libswscale 3. 1.101/3. 1.101 libswresample 1. 1.100/1. 1.100 libpostproc 53. 3.100/53. 3.100输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自'/ var/zpanel/hostdata/zadmin/public_html/chandelier.mp4':元数据:major_brand:isom minor_version:512 compatible_brands:isomiso2avc1mp41网址:关注我> www.hamhame1.in汇编:0 title:Follow Me On> www.hamhame1.in艺术家:Follow Me On> www.hamhame1.in专辑:Follow Me On> www.hamhame1.in date:Follow Me On> www.hamhame1 .in类型:关注我> www.hamhame1.in评论:关注我> www.hamhame1.in作曲家:关注我> www.hamhame1.in original_artist:Follow Me On> www.hamhame1.in copyright:Follow Me On> www.hamhame1.in encoder:Follow Me On> www.hamhame1.in album_artist:Follow Me On> www.hamhame1.in season_number:0 episode_sort:0 track:0 disc:0 media_type:0 Duration:00:03: 51.35,开始:0.000000,比特率:2778 kb/s流0:0(und):视频:h264(高)(avc1/0x31637661),yuv420p,1920x1080 [SAR 1:1> DAR 16:9],2646 kb/s,23.98 fps,23.98 tbr,90k tbn,47.95 tbc(默认值)元数据:handler_name:VideoHandler流#0:1(und):音频:aac(LC)(mp4a/0x6134706D),44100 Hz,立体声,fltp,125 kb/s(默认值)元数据:handler_name:SoundHandler必须至少指定一个输出文件

在这种情况下,视频尺寸为:1920x1080

如何知道yuv420p和[SAR 1:1> DAR 16:9]可能不同(以及1920x1080可能是402x250或24x59),我如何导出视频维度.我对使用第三方课程并不感兴趣.

llo*_*gan 8

使用ffprobe.它来自FFmpeg项目.不需要正则表达式(如果您的输入有两个视频流,那么就是要处理的两组信息).您可以将解析限制为特定流并修改输出以显示所需的任何参数.

例1: widthxheight

ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 input.mp4
Run Code Online (Sandbox Code Playgroud)

结果:

1280x720
Run Code Online (Sandbox Code Playgroud)

示例2:使用键

ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of default=noprint_wrappers=1 input.mp4
Run Code Online (Sandbox Code Playgroud)

结果:

width=1280
height=720
Run Code Online (Sandbox Code Playgroud)

另见