编译ffmpeg及问题记录(待整理)

编译时的注意事项
想要播放https 配置时需要附带 --enable openssl avformat_open_input返回-1330794744

--enable-opengl 启用OpenGL渲染【默认-否】
--enable-openssl 启用openssl,如果不使用gnutls、libtls或mbedtls,则需要https支持【默认-否】

想要添加文本水印
No such filter: 'drawtext'
--enable-libfreetype 启用libfreetype
ERROR: fontconfig not found using pkg-config
字幕组件不存在,需要安装
下载 https://download.savannah.gnu.org/releases/freetype/
freetype源码的目录
./configure --prefix=/usr/local/freetype
make
sudo make install
freetype2 not found

 

--enable-libxml2 使用C库libxml2启用XML解析,这是dash demuxing支持所必需的【默认-否】
--enable-libfontconfig 启用libfontconfig,对drawtext过滤器很有用【默认-否】
--enable-libfreetype 启用libfreetype,用于drawtext过滤器【默认-否】
--enable-libfribidi 启用libfribidi,改进drawtext过滤器【默认-否】

其他
--enable-jni 启用JNI支持【默认-否】
--enable-librtmp 通过librtmp 【默认-否】启用RTMP[E]支持

需要先下载libX264
--enable-libx264 通过x264实现H.264编码【默认-否】
--enable-libx265 通过x265 【默认-否】启用HEVC编码

#加入可执行权限
chmod +x build.sh
#执行脚本
./build.sh

openssl is incompatible with the gpl and --enable-nonfree is not specified.
--enable-gpl 允许使用GPL代码,生成的库和二进制文件将在GPL 【默认-否】下
--enable-version3 将(L)GPL升级到版本3 【默认-否】
--enable-nonfree 如果允许使用非自由代码,生成的库和二进制文件将是不可重新分发的【默认-否】

 


编译参数参考 https://juejin.cn/post/6844904052807958536
编译问题:https://blog.csdn.net/cwcmcw/article/details/121598555

 

https://blog.csdn.net/EthanCo/article/details/83228982

https://blog.csdn.net/EthanCo/article/details/83228982
参考示例
https://github.com/jiangdongguo/FFMPEG4Android
https://copyfuture.com/blogs-details/202202012011268841
https://github.com/jhflovehqy/NewFFmpeg

avcodec_send_packet failed, res=-1094995529
AVFormatContext 和 AVPacket 不一致(视频-音频)

可以通过直接保存解复用后的packet包实现录像,但这种方法无法改变视频内容,解复用得到的是什么,保存的就是什么。


打开流可以,打开网络视频文件失败
avformat_open_input返回-1330794744
问题原因:ffmpeg编译选项没有未勾选文件协议 --enable-protocols(具体是哪个协议不清楚全部勾选了)
没有找到https协议,重新编译FFmpeg,启用openssl, gnutls或securetransport。
配置时需要附带 --enable openssl

posted @ 2023-02-01 09:29  西瓜皮不甜  阅读(823)  评论(0编辑  收藏  举报