《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

相关文章

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一