1.主要就是拿到每一帧的数据,然后把时间标志打到每一帧图片上即可,代码如下:
其中SLotRecvImgData接收的参数是每一帧图片的字节数组
- void ShowImgDlg::SLotRecvImgData(QByteArray byteArr)
- {
- QImage image;
- if (image.loadFromData(byteArr)) {
- // 获取当前时间
- QDateTime dateTime = QDateTime::currentDateTime();
- QString timestamp = dateTime.toString("yyyy-MM-dd hh:mm:ss");
- // 在图片上绘制时间戳
- drawTimestampOnImage(image, timestamp);
- QPixmap pixmap = QPixmap::fromImage(image);
- ui->label->setPixmap(pixmap);
- ui->label->setFixedSize(pixmap.size());
- }
- }
- void ShowImgDlg::drawTimestampOnImage(QImage &image, const QString ×tamp)
- {
- QPainter painter(&image);
- painter.setPen(Qt::white); // 设置画笔颜色为白色
- painter.setFont(QFont("Arial", 12)); // 设置字体和大小
- // 计算时间戳的位置
- int x = 10;
- int y = image.height() - 20;
- // 绘制时间戳
- painter.drawText(x, y, timestamp);
- }
复制代码 其他打时标的方法可以参考下述链接:
【Qt+FFmpeg】给视频添加时间水印_ffmpeg添加时间水印-CSDN博客
麒麟银河操作系统V10部署ffmpeg(也能用于Linux系统)_银河麒麟 ffmpeg-CSDN博客
基于FFMPEG水印添加---avfilter库-CSDN博客
【Qt+FFmpeg】给视频添加时间水印_ffmpeg添加时间水印-CSDN博客
【Qt+FFmpeg】解码播放本地视频(一)_ffmpeg怎么读取和播放视频-CSDN博客
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |