• 2023java攻克了抖音视频去水印视频下载


    2023java攻克了抖音视频去水印视频下载

    1、过滤链接

    /**
         * 过滤链接,获取http连接地址
         * @param url
         * @return
         */
        public static String decodeHttpUrl(String url) {
            int start = url.indexOf("http");
            int end = url.lastIndexOf("/");
            String decodeurl = url.substring(start, end);
            return decodeurl;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2、获取视频链接

     Connection con = Jsoup.connect(url);
            con.header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1");
            Connection.Response resp = con.method(Connection.Method.GET).execute();
            String strUrl = resp.url().toString();
            String videoId = strUrl.substring(strUrl.indexOf("video/"), strUrl.lastIndexOf("/")).replace("video/", "");
            String b = "https://m.douyin.com/share/video/"+videoId;
            String finalVideoAddress = getVideoStreamUrl2(b);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3、下载视频链接

    /**
         * 下载
         * @param videoAddress
         * @param desc
         */
        private static String downloadVideo(String videoAddress,String desc) {
            try {
                videoAddress = "https:"+videoAddress;
                System.out.println(videoAddress);
                String file2 = "C:\\data\\douyin";
                String ids= UUID.randomUUID().toString().replace("-", "");
                String file1=file2+"\\"+ids+"";
                File file = new File(file1+".mp4");
                file.createNewFile();
                BaseAdapter adapter = new SpliderAdapter();
                Map<String, String> maps = new HashMap<>();
                System.out.println("\n-----视频保存路径-----\n" + file1+".mp4");
                return adapter.getVideo(file1, videoAddress, maps, "mp4");
            } catch (IOException e) {
            }
            return "";
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
  • 相关阅读:
    ssm和springboot的区别
    人脸生成对抗+人脸识别流程+insightface
    Java 数据结构 ---》 泛型
    29 | 在 centos中部署 openssl
    Oracle 中文排序 Oracle 中文字段排序
    Linux常用命令
    【Azure 事件中心】Azure Event Hub 新功能尝试 -- 异地灾难恢复 (Geo-Disaster Recovery)
    Python Opencv实践 - 视频目标追踪MeanShift
    请求方式 ajax 原理
    spring cloud笔记--微服务基础
  • 原文地址:https://blog.csdn.net/sinat_15153911/article/details/133999277