V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
a1274598858
V2EX  ›  Java

求 Java 后端比较可靠的视频压缩办法

  •  
  •   a1274598858 · 2019-11-16 20:49:37 +08:00 · 6056 次点击
    这是一个创建于 1594 天前的主题,其中的信息可能已经有所发展或是发生改变。

    html5 安卓上录制的视频 4-5 秒就达到了 8M,苹果的就会自动压缩成 500kb 左右。。

    9 条回复    2019-11-18 11:56:52 +08:00
    areless
        1
    areless  
       2019-11-16 20:57:09 +08:00 via Android
    某些浏览器前端可以转成 webm 格式。后端都是调用 ffmpeg 的。html5 前端不转~还会有 4k10bit hdr 巨无霸传上来~~~
    murmur
        2
    murmur  
       2019-11-16 21:11:50 +08:00
    视频的压缩比是很低的,你看着直播很流畅是因为很多人就是坐那里一动不动,尤其是唱歌的主播,他们的直播数据量跟音频+gif 差不多,但是游戏直播,尤其是吃鸡这种动作幅度很大的,一转身开车一片马赛克滑过,信息都压缩没了
    真到了无法压缩的时候,苹果也没啥优势
    a1274598858
        3
    a1274598858  
    OP
       2019-11-16 21:18:36 +08:00
    @areless
    @murmur

    1# 前端转怕小程序的 webview 不兼容,正在了解 ffmpeg,试了下 7m 的 1-2s 可以转成功,有点怕这种通过命令调用的在并发高的情况下会出错。


    2# 主要录制的是读数字。不需要太高清。能看清人脸和听清唇语就好了。如果文件大的话,第三方活体接口响应会很慢
    duan602728596
        4
    duan602728596  
       2019-11-16 21:20:48 +08:00 via iPhone
    视频处理大部分都是用的 ffmpeg
    phantomzz
        5
    phantomzz  
       2019-11-16 21:21:08 +08:00
    @a1274598858 容器化运行 ffmpeg,多起几个 pods,然后调度,同一个容器下的进程可以加锁,同步执行。
    cheng6563
        6
    cheng6563  
       2019-11-17 11:33:08 +08:00 via Android
    压视频只能 ffmpeg 无二法
    手机端可以编译 arm 的 ffmpeg
    前端不知道能不能用 WebAssembly
    chihiro2014
        7
    chihiro2014  
       2019-11-18 00:04:26 +08:00
    具体参考下小丸的吧,压缩参数看一看,说不定有帮助
    cloverstd
        8
    cloverstd  
       2019-11-18 09:57:08 +08:00
    先存起来,然后 ffmpeg 异步去压缩
    a1274598858
        9
    a1274598858  
    OP
       2019-11-18 11:56:52 +08:00
    @chihiro2014
    @cloverstd
    @cheng6563
    @phantomzz
    已经找到方案了,前端限制不能超过 8M,后台只处理超过 4M 就压缩。先同步操作试一段时间

    压缩基本上 1-2s 可以处理完,已经很理想了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1419 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:26 · PVG 01:26 · LAX 10:26 · JFK 13:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.