坑记:FFmpeg用movie+overlay做图片水印
来源:互联网 发布:国产纪录片 知乎 编辑:程序博客网 时间:2024/06/06 18:53
今天,想在代码中用下ffmpeg中的movie+overlay滤镜弄下图片水印,Filter描述字符串为“movie=xxx.png[over];[in][over]overlay[out]”,按照正常的创建输入buffersrc,输出buffersink,创建filter graph,然后从YUV文件中读取一帧放入所创建好的filter graph中,读取帧的过程如下:
AVFrame* frame = av_frame_alloc(); frame->width = width; frame->height = height; frame->format = AV_PIX_FMT_YUV420P; // frame->pts = 0; // 必要设置 int size = avpicture_get_size(AV_PIX_FMT_YUV420P, frame->width, frame->height); uint8_t* buffer = (uint8_t*)av_malloc(size); avpicture_fill((AVPicture*)frame, buffer, AV_PIX_FMT_YUV420P, frame->width, frame->height); while(1) { // 读取YUV数据 if(fread(buffer, 1, width*height*3/2, fYuv) <= 0) { break; } else if(feof(fYuv)){ break; } frame->data[0] = buffer; frame->data[1] = buffer + width * height; frame->data[2] = buffer + width * height * 5 / 4; // 使用水印....}
结果没有看到想要的结果。
查了好久,才发现图片水印需要放入的AVFrame的pts不为负数,最后在初始化frame的时候手动将pts初始化(上面代码注释处),才顺利通过。
0 0
- 坑记:FFmpeg用movie+overlay做图片水印
- 用ffmpeg命令叠加图片水印
- ffmpeg OverLay
- 用png格式图片和非png格式图片做水印图片
- FFmpeg overlay video
- ffmpeg水印
- 利用Photoshop做批量水印图片
- 使用GD库做图片水印
- Android使用FFmpeg给图片视频添加水印
- 只做map overlay
- 利用ffmpeg实现添加图片水印和文字水印。代码和命令实现及中文水印乱码
- php GD库做水印功能,合并图片
- java做图片加水印的功能代码
- 图片水印
- 图片水印
- 图片水印
- 水印图片
- 水印图片
- session的创建时机
- python : turtle 画正多边形
- SSH整合(附上IbaseDao和分页查询)
- ZOJ3703 Happy Programming Contest
- [编程题]循环单词
- 坑记:FFmpeg用movie+overlay做图片水印
- Servlet基础
- Spring总结
- GIT能做什么、它和SVN在深层次上究竟有什么不同
- 表达式求值
- HDU5533 Dancing Stars on Me(计算几何)
- 在Ubuntu14.04上快速部署OpenStack
- php pdo连接mysql数据库
- How to merge MPTCP Kernel Source with Android 5.x ?