CSDN直播BlOB视频流下载,JAVA实现下载直播视频

简介: CSDN直播BlOB视频流下载,JAVA实现下载直播视频

 在网上找了更多,下载直播视频的博文,发现其办法都太过麻烦,于是我钻研了一下,成功实现用java下载直播视频到本地的办法。

原理:直播视频基本原理,是将视频进行视频切片成多个几秒的小视频,其格式多为.ts文件或着.m2u8文件

下面以CSDN为例子讲解如何下载CSDN网站上的直播视频

image.gif编辑

1.打开直播视频页,按F12进入开发者模式,切换到Network,

image.gif编辑

2.用“m3u8”过滤请求,复制第二请求的 URL地址

image.gif编辑

3.放入代码中(API变量后面)请求,得到的4K、高清、标清、流畅四种视频的请求源

image.gif编辑

4.用上个请求地址(截取到最后一个“/”)拼接你想要下载的分辨率的视频源地址,放入url变量中,code如下

注意:连接有时效性,不能下载的时候,请获取最新的连接

import cn.hutool.http.HttpUtil;
import java.io.FileOutputStream;
import java.io.IOException;
public class BlobVideo {
    //要下载的创建的视频地址
    public  final static String fileSavePath="d:/ts/new.mp4";
    //视频源
    public final static String url="https://video.csdnimg.cn/73c634ff71c1479f96b7fb7b1f9292de/video/f00e7e9b70e8445e81bad8ce322869cd-655657db1aadfdcf51ed91e91162df27-video-fd.m3u8?auth_key=1608615189-bb8508ae73dc4dfaa9e63d6f5e5edab7-0-e559005aad8ec494b10224351977a268";
    public static void main(String[] args) {
        String API="https://video.csdnimg.cn/73c634ff71c1479f96b7fb7b1f9292de/f00e7e9b70e8445e81bad8ce322869cd.m3u8?auth_key=1608622392-407a739bc488462a9c1781fe208e1fb9-0-9625912f0ef91ae3150fb8ac66cbc6b4";
        String result= HttpUtil.get(API);
        System.out.println(result);
        downVideo(url,fileSavePath);
    }
    public static void downVideo(String url,String fileSavePath){
        try {
            String result= HttpUtil.get(url);
            String[] lines= result.split("\n");
            url= url.substring(0,url.indexOf("/video/")+7);
            FileOutputStream fs = new FileOutputStream(fileSavePath);
            for (String line : lines) {
                if(!line.contains("#")){
                    byte [] bytes= HttpUtil.downloadBytes(url+line);
                    fs.write(bytes);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

image.gif

需要引用的第三方pom依赖

<!-- hutool工具类-->
    <dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>5.3.6</version>
    </dependency>

image.gif

5.下载结果,可以正常播放

image.gif编辑

未经本人同意,不得转载和用于商业用途!!!

相关文章
|
1月前
|
Java
CSDN每日一练(Java)--小艺的英文名
CSDN每日一练(Java)--小艺的英文名
|
1月前
|
人工智能 监控 算法
java智慧城管源码 AI视频智能分析 可直接上项目
Java智慧城管源码实现AI视频智能分析,适用于直接部署项目。系统运用互联网、大数据、云计算和AI提升城市管理水平,采用“一级监督、二级指挥、四级联动”模式。功能涵盖AI智能检测(如占道广告、垃圾处理等)、执法办案、视频分析、统计分析及队伍管理等多个模块,利用深度学习优化城市管理自动化和智能化,提供决策支持。
223 4
java智慧城管源码 AI视频智能分析 可直接上项目
|
1月前
|
数据采集 JavaScript 前端开发
使用HtmlUnit库的Java下载器:下载TikTok视频
使用Java和HtmlUnit构建TikTok视频下载器,模拟浏览器行为,绕过访问限制。通过爬虫代理配置代理服务器,隐藏真实IP,多线程技术提升下载效率。示例代码展示如何设置HtmlUnit,创建代理,启用JavaScript,下载并处理视频链接。学习了页面模拟、JavaScript交互、代理使用及多线程技术,为实际爬虫项目提供参考。
使用HtmlUnit库的Java下载器:下载TikTok视频
|
1月前
|
存储 前端开发 Java
[java后端研发]——文件上传与下载(2种方式)
[java后端研发]——文件上传与下载(2种方式)
|
1月前
|
分布式计算 Oracle Java
第一篇CSDN博客——Java入门指南:学习Java编程的第一步
第一篇CSDN博客——Java入门指南:学习Java编程的第一步
|
2月前
|
Java
java上传、下载、预览、删除ftp服务器上的文件
java上传、下载、预览、删除ftp服务器上的文件
|
2月前
|
安全 IDE Java
【2024java面试题无需C币下载】终结空指针异常:Java开发者的生存指南
【2024java面试题无需C币下载】终结空指针异常:Java开发者的生存指南
45 1
|
2月前
|
缓存 Java 数据库
2024java面试题无需C币下载 速度之战:全方位解决Java接口慢响应问题
2024java面试题无需C币下载 速度之战:全方位解决Java接口慢响应问题
73 1
|
3天前
|
安全 Java 调度
Java线程:深入理解与实战应用
Java线程:深入理解与实战应用
21 0
|
1天前
|
消息中间件 缓存 NoSQL
Java多线程实战-CompletableFuture异步编程优化查询接口响应速度
Java多线程实战-CompletableFuture异步编程优化查询接口响应速度