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

移动端视频编辑开发思路

  •  
  •   fyvincentteam · 2020-12-07 16:20:28 +08:00 · 9570 次点击
    这是一个创建于 1477 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前在开发视频编辑功能,想法是用 ffmpeg 解码得到所有的帧,处理帧图像最后重新打包。 想问下有开发过的大大能分享下你们的做法吗

    12 条回复    2020-12-08 14:12:14 +08:00
    rust
        1
    rust  
       2020-12-07 17:42:50 +08:00
    为什么要解码所有帧?
    用户要编辑哪一片段,你再去解码那些帧啊.然后处理完再拼接回去.
    记得用 MediaCodec 的硬件加速来
    hello2060
        2
    hello2060  
       2020-12-07 18:12:14 +08:00 via iPhone
    @rust 基本没有办法拼接回去的吧。输出就是一个写文件 muxing 的过程,哪怕最简单的文件格式不变,所有没变化的 packet 直接原样重新输出,只编码编辑过的帧我觉得就挺难的。
    rust
        3
    rust  
       2020-12-07 18:23:07 +08:00
    @hello2060 我的意思是,用户选中视频片段的时候就后台切片,用户编辑过的导出成视频片段,然后按照对应的时间段拼接回去.最终合并成完整的一个视频
    renmu123
        4
    renmu123  
       2020-12-07 18:25:36 +08:00 via Android   ❤️ 1
    博客 teahour 有一期请了搞手机端搞这个的,可以去听一下
    AX5N
        5
    AX5N  
       2020-12-07 18:31:05 +08:00
    电脑不香吗
    gggxxxx
        6
    gggxxxx  
       2020-12-07 18:43:26 +08:00 via iPhone
    思路是比较靠谱的,只不过不用解码所有帧。一般是预览到哪一针才解码那一针,跟播放视频是一样的。
    所谓编辑就是记录修改参数,preview 和 export 的时候直接套用
    hello2060
        7
    hello2060  
       2020-12-07 18:48:47 +08:00
    @rust 难度应该就在拼接这一块可能,时间戳不会是问题,哪怕稍微有点不准确。因为视频文件不仅仅是音视频帧,还有 metadata, 比如 mp4 就有一个 moov 里面具体指明了每一帧在文件中的位置大小时间长度,当然这些都是 muxer 输出的,而且一个文件同时有原编码器产生的帧和新编码器产生的帧,不知道是否能够无缝合作。

    我记得我们当时 h.264 的帧有 NAL 有两种编码方式,你必须读出原来的格式,强制新编码器也用这种格式。反正具体的细节挺多的。而且你看这只是一种视频编码,不同的视频编码方法可能会有不同的问题。

    不过我我是做库的,具体没做过视频编辑啦。
    rust
        8
    rust  
       2020-12-07 18:54:46 +08:00
    @hello2060 我们在服务器上面用 FFMpeg 随意切片,等用户编辑好了之后再拼接回来的.好像也没有出现问题
    Lemeng
        9
    Lemeng  
       2020-12-07 21:53:57 +08:00
    所有的桢啊
    small3flower
        10
    small3flower  
       2020-12-08 11:35:04 +08:00
    @renmu123 这个博客很赞,我翻了一遍标题没找到有关于移动端视频的,麻烦大佬抽空找下看看是哪一期呢
    renmu123
        11
    renmu123  
       2020-12-08 11:45:21 +08:00
    @small3flower #10 我记错了,是另一个博客《 ggtalk 》里面的一期《聊聊音视频技术》
    small3flower
        12
    small3flower  
       2020-12-08 14:12:14 +08:00
    @renmu123 哦哦,好的,这个我听过了,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3036 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 13:54 · PVG 21:54 · LAX 05:54 · JFK 08:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.