我遇到了一个问题,我过去几天试图解决Android上的MP4文件轮换问题。我目前正致力于应用程序,它将从Android设备发送MP4文件作为字节流,以便在另一台设备上播放。
我遇到的问题是在Android设备上以纵向模式录制的视频正在接收流的播放器上旋转90度。
我尝试使用 MP4Parser 更改旋转,从原始创建新的MP4。我还尝试通过创建新的MP4来更改旋转,更改媒体格式中的键旋转,并在创建新的Muxer时尝试更改方向提示。
所有这些方法都有效,但似乎只是改变了旋转元数据。在一些播放器中,正在读取该元数据并且正在应用旋转。但是,用于我们应用程序的目标播放器中使用的播放器无法读取此元数据。
我唯一的解决方案是创建一个临时MP4,它已经旋转了视频数据,然后将其发送出去。我已经找到了在MP4中轮换个人YUV image frames的资源,但我的问题是如何从输入的MP4中检索这些帧并将修改过的MP4写入新文件?
注意:我正在使用Xamarin构建应用程序,并且我尝试使用 FFMPEG ,但添加二进制文件会使项目过大而我也有关于许可的担忧。
答案 0 :(得分:0)
我们最终使用FFMPEG实现将文件发送到其他地方进行转换。