js 视频水印去除

参考文档:http://txapi.cn/api
收费

  • 识别要解析的类型(需要收费)
const axios = require('axios')
class Parse{
    // 初始化方法
    constructor() {
        this.token = "Z1QljZOZiT4NTG"  // token
        // 请求地址数组对象
        this.req_urls = {
            dy: "http://api.txapi.cn/v1/parse_short_video/dy",
            ks: "http://api.txapi.cn/v1/parse_short_video/ks",
            xhs: "http://api.txapi.cn/v1/parse_short_video/xhs",
        }
        this.url = ''  // 要解析的地址
        this.type = ''  // 用来存储识别到的类型
    }
    // 万能解析
    parse_video(){
        axios({
            url: this.req_urls[this.type],
            method: 'POST',
            headers: {
                'Content-Type': "application/x-www-form-urlencoded"
            },
            responseType: 'json',
            data: {
                token: this.token,
                url: this.url
            }
        })
        .then(resp => {
            // 校验是否解析成功
            if(resp.data.code != 200 && resp.data.msg != "OK"){
                console.log("解析失败")
            }
            else{
                // 获取到解析后的数据
                const data = resp.data.data
                console.log(data)
                var type = data.type  // 类型:1视频 2图片集
                var title = data.title  // 标题
                var cover_url = data.cover_url  // 封面地址
                var video_url = data.video_url  // 无水印视频地址
                var imgs = data.imgs  // 无水印图片数组
            }
        })
    }
    // 获取类型
    get_type(){
        if(this.url.match(/http[s]?:\/\/v\.douyin\.com\/[^ ]+/) != null){
            console.log("识别到【dy】链接")
            return "dy"
        }
        else if(this.url.match(/http[s]?:\/\/v\.kuaishou.com\/[^ ]+/) != null){
            console.log("识别到【ks】链接")
            return "ks"
        }
        else if(this.url.match(/http[s]?:\/\/xhslink\.com\/[^ ]+/) != null){
            console.log("识别到【xhs】链接")
            return "xhs"
        }
        else{
            console.log("未识别到链接类型,请输入正确的链接")
            return null
        }
    }
    // 使用正则区分要解析的链接是哪个平台的【dy、ks、xhs】
    run(url){
        // 1、把url保存给实例变量【方便后期使用】
        this.url = url
        // 1、获取类型
        this.type = this.get_type();
        if(!this.type){
            return
        }
        // 2、调用万能解析
        this.parse_video()
    }
}
if(__filename === process.mainModule.filename) {
    // new一个Parse对象
    const p = new Parse()
    // 调用run方法
    p.run("https://v.douyin.com/hoDBW9H")
    p.run("https://v.kuaishou.com/C75B2q")
    p.run("http://xhslink.com/fKihbj")
}

不收费:(这边只说下大概实现思路,具体操作没试过,因为我们这边是通过接口python来实现的)

  • 抖音去水印
    逻辑:

通过短链获取到视频mid,通过mid获取到视频详情,再通过视频详情拿到视频地址,将有水印替换为无水印即可

let res=await uniCloud.httpclient.request(
"https://v.douyin.com/efKYWbU/",{method:"GET",
dataType: 'text'})
//视频获取mid
let mid=res.headers.location.split("/")[5]
//通过mid获取视频详情
let body= await uniCloud.httpclient.request("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids="+mid,{dataType: 'text'});

body=JSON.parse(body.data)
//初始化视频信息
res={desc:body.item_list[0].desc,video:body.item_list[0].video.play_addr.url_list[0].replace("playwm","play"),
image:body.item_list[0].video.origin_cover.url_list[0],
music:body.item_list[0].music.play_url.url_list[0]
}
//把视频地址转换成无水印的
let temp=await uniCloud.httpclient.request(
res.video,{method:"GET",
dataType: 'text'})
res.video=temp.headers.location

//打印视频结果
console.log(res)
  • 小红书去水印
    逻辑:

1.通过复制短链转换拿到长链(长链在header里有个location字段)
2.通过长链请求拿到源码(需要在header传个cookie和User-Agent字段,不然小红书会提示系统版本过低无法拿到数据)
3.全局查找里面会有几个以.mp4结尾的视频,拿到视频后去除u002F,同时把域名sns-video-al.xhscdn.com换为sns-video-bd.xhscdn.com就是无水印的视频啦!

cookie和User-Agent字段可通过电脑端F12在network里查找搜索explore会找到这个网页,然后查看其header传参数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用FFmpeg去除视频中的水印,可以使用delogo滤镜。delogo滤镜可以通过指定坐标和大小来抹去视频中的水印。使用delogo滤镜需要指定水印的位置和大小参数。 在FFmpeg官方网站上可以查看关于delogo滤镜的详细参数说明。请确保你的FFmpeg版本支持delogo滤镜,你可以通过输入"ffmpeg -version"命令来查看你的FFmpeg版本。 要去除视频中的水印,可以使用以下命令: ffmpeg -i 视频 -vf delogo=x=18:y=9:w=179:h=63 新视频 其中,视频是你要去除水印的原始视频文件,新视频是输出的去除水印后的视频文件名称。x、y、w和h参数分别代表水印的位置和大小,你可以根据实际情况调整这些参数值。 请注意,使用FFmpeg去除视频水印是一种较为简单的方法,效果可能因视频水印的特点而有所不同。如果视频水印比较复杂或者位置变化较大,可能需要其他更复杂的方法来去除水印。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [使用FFMPEG工具包移除视频水印](https://blog.csdn.net/mozushixin_1/article/details/89189399)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [使用ffmpeg去除视频水印【ffmpeg】](https://blog.csdn.net/chipang7687/article/details/100724743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值