业务需求,需要点击按钮实现视频倒序流畅播放,
现在代码通过递减修改视频当前播放时间实现,但是效果很卡顿,有什么更好的方法吗?谢谢
现在代码通过递减修改视频当前播放时间实现,但是效果很卡顿,有什么更好的方法吗?谢谢

1 Xusually Jun 29, 2022 via iPhone 递减播放时间每个小片段还是在正着放 只不过是多个时间片段往后移 倒放我只会 ffmpeg reverse 逃) |
3 zythum Jun 29, 2022 处理视频, 让内容不要做差帧。但是视频体积会变大 ffmpeg -c:v libx264 -vf "format=yuv420p" -g 1 |
4 muzuiget Jun 29, 2022 很难,首先视频编码每一个 fragment (即最小解码单位),里面的帧并不一定按播放时间顺序编码的,所以你至少把一个 fragment 所有帧解码后,把所有帧倒序画到画面上。 但是浏览器没有提供这种 API ,当然可以用 WASM 软解硬杠,但是显然很难达到流畅播放的要求。 所以还是预处理,在服务器用 ffmpeg 倒序重编码一次,然后切片生成 DASH 文件,用 Javascript 控制播放进度,就可以无缝切换。 |
5 shintendo Jun 29, 2022 什么鬼畜的业务需求 |
6 jink2018us Jun 30, 2022 做视频的来回答一下,流畅倒放对视频的编码有要求,所以单前端做不到流畅。死心吧 |
7 Rocketer Jun 30, 2022 via iPhone 显然产品经理不知道压缩过的视频每一帧都是建立在前面帧的基础上的。 你跟他讨论一下怎么倒着建楼吧,先建最高层,然后逐渐往下建。 |
8 Bijiabo Jun 30, 2022 via Android HTML5 没有提供硬件解码底层 API ,这个需求纯靠前端暂时无法做到。要看你具体场景,如果是应用内嵌页面,交由原生实现。如果是纯网页,让后端预处理吧 |
9 jifengg Jun 30, 2022 别说 web 了,就是原生平台,你也很难找到可以实时倒放视频的播放器。 弄正反俩视频来切换播放吧。 |
10 Liam1997 Jun 30, 2022 TENET 是吧 |
11 dengshen Jun 30, 2022 via iPhone 把原视频传上去后保存一份后反转在传一份 然后正序播放反转的视频 |
12 zhttp Jun 30, 2022 先找到最后一个 GOP ,然后全部解码,从后往前送显,逻辑上并不复杂,问题在于一次性解码二三十帧,内存会吃掉多少,解码性能够用不?感觉还是后台准备好一个正序一个倒序两个视频比较靠谱。 |