【问题标题】:Detect Orientation of Video and auto rotate if needed检测视频方向并在需要时自动旋转
【发布时间】:2012-06-15 12:55:54
【问题描述】:

我正在寻找是否可以获取视频的设备方向以检查它是否需要在 PHP 中使用 ffmpeg 进行旋转。

这甚至可能吗?我已经很容易用图像完成了,但到目前为止我还没有找到任何可以帮助解决这个问题的方法。

【问题讨论】:

  • 你说的是获取电影的纵横比,还是显示设备本身的方向(例如手机的横向/纵向)
  • 设备方向。这样我可以在需要时翻转视频
  • 这就是我在下面发布答案时的想法(我只是取消删除它)。希望对您有所帮助。
  • 你绝对不应该做这个服务器端。
  • 对不起,我想我没有正确解释这个问题。我不想检测播放视频的设备的方向,而是检测拍摄视频的设备的方向。我要解决的问题是上传了一些视频并且它们是横向的。我想检测视频是否需要旋转才能直立显示。我通过从图像中获取设备方向信息来上传图像。我似乎无法弄清楚视频。

标签: php video ffmpeg orientation rotation


【解决方案1】:

设备方向是客户端属性,PHP 是严格的服务器端属性。快速谷歌搜索将我带到this page,其中有一个 iPhone 示例。作者提供了这个函数,在页面加载时调用:

function updateOrientation(){  
    var contentType = "show_";  
    switch(window.orientation){  
        case 0:  
            contentType += "normal";  
            break;  

        case -90:  
            contentType += "right";  
            break;  

        case 90:  
            contentType += "left";  
            break;  

        case 180:  
            contentType += "flipped";  
            break;  
    }  
    document.getElementById("page_wrapper").setAttribute("class", contentType);  
}  

CSS 被定义为处理.show_normal.show_right.show_left.show_flipped 的样式

.show_normal,  
.show_flipped{  
   width:320px;  
}  
.show_left,  
.show_right{  
    width:480px;  
}  

如果您需要 PHP 中的方向值,您可以通过 AJAX 将 window.orientation 的值发送到脚本。还有一个事件:window.onorientationchange,只要方向改变就会触发。我相信窗口上的这两个属性都适用于 iPhone 和 Android 设备。

【讨论】:

    【解决方案2】:
    exiftool -Rotation <filename>
    

    【讨论】:

      猜你喜欢
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      • 2016-04-27
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多