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开发实战:从零基础到短视频上线》一书。

相关推荐
愚公搬代码35 分钟前
【愚公系列】《AI短视频创作一本通》020-AI短视频创作实例精解(文旅宣传AI短视频实例精解)
人工智能·音视频
有位神秘人39 分钟前
Android获取设备中本地音频
android·音视频
硫酸锌0141 分钟前
使用ffmpeg合并文件夹内的所有*.mp4格式视频
ffmpeg·音视频
源文雨1 小时前
shell调用ffmpeg递归转换所有wav至flac的脚本
ffmpeg·bash·音视频·音频·unix·shell·音频编码
西部秋虫1 小时前
迷你视频会议系统(FlashMeeting)
opencv·ffmpeg·视频会议·回声抑制
愚公搬代码1 小时前
【愚公系列】《AI短视频创作一本通》019-AI语音及音乐的创作(AI短视频语音创作实例)
人工智能·音视频
iWZXQxBO13 小时前
运动控制卡 倒R角程序 G代码 halcon联合运动控制卡联合相机 运动控制卡内容
音视频
woshikejiaih18 小时前
**播客听书与有声书区别解析2026指南,适配不同场景的音频
大数据·人工智能·python·音视频
浩瀚之水_csdn19 小时前
av_packet_alloc详解
ffmpeg
Mr数据杨19 小时前
【ComfyUI】AV-FunASR 音频转文本
音视频