QT怎样给视频打时标

打印 上一主题 下一主题

主题 677|帖子 677|积分 2031

1.主要就是拿到每一帧的数据,然后把时间标志打到每一帧图片上即可,代码如下:
其中SLotRecvImgData接收的参数是每一帧图片的字节数组
  1. void ShowImgDlg::SLotRecvImgData(QByteArray byteArr)
  2. {
  3.     QImage image;
  4.     if (image.loadFromData(byteArr)) {
  5.         // 获取当前时间
  6.         QDateTime dateTime = QDateTime::currentDateTime();
  7.         QString timestamp = dateTime.toString("yyyy-MM-dd hh:mm:ss");
  8.         // 在图片上绘制时间戳
  9.         drawTimestampOnImage(image, timestamp);
  10.         QPixmap pixmap = QPixmap::fromImage(image);
  11.         ui->label->setPixmap(pixmap);
  12.         ui->label->setFixedSize(pixmap.size());
  13.     }
  14. }
  15. void ShowImgDlg::drawTimestampOnImage(QImage &image, const QString &timestamp)
  16. {
  17.     QPainter painter(&image);
  18.     painter.setPen(Qt::white);  // 设置画笔颜色为白色
  19.     painter.setFont(QFont("Arial", 12));  // 设置字体和大小
  20.     // 计算时间戳的位置
  21.     int x = 10;
  22.     int y = image.height() - 20;
  23.     // 绘制时间戳
  24.     painter.drawText(x, y, timestamp);
  25. }
复制代码
其他打时标的方法可以参考下述链接:
【Qt+FFmpeg】给视频添加时间水印_ffmpeg添加时间水印-CSDN博客
麒麟银河操作系统V10部署ffmpeg(也能用于Linux系统)_银河麒麟 ffmpeg-CSDN博客
基于FFMPEG水印添加---avfilter库-CSDN博客
【Qt+FFmpeg】给视频添加时间水印_ffmpeg添加时间水印-CSDN博客
【Qt+FFmpeg】解码播放本地视频(一)_ffmpeg怎么读取和播放视频-CSDN博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

盛世宏图

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表