QT如何给视频打时标

1.主要就是拿到每一帧的数据,然后把时间标记打到每一帧图片上即可,代码如下:

其中SLotRecvImgData接收的参数是每一帧图片的字节数组

cpp 复制代码
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 &timestamp)
{
    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博客

相关推荐
云边有个稻草人1 分钟前
【C++】第九节—string类(中)——详解+代码示例
开发语言·c++·迭代器·string类·string的常用接口·string的模拟实现·string的经典例题
煤烦恼21 分钟前
scala类与集合
java·大数据·开发语言·人工智能·scala
1alisa23 分钟前
OBS 录屏软件 for Mac 视频录制
macos·音视频
落榜程序员1 小时前
Java 基础-32-枚举-枚举的应用场景
java·开发语言
晓13131 小时前
第九章Python语言高阶加强-面向对象篇
java·开发语言
2301_776045231 小时前
什么是异步?
开发语言·区块链
xy_optics6 小时前
用matlab探索卷积神经网络(Convolutional Neural Networks)-3
开发语言·matlab·cnn
独好紫罗兰6 小时前
洛谷题单3-P1720 月落乌啼算钱(斐波那契数列)-python-流程图重构
开发语言·算法·leetcode
慕容莞青7 小时前
MATLAB语言的进程管理
开发语言·后端·golang
jimin_callon7 小时前
VBA第三十八期 VBA自贡分把表格图表生成PPT
开发语言·python·powerpoint·编程·vba·deepseek