【问题标题】:Rotating an Mp4 on android without using the metadata rotation tag在不使用元数据旋转标签的情况下在 android 上旋转 Mp4
【发布时间】:2017-07-13 19:39:43
【问题描述】:

我遇到了一个问题,过去几天我一直在尝试解决有关 Android 上 MP4 文件轮换的问题。我目前正在开发将 MP4 文件作为字节流从安卓设备发送到另一台设备上播放的应用程序。

我遇到的问题是,在 android 设备上以纵向模式录制的视频在接收流的播放器上旋转 90 度显示。

我尝试使用 MP4Parser 从原始 MP4 创建一个新的 MP4,并更改了旋转。我还尝试通过创建新的 MP4 更改媒体格式中的 key-rotation 来更改旋转,并且还尝试在创建新的 Muxer 时更改 orientation hint

所有这些方法都有效,但似乎只是改变了轮换元数据。在某些播放器中,正在读取此元数据并正在应用轮换。但是,用于我们应用程序的目标播放器中使用的播放器无法读取此元数据。

我唯一的解决方案是创建一个临时 MP4,它已旋转视频数据,然后将其发送出去。我找到了在 MP4 中旋转单个 YUV image frames 的资源,但我的问题是如何从输入的 MP4 中检索这些帧并将修改后的帧写入新文件?


注意:我正在使用 Xamarin 构建应用程序,并尝试使用 FFMPEG,但添加二进制文件会使项目太大,我也担心许可。

【问题讨论】:

    标签: android rotation mp4 video-processing android-mediacodec


    【解决方案1】:

    我们最终采用了 FFMPEG 实现,将文件发送到其他地方进行转换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 2021-02-10
      相关资源
      最近更新 更多