V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
okwork
V2EX  ›  问与答

用什么方法,才能正确识别视频文件的形状尺寸(dimension)?横向 or 竖向?

  •  
  •   okwork · 2018-06-29 10:07:30 +08:00 · 2808 次点击
    这是一个创建于 2337 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下面这个是竖屏的视频文件,但是视频信息显示是 1280 x 720px,用 ffmpeg 获取到的信息也是 width =1280px height=720px 这样就会导致视频处理的时候,被当作一个横屏视频来处理,有时候还要考虑到旋转视频,就会导致判断错误。

    用什么方法,才能正确识别视频文件的形状尺寸( dimension)?几何横向 or 竖向?

    dimension.png

    源文件:VID_20180629_094755.mp4

    7 条回复    2018-06-29 12:08:18 +08:00
    maskzyx
        1
    maskzyx  
       2018-06-29 10:25:48 +08:00 via Android   ❤️ 1
    mediainfo 显示 rotation=90,ffprobe 显示 rotate:90
    classyk
        2
    classyk  
       2018-06-29 10:40:01 +08:00 via iPhone
    碰到用手机拍的视频怎么办,中途方向会变的。每一帧单独处理么?
    Grubber
        3
    Grubber  
       2018-06-29 11:09:30 +08:00   ❤️ 1
    Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuvj420p(pc, smpte170m), 1280x720, 14027 kb/s, SAR 1:1 DAR 16:9, 29.98 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
    Metadata:
    rotate : 90
    creation_time : 2018-06-29T01:47:57.000000Z
    handler_name : VideoHandle
    Side data:
    displaymatrix: rotation of -90.00 degrees

    ffmpeg 输出信息,不知道能不能根据这个判断。
    okwork
        4
    okwork  
    OP
       2018-06-29 11:38:02 +08:00
    @maskzyx 你用什么参数获取的?我 ffprobe -show_streams -show_format VID_20180629_094755.mp4 看不到 rotation 这个参数

    @classyk 这是个情况还比较少遇到,如果中途旋转时系统记录了 rotation 信息,就根据这个值来调整

    @Grubber 你这个是通过 ffmpeg -i VID_20180629_094755.mp4 -f ffmetadata metadata.txt 方式输出的吗?我的信息里没看到 rotate 你是哪个版本的 ffmpeg?
    Grubber
        5
    Grubber  
       2018-06-29 11:41:07 +08:00
    直接通过 `ffmpeg -i VID_20180629_094755.mp4` 输出的

    我试了一下横屏拍的视频 `Metadata` 是没有输出 `rotate : 90` 的,另外 ffmpeg 版本是 3.4 的。
    maskzyx
        6
    maskzyx  
       2018-06-29 11:47:42 +08:00 via Android
    @okwork 没加参数,直接 ffprobe V...mp4 就能看到,ffprobe 版本 4.0.1
    okwork
        7
    okwork  
    OP
       2018-06-29 12:08:18 +08:00
    @Grubber 是的,我用的也是 3.4,可能有些视频生成的时候就没有记录 rotation 信息

    @maskzyx 我用的 ffprobe version 3.4.2-1~14.04.york1.2 Copyright (c) 2007-2018 the FFmpeg developers 直接 ffprobe v...mp4 输出的信息里没有 rotate 信息,估计是版本问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3110 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:46 · PVG 21:46 · LAX 05:46 · JFK 08:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.