FFMPEG录像推流时遇到的问题

FFMPEG录像推流时遇到的问题,记录一下供大参考

  1. ret = avformat_write_header( ofmt_ctx, NULL );

执行写入头后,所有的流的时间基都会被内部重新设置,所以并不你想象的把原来的时间直接入到avPACKET中就可以发送了。必须要把你每个流的PACKET时间转换到对应流的时间。 也就是要用新的时基进行转换一下。

  1. av_interleaved_write_frame(fmt_ctx, &enc_pkt);返回-22

发现是由于时间戳的问题,注意每个流中的时间基是一样的,之后的每个时间戳都是越来越大,出现不正确的时间就会返回-22. 这个我是在录像时发现的。同样推流时也会出现。

  1. avformat_free_context( ofmt_ctx ); 出错

查找了半天发现是由于我在初始化时把里面的一些已经分配好的内存进行了重新分配,导致他在释放时出错, 也就是说在上下文中有好多的内存都是内部自动分配,这样的内存就直接使用就可以。如果你修改了他在释放时会出错

  1. ret = avio_open( &ofmt_ctx->pb, (char*)m_szURL, AVIO_FLAG_WRITE );

当时也是怪了,当录像时总是打不开文件,返回非0,但文件却是创建了,只有1K。找了半天还是自己的问题,我用同一个名在别的地方打开了同时打开了一次, 造成冲突了。 其实录像时这个地方就是一个单纯的文件操作,所以不成功就只从文件角度去考虑就行了。 如文件独占,权限不够,路径问题等。都是我们自己的问题。

相关推荐
OH_TPC20 小时前
【鸿蒙优选三方库】@ohos/ffmpeg-kit:把 FFmpeg 的全部能量带进鸿蒙
华为·ffmpeg·harmonyos·鸿蒙
是jin奥20 小时前
最新 FFmpeg 安装脚本:Linux x86_64
linux·运维·ffmpeg
骑着蜗牛撵大象32721 小时前
用 Codex 批量做数字人商品口播视频:从分镜 JSON 到成片校验的流水线
java·ffmpeg·json·音视频·数字人·视频·codex
企业数字化笔记1 天前
视频加放大特写后音画不同步怎么办?OpenCV转场与FFmpeg音轨续接实战
opencv·ffmpeg·音视频
开开心心就好3 天前
课堂随机点名工具,绿色版免安装双击即用
java·服务器·前端·ffmpeg·音视频·perl·symfony
小鹿软件办公3 天前
不依赖 FFmpeg 也能录屏?ShareX 22 新增录屏等十余款新工具
ffmpeg·sharex·免费录屏工具
lll23526917793 天前
Android APP短视频音频提取,主流工具怎么选
ffmpeg·音视频
成都旺小宝科技4 天前
首访决策人没来,AI一客一策两天成交!
大数据·人工智能·机器学习·ffmpeg·语音识别
余槐i4 天前
加了Cookie yt-dlp仍报HTTP 403:3个容易漏的请求头差异
python·http·ffmpeg·开发工具·yt-dlp
余槐i4 天前
yt-dlp 线程开到 16 反而更慢:1000 个视频的实测与限速原因
性能优化·ffmpeg·自动化·开发工具·yt-dlp