FFmpeg开发笔记(七十五)使用qrencode和quirc对视频画面读写二维码

上一篇文章《Windows给FFmpeg集成二维码图像的编解码器》介绍了给FFmpeg集成二维码的编解码器qrencode和quirc,接下来讲解如何利用编码器qrencode向视频画面添加二维码,以及如何利用解码器quirc从视频画面读取二维码。

确保Windows系统已经按照《FFmpeg开发实战:从零基础到短视频上线》第一章"1.3 Windows系统安装FFmpeg"的说明安装配置了MSYS,再打开MSYS的MINGW64控制台,输入以下带qrencode滤镜的ffmpeg命令在seas.mp4的左上角添加二维码,二维码的文本内容由序号、时间戳和当前时间组成。

复制代码
ffmpeg -i seas.mp4 -vf qrencode=x=40:y=40:qrcode_width=main_w/6:text="%{n} %{pts} %{gmtime}" ff_qrencode.mp4

接着运行下面的ffplay命令播放添加了二维码的新视频:

复制代码
ffplay -i ff_qrencode.mp4

新视频的播放界面如下图所示,可见该视频的左上方果然添加了二维码图像。

运行以下帮助命令,可查看qrencode滤镜的详细用法。

复制代码
ffmpeg -h filter=qrencode

根据帮助命令的返回结果,可知qrencode滤镜主要有下列几个常用参数:

x:二维码图像左上角的横坐标。

y:二维码图像左上角的纵坐标。

qrcode_width:二维码图像的宽度,可简写为q。

padded_qrcode_width:二维码图像的留白宽度,可简写为Q。

level:二维码图像的容错等级,可简写为l。为0表示低容错,为1表示中等容错,为2表示默认容错,为3表示高度容错。

foreground_color:二维码图像的前景颜色,可简写为fc。

background_color:二维码图像的背景颜色,可简写为bc。

text:二维码的文本内容。

虽然视频画面加上了二维码,可是怎么知道这些二维码是否准确呢?这时就要通过解码器quirc从视频画面读取二维码了。

继续执行以下带quirc滤镜的ffmpeg命令,表示要查看目标视频里的二维码信息:

复制代码
ffmpeg -i ff_qrencode.mp4 -vf quirc -f null -

以上命令的执行结果如下:

复制代码
......
Found QR code at position 40,40 - 40,119 with payload: 193 7.720000 2025-06-03 03:33:46
Found QR code at position 40,40 - 40,119 with payload: 194 7.760000 2025-06-03 03:33:46
Found QR code at position 40,40 - 40,119 with payload: 195 7.800000 2025-06-03 03:33:46
Found QR code at position 40,40 - 40,119 with payload: 196 7.840000 2025-06-03 03:33:46

从quirc滤镜的命令结果可见,解析出来的二维码内容形如"193 7.720000 2025-06-03 03:33:46"这样,说明正确读到了之前添加的二维码时间戳内容。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

相关推荐
LBY_XK11 分钟前
前端实现 web获取麦克风权限 录制音频 (需求:ai对话问答)
前端·音视频
居然是阿宋2 小时前
数字音视频存储揭秘:如何计算PCM音频与YUV/RGB视频的原始文件大小
音视频·pcm
SY.ZHOU3 小时前
AAC编解码
音视频·aac
rjszcb3 小时前
rtsp协议之.c++实现,rtsp,rtp协议框架,模拟多路音视频h264,265,aac,数据帧传输,接收(二)
c++·音视频·aac
音视频牛哥7 小时前
四足机器人远程视频与互动控制的全链路方案
机器人·音视频·大牛直播sdk·四足机器人·rtsp播放器·人形机器人·rtmp播放器
猫头虎9 小时前
首个直播流扩散(LSD)AI模型:MirageLSD,它可以实时把任意视频流转换成你的自定义服装风格——虚拟换装新体验
人工智能·计算机视觉·音视频·实时音视频
脑子缺根弦13 小时前
融合优势:SIP 广播对讲联动华为会议 全场景沟通响应提速
华为·音视频·广播对讲系统
肥or胖1 天前
【FFmpeg 快速入门】本地播放器 项目
开发语言·qt·ffmpeg·音视频
笑虾1 天前
bat 批处理实现 FFmpeg 命令导出 mov 到 png 序列帧
ffmpeg·png·mov·序列帧