0
点赞
收藏
分享

微信扫一扫

ffmpeg视频滤镜:添加边框-drawbox

booksmg2014 2024-11-06 阅读 3

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 &timestamp)
{
QPainter painter(
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博客

举报

相关推荐

0 条评论