如何给视频加边框

简介: 给视频加边框
  • 提取YUV数据
    ffmpeg -i input.mp4 -s 256x256 -pix_fmt yuv420p output_420.yuv
  • 将亮度分量Y设置成255

int simplest_yuv420_border(char *url, int w, int h,int border,int num){
    FILE *fp=fopen(url,"rb+");
    FILE *fp1=fopen("/Users/zhongyizengzy/Downloads/outputvideo/output_420_border.yuv","wb+");


    unsigned char *pic=(unsigned char *)malloc(w*h*3/2);

    for(int i=0;i<num;i++){

        fread(pic,1,w*h*3/2,fp);


        for(int j=0;j<h;j++){
            for(int k=0;k<w;k++){
                if(k<border||k>w-border||j<border||j>h-border){
                    pic[j*w+k] =255;
                }
            }
        }
        //Y
        fwrite(pic,1,w*h*3/2,fp1);


    }

    free(pic);
    fclose(fp);
    fclose(fp1);


    return 0;
}
  • 执行

      simplest_yuv420_border("/Users/zhongyizengzy/Downloads/outputvideo/output_420.yuv",256,256,10,240)
    
  • 将在border内的Y分量设置为255,处理帧数为240
相关文章
|
运维 Cloud Native Devops
「译文」什么是 SRE(站点可靠性工程师)?SRE 是做什么的?
「译文」什么是 SRE(站点可靠性工程师)?SRE 是做什么的?
|
9月前
|
人工智能 自然语言处理 并行计算
大模型面经:任务、clip、diffusion
本文简要介绍了文本生成的常见预训练任务(如MLM、CLM、NSP等),多模态模型中的SOTA模型及CLIP的优势,以及多模态大模型如Stable Diffusion的原理。重点解析了Stable Diffusion的扩散机制与图像生成流程,帮助理解其高效性和广泛应用的原因。
596 5
|
算法 程序员
程序设计的五个步骤
程序的设计过程,并不是立刻就进行代码设计,一般来讲包括设置文件的存放位置、说明书的设计、代码设计、程序测试、程序调试、注释说明。
1490 6
|
人工智能 Java 物联网
没有好的学历,Java开发未来的路应该怎么走?
在数字化时代,Java开发者即使没有高学历,也能通过拥抱新兴技术(如大模型应用与鸿蒙系统开发)、积累实战经验、持续学习新技能等途径实现职业突破。从参与开源项目到关注行业动态,再到规划技术专家或管理路线,建立人脉网络并利用教育平台提升能力,开发者可拓宽技术边界,适应日新月异的技术需求,在未来发展中占据一席之地。
独家直播|DB-GPT架构设计与源码解读(第一期)
🚀 DB-GPT首期源码解读系列上线啦! 10.8 晚7点,与DB-GPT项目发起人陈发强一起,深入探索DB-GPT的架构设计与源码解读。 🔎 直播看点: ● 架构全剖析:从设计思考到架构逻辑,全面剖析DB-GPT。 ● 源码速度解读:多模型管理、智能体、RAG、AWEL等核心模块一网打尽。 ● 项目作者面对面:陈发强,蚂蚁集团DB-GPT开源项目发起人,分享实战经验与洞见。 ● 有问必答:围绕DB-GPT的使用问题有问必答,线上帮你解issue! 👉 立即扫码预约,与DB-GPT作者零距离交流!
|
开发者 Python
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
742 1
|
人工智能 文件存储 计算机视觉
YOLO系列模型发展史
YOLO系列模型从YOLOv3到YOLOv10,不断优化实时目标检测性能和速度。最新版本YOLOv8增加了实例分割、姿态估计等功能。此外,还包括Segment Anything Model(SAM)、MobileSAM、FastSAM、YOLO-NAS、RT-DETR和YOLO-World等模型,分别在不同场景下提供高效的目标检测和分割能力。
755 0
|
存储 编解码 Python
Python 操作 MP4 文件
Python 操作 MP4 文件
438 0
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】模型选择中正则化、交叉验证详解及实战应用(超详细 附源码)
【数据挖掘】模型选择中正则化、交叉验证详解及实战应用(超详细 附源码)
675 0
|
固态存储 内存技术
SCSI命令下发方式<续>:对NVMe硬盘如何实现SCSI命令转换?
我们前面有对SATA硬盘下发SCSI命令,其实对NVMe硬盘下发SCSI的方式大同小异。下面我们就来试一下,这里我们用到的SCSI命令是READ CAPACITY。