V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
auto8888
V2EX  ›  问与答

哪里能学到 ffmpeg 开发成体系的知识?

  •  
  •   auto8888 · 2021-03-25 16:10:20 +08:00 · 2894 次点击
    这是一个创建于 1369 天前的主题,其中的信息可能已经有所发展或是发生改变。

    近期接触到 ffmpeg 取流和存储相关业务,本人音视频 0 基础,要裂开了。

    ffmpeg 感觉有点坑,指针套指针,内容又多,买了书都是说指令的,开发一笔带过,雷霄骅的体系差了点,不知道从哪看起,源码 ffmpeg.c 基本 0 注释。。。

    第 1 条附言  ·  2021-03-26 09:10:36 +08:00
    FFmpeg 从入门到精通这本书我也买了,确实垃圾。。。
    8 条回复    2021-03-26 08:43:00 +08:00
    23571113
        1
    23571113  
       2021-03-25 18:01:17 +08:00   ❤️ 2
    先学习音视频基础知识,这里是某个视频压制组的教程 https://vcb-s.nmm-hd.org/ ,可能只要看前面入门的几个就行了。
    有了基础知识就是需要什么功能找 libav 对应的代码片段看就行了,搭个简单的框架还是非常容易的。如果想了解更多可以看 mpv 的源码,功能非常多的播放器,本人今年业余时间全都用来看 mpv 代码都没看完。
    agoodob
        2
    agoodob  
       2021-03-25 18:40:47 +08:00
    好像中文书只有一本,我之前也看 IINA 和 mpv 和 ffmpeg 的代码来着,懂了一丢丢,也没啥大进展
    agoodob
        3
    agoodob  
       2021-03-25 18:41:22 +08:00
    我的目标是类似 IINA 一样做一个 macOS 上的播放器,所以也要用到 mpv 。这个播放器是字幕编辑器的一部分。
    agoodob
        4
    agoodob  
       2021-03-25 18:42:41 +08:00
    agoodob
        5
    agoodob  
       2021-03-25 18:43:23 +08:00
    fgodt
        6
    fgodt  
       2021-03-25 18:53:33 +08:00   ❤️ 2
    音视频的体系很大,你要先从一个小点切入。
    我推荐的路线:
    1. 先学会一个简单的容器如:flv
    2. 用 ffmpeg 和 sdl 写一个 h264 的播放器
    3. 用 ffmpeg 写一个编码工具如 yuv 编码成 264
    这样基本就了解音视频的点了,无非就是 未编码数据->编码->封装->解码->未编码数据
    对应 ffmpeg 就是 avcode:编解码 avformat:解复用
    知道这些你再看 ffmpeg 源码就很简单了
    Meltdown
        7
    Meltdown  
       2021-03-25 22:26:31 +08:00 via Android
    ffmpeg 从入门到精通,先看用命令行能实现哪些功能,再看源码,例子怎么实现这些功能
    zhongrs232
        8
    zhongrs232  
       2021-03-26 08:43:00 +08:00
    《 FFmpeg 从入门到精通》 https://item.jd.com/11221752535.html ,这本书根本没必要买,作者就是凑字数的,把一堆编译选项,命令参数介绍抄了一遍,而且这本书几乎全讲 ffmpeg 命令行,关于 API 代码部分只有几个基本的例子,看网上博客都比它要好,这是我在京东唯一的一个差评
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3448 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:12 · PVG 19:12 · LAX 03:12 · JFK 06:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.