《FFmpeg开发实战:从零基础到短视频上线》资源下载和内容勘误

2024-06-23 14:12

本文主要是介绍《FFmpeg开发实战:从零基础到短视频上线》资源下载和内容勘误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

资源下载

下面是《FFmpeg开发实战:从零基础到短视频上线》一书用到的工具和代码资源:
1、本书使用的FFmpeg版本为FFmpeg 5.1.2,也可在FFmpeg的github主页上下载最新的FFmpeg源码。
2、本书第12章使用的Android Studio版本为Android Studio Dolphin(小海豚版本)。
3、本书提供所有示例源码的demo工程下载,扫描前言末尾的二维码即可下载完整的随书源码。最新的源码也可访问我的gitee获取,gitee地址是https://gitee.com/aqi00/ffmpeg。
4、本书提供配套的ppt课件下载,扫描前言末尾的二维码即可下载完整的随书ppt。
5、学习音视频开发用到了一些开源工具,本书也提供这些工具的安装文件或者软件源码,扫描前言末尾的二维码即可下载完整的工具包集合。

参考资料

1、所谓零基础指的是FFmpeg零基础,不是C语言零基础,在学习本书之前,建议您先学完谭浩强的《C程序设计》,并且掌握基本的Linux操作命令。
2、在学习第11章之前,建议先入门Qt平台的C++桌面编程。
3、在学习第12章之前,建议先入门Android平台的Java移动编程,可参考笔者的App开发专著《Android Studio开发实战:从零基础到App上线(第3版)》。
4、更多的FFmpeg进阶资料参见《FFmpeg开发笔记全目录(FFmpeg开发实战详解,含直播系统的搭建过程)》。

勘误记录

下面对书中的笔误之处进行更正说明:

1、第3页的“1.2.1  Linux开发机配置要求”
该小节最后一段的第一行,“以华为云的最低档配置为例”改为“以华为云的某个入门档配置为例”,也就是把“最低档”改为“某个入门档”,因为服务商推出的云产品配置是动态变化的。

2、“1.4.3  第一个FFmpeg程序”
“编译通过后执行./hello命令”改为“编译通过后执行./helloc命令”,也就是把程序名hello改为helloc,因为前面编译出来的程序名称叫做helloc。

3、第251页的“8.1.5  给FFmpeg集成x265”
该小节“1. 编译x265”这部分第二段第二行的“在弹出的文件对话框中选择解压后的x265源码目录”改为“在弹出的文件对话框中选择解压后的x265源码下的source目录”,也就在这句末尾的“目录”前面添加“下的source”。

4、第264页的“8.2.3  修改FFmpeg源码解决乱码”
该页代码后面的“接着回到FFmpeg源码的目录,依次执行下面的编译与安装命令。”这行改成下面几段文字:
因为以上代码引用了iconv库的相关函数,所以要声明链接iconv库,也就是打开FFmpeg源码目录下的configure文件,把下面这行
avutil_extralibs="d3d11va_extralibs nanosleep_extralibs pthreads_extralibs vaapi_drm_extralibs vaapi_x11_extralibs vdpau_x11_extralibs"
改为下面这样,即在该行末尾补充了“ iconv_extralibs”表示增加链接iconv库:
avutil_extralibs="d3d11va_extralibs nanosleep_extralibs pthreads_extralibs vaapi_drm_extralibs vaapi_x11_extralibs vdpau_x11_extralibs iconv_extralibs"

接着回到FFmpeg源码的目录,依次执行下面的配置、编译与安装命令。
./configure --prefix=/usr/local/ffmpeg --arch=x86_64 --enable-shared --disable-static --disable-doc --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libdavs2 --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libfreetype --enable-iconv --enable-zlib --extra-cflags="-I/usr/local/lame/include" --extra-ldflags="-L/usr/local/lame/lib" --cross-prefix=x86_64-w64-mingw32- --target-os=mingw32

5、第330页的“10.1.1  FFmpeg集成SDL”
该小节“1. 编译与安装sdl2”这部分第一行的“源码的入口页面是https://github.com/libsdl-org”改为“源码的入口页面是https://github.com/libsdl-org/SDL”,也就是在该网址后面增加“/SDL”。

6、第378页的“11.1.1  安装桌面开发工具Qt”
该页中间的这行命令“E:\qt-unified-windows-x64-online.exe --mirror http://mirrors.tuna.tsinghua.edu.cn/qt”改成下面的安装命令:“E:\qt-unified-windows-x64-online.exe --mirror https://mirrors.aliyun.com/qt”,也就是把清华大学的镜像地址改为阿里云的镜像地址,因为阿里云的镜像地址更稳定。

这篇关于《FFmpeg开发实战:从零基础到短视频上线》资源下载和内容勘误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087381

相关文章

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

ps基础入门

1.基础      1.1新建文件      1.2创建指定形状      1.4移动工具          1.41移动画布中的任意元素          1.42移动画布          1.43修改画布大小          1.44修改图像大小      1.5框选工具      1.6矩形工具      1.7图层          1.71图层颜色修改          1

加载资源文件失败

背景         自己以前装了一个海康的深度学习算法平台,试用期是一个月,过了一个月之后,因为没有有效注册码或者加密狗的支持了导致无法使用,于是打算卸载掉,在卸载一个软件的时候,无论是使用控制面板还是软件自带的卸载功能,总是卸载不掉,提示“加载资源文件失败”。该软体主要包括以下两部分: 用自带卸载功能卸载的时候分别提示如下:     用控制面板卸载的时候反应很慢,最后也是提示这个

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

Android多线程下载见解

通过for循环开启N个线程,这是多线程,但每次循环都new一个线程肯定很耗内存的。那可以改用线程池来。 就以我个人对多线程下载的理解是开启一个线程后: 1.通过HttpUrlConnection对象获取要下载文件的总长度 2.通过RandomAccessFile流对象在本地创建一个跟远程文件长度一样大小的空文件。 3.通过文件总长度/线程个数=得到每个线程大概要下载的量(线程块大小)。