【问题标题】:Exoplayer 2: Play video in reverseExoplayer 2:反向播放视频
【发布时间】:2020-01-23 15:45:08
【问题描述】:

我的 android 应用在 Exoplayer 2 中播放视频,现在我想向后播放视频。 我搜索了很多,发现只有将其转换为 gif 和this from WeiChungChang 的想法。 有没有更直接的解决方案?对我来说实现这个的另一个播放器或库可能要求太多,但将其转换为反向 gif 给我带来了很多记忆问题,我不知道如何处理 WeiChungChang 的想法。仅反向播放 mp4 就足够了。

【问题讨论】:

    标签: android video exoplayer2.x


    【解决方案1】:

    视频经常被编码,因此给定帧的编码取决于它之前的一帧或多帧,有时也取决于它之后的一帧或多帧。

    换句话说,要正确创建帧,您可能需要参考一个或多个先前帧和一个或多个后续帧。

    这允许视频编码器通过对每个参考帧(有时称为 I 帧)的信息进行完全编码来减小文件或传输大小,但对于参考帧之前和/或之后的帧,仅存储参考帧的增量。

    向后播放视频不是常见的播放器功能,播放器通常必须像往常一样(即向前)解码视频以获取帧,然后以相反的顺序播放它们。

    您可以自己扩展 ExoPlayer 来执行此操作,但如果可能的话,首先在服务器端操作视频可能更容易 - 存在可以反转视频的工具,然后您的播放器将能够正常播放它,因为例如https://www.videoreverser.comhttps://www.kapwing.com/tools/reverse-video

    如果您需要在设备上为您的用例反转它,那么您可以在设备上使用 ffmpeg 来实现这一点 - 请在此处查看示例 ffmpeg 命令:

    如果您使用的是 ffmpeg,通常最容易通过 Android 上的包装器使用,例如这个,它还允许您在将命令添加到应用程序之前对其进行测试:

    请注意,视频处理需要时间和处理器,因此如果视频很长,这可能会很慢并且消耗的电量比您在移动设备上想要的要多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-20
      • 1970-01-01
      • 2022-10-11
      • 1970-01-01
      • 2016-04-20
      相关资源
      最近更新 更多