随笔 - 317, 文章 - 0, 评论 - 453, 阅读 - 114万
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

海康摄像头相关备忘

Posted on   PHP-张工  阅读(680)  评论(0编辑  收藏  举报

海康摄像头抓图
curl --insecure --anyauth -u admin:password -X GET http://admin:password@192.168.110.19/ISAPI/Streaming/channels/110/picture >d:/b.jpg

海康RTSP流
rtsp://admin:password@192.168.110.19:554/Streaming/Channels/201

ffmpeg压缩海康录像文件 压缩率大概 15%
ffmpeg -i Downtest_ch0001_00000003678000000.mp4 -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart output.mp4 -y

JS Video截图上传代码

复制代码
// 视频绘制canvas画布、截图上传
function canvasUpload() {
    let v = $('video')[0];
    let canvas = document.createElement("canvas");
    canvas.width = v.videoWidth;
    canvas.height = v.videoHeight;
    let ctx = canvas.getContext("2d");
    ctx.drawImage(v, 0, 0, canvas.width, canvas.height);
    // document.body.appendChild(canvas);
    let imgSrc = canvas.toDataURL("image/jpeg", 0.8);
    $('#img1').prop('src', imgSrc);


    //获取裁剪完后的base64图片url,转换为blob
    var data = imgSrc;
    var formData = new FormData();
    formData.append("img_file", dataURLtoBlob(data));
    var httprequest = null;
    if (window.XMLHttpRequest) {
        httprequest = new XMLHttpRequest();
    } else {
        httprequest = new ActiveXObject('MicroSoft.XMLHTTP');
    }
    var apiurl = "save.php?sn=" + $('#txtSn').val(); //上传图片的api接口,自行填写
    httprequest.open('POST', apiurl, true);
    httprequest.send(formData);
    httprequest.onreadystatechange = function () {
        if (httprequest.readyState == 4) {
            if (httprequest.status == 200) {
                console.log('上传成功');
            }
            else {
                console.error('获取数据错误,错误代码:' + httprequest.status + '错误信息:' + httprequest.statusText);
            }
        }
    };
}

//把base64位的toDataURL图片转换成blob
function dataURLtoBlob(dataurl) {
    var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
        bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
    while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
    }
    return new Blob([u8arr], { type: mime });
}
复制代码

 

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
历史上的今天:
2017-09-21 js 生成随机炫彩背景
2012-09-21 C# 简易日志记录类
点击右上角即可分享
微信分享提示