php - 如何使用ffmpeg php检查视频是横向还是纵向?

标签 php ubuntu ffmpeg

在使用 ffmpeg 旋转之前,我必须检查视频是横向还是纵向。
请帮我。

最佳答案

Getting video dimension from ffmpeg -i

  • 获取信息。
  • 提取维度。
  • 如果 x < y,则为纵向。其他景观。

  • 例如:
    $output = shell_exec("ffmpeg -i $myvideo");
    $out_arr = explode("\n", $output);
    foreach($out_arr as $line) {
      if( preg_match('/^Stream.*Video:/', trim($line)) ) {
        // match line: 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
        $line_arr = explode(',', $line);
        // get field: 640x360 [PAR 1:1 DAR 16:9]
        $target_arr = explode(' ', $line_arr[2]);
        // get parts: 640x360
        $dims = explode('x', $target_arr[0]);
        $res_x = $dims[0];
        $res_y = $dims[1];
      }
    }
    
    if( !( isset($res_x) && isset($res_y) ) ) {
      die('Could not get dimensions');
    } else {
      $orientation = ($res_x < $res_y) ? 'Portrait' : 'Landscape';
      printf('Resolution: %s x %s\nOrientation: %s\n', $res_x, $res_y, $oreintation);
    

    不过,我不知道您为什么要旋转视频的拍摄方式。旋转后,您最终会看到横向视频。

    关于php - 如何使用ffmpeg php检查视频是横向还是纵向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15298004/

    相关文章:

    java - 在注册页面中,即使是空格也会被注册,mysql数据库-php- android

    PHP 1x while 2x for 循环极大地减慢了加载速度

    php - 获取 userid 与另一个表中的 userid 匹配的数据的最简单方法

    ffmpeg - "Unsupported huge granule pos -123480"尝试使用 ffmpeg 从视频中提取的 .opus 转换为 .wav 时

    javascript - Laravel PHP 验证对比JavaScript 验证

    php - 在从 Ubuntu 卸载 XAMPP 之前意外删除了 lampp 文件夹。我现在如何进行卸载?

    linux - Ubuntu bash 脚本重用输入变量

    java - Caps Lock 键卡住 JavaFX 应用程序线程

    android - FFMPEG:覆盖video_audio不连接或合并android

    python - 如何编码 25fps