【问题标题】:Streaming Android-recorded video online在线流式传输 Android 录制的视频
【发布时间】:2014-11-26 10:15:58
【问题描述】:

我正在从事一个快递服务项目。我为我们的员工开发了一个 Android 应用程序,它可以用作相机应用程序,他们可以用它来制作照片和视频记录。当照片或视频文件准备好时,此应用程序可以自动将其上传到服务器(如果 WiFi 连接处于活动状态)。服务器维护一个网站,我们可以在其中查看每个员工的日常工作,包括照片和视频文件的链接。当然,通过任何浏览器访问照片都没有问题,但是视频文件存在这样的问题。

我们不限制员工使用的 Android 设备,只限制使用 Android 2.3.3 或更高版本的设备(当然必须配备摄像头)。视频是使用 CamcorderProfile.QUALITY_LOW 设置写入的,因此其格式取决于设备决定此 CamcorderProfile.QUALITY_LOW 是什么。在桌面 (Windows) 上查看来自不同设备的视频文件没有问题。我和我的主管有一些浏览器插件,所以这些文件可以在浏览器中打开。但我们希望有一个现场视频观看解决方案,不需要任何浏览器插件或客户端的其他软件。

所以问题是:

  1. 什么是最好的视频格式,可以在不将整个文件下载到客户端(如 YouTube)的情况下启用在线视频观看,视频记录可能很长(一小时、两小时甚至更长)。

  2. 我需要什么工具将 Android 录制的视频文件通用转换为该格式,而无需手动指定输入文件格式(因为它可能完全不同)?我们的服务器由“SMP Debian 3.2.63-2+deb7u1 x86_64"”提供支持。

我可能错过了什么。对不起,这是我第一个处理视频的项目,我缺乏知识。

【问题讨论】:

    标签: android video-streaming html5-video


    【解决方案1】:

    我回答我自己的问题,因为这一切似乎已经决定了。经过进一步研究,我决定我们将在我们的网站上使用标签流式传输所有内容,唯一的来源将是 .mp4 (H.264),因为我们认为 99.9% 的用户不会有任何问题。我是 Windows 用户,在 Google Chrome、Mozilla Firefox 和 Microsoft Internet Explorer 中观看 H.264 视频没有问题,我们的大多数客户都会这样做。

    至于将视频转换为 H.264,ffmpeg 将完成这项工作。我已经做了一些测试,一切都很好。真正的问题是管理视频旋转,因为所有视频都是从 Android 手机以纵向模式录制的,而在 Android 上,这是通过以横向模式(本机相机方向)录制帧来完成的,但在 meta 中指定 90 度旋转属性数据。大量的视频播放器和 Firefox 拒绝理解它。这个问题可以通过这样的命令中的“转置”和“旋转”来解决:

    ffmpeg -i 1.avi -vf "transpose=1" -r 25 -b:a 64k -b:v 256k -metadata:s:v:0 rotate=0 r1.mp4
    
    • -vf "transpose=1" 将帧物理旋转 90 度
    • -metadata:s:v:0 rotate=0 清除元数据中的旋转属性,因为旋转已经完成

    剩下的工作是调整输出质量的参数,编写批量转换脚本,将其放在 crontab 上,并编写 HTML 和 JS 以供人们观看此视频。

    【讨论】:

      猜你喜欢
      • 2017-03-16
      • 2014-06-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      相关资源
      最近更新 更多