bcs*_*eve 10 bash regex ffmpeg pipe
我不是很精通命令行,所以希望这不是一个太愚蠢的问题。
如果我运行:
ffmpeg -i videofile.avi
Run Code Online (Sandbox Code Playgroud)
我得到这样的输出:
ffmpeg version git-2013-11-21-6a7980e Copyright (c) 2000-2013 the FFmpeg develop ers
built on Nov 21 2013 12:06:32 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/home/user/ffmpeg_build --extra-cflags=-I/home/user/ffmpeg_build/include --extra-ldflags=-L/home/user/ffmpeg_build/lib --b indir=/home/user/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable -libfdk- aac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-l ibx264 --enable- nonfree
libavutil 52. 53.100 / 52. 53.100
libavcodec 55. 44.100 / 55. 44.100
libavformat 55. 21.100 / 55. 21.100
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 91.100 / 3. 91.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
Input #0, avi, from 'videofile.avi':
Metadata:
encoder : Lavf52.68.0
Duration: 00:23:07.68, start: 0.000000, bitrate: 2390 kb/s
Stream #0:0: Video: mpeg4 (Simple Profile) (XVID / 0x44495658), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 23.98 fps, 23.98 tbr, 23.98 tbn, 1199 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16p, 128 k b/s
Run Code Online (Sandbox Code Playgroud)
如果我只对输出“640x480”的命令感兴趣,我该怎么做?
我想我必须将输出通过管道传输到正则表达式并执行?不知道该怎么做。谢谢!
llo*_*gan 12
使用ffprobe从FFmpeg的包:
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)
这些选项的作用:
-v error 使输出不那么冗长。-select_streams v:0 仅选择第一个视频流。-show_entries stream=width,height只选择width并height从该参数的大名单ffprobe可以提供。-of csv=s=x:p=0格式化文本输出。使用csv格式化类型是因为它可以生成简单的输出。s=x使它使用 anx来分隔width和height值。p=0使其省略stream输出中的前缀。有关更多信息,请参阅ffprobe 文档和FFmpeg Wiki:ffprobe 提示。
Cyr*_*rus 10
使用 ffmpeg 获取视频分辨率:
ffmpeg -i filename 2>&1 | grep -oP 'Stream .*, \K[0-9]+x[0-9]+'
Run Code Online (Sandbox Code Playgroud)
输出(例如):
640x480
小智 5
exiftool -b metavideo.mp4 -ImageWidth
exiftool -b metavideo.mp4 -ImageHeight
Run Code Online (Sandbox Code Playgroud)
做没有任何greps的工作
单线看起来像:
exiftool -b metavideo.mp4 -ImageSize
Run Code Online (Sandbox Code Playgroud)
这将返回您正在寻找的 WxH 字符串。
| 归档时间: |
|
| 查看次数: |
13193 次 |
| 最近记录: |