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+ssm+vue代码视频学习讲解
java+ssm+vue代码视频学习讲解
10 0
|
1天前
|
数据采集 机器学习/深度学习 Java
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
本文介绍了如何使用Java和Apache HttpComponents库从Facebook获取图像数据。通过设置爬虫代理IP以避免限制,利用HttpClient发送请求,解析HTML找到图像链接,然后下载并保存图片。提供的Java代码示例展示了实现过程,包括创建代理配置、线程池,以及下载图片的逻辑。注意,实际应用需根据Facebook页面结构进行调整。
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
|
1天前
|
缓存 前端开发 Java
15:Servlet 3.0文件上传与下载-Java Web
15:Servlet 3.0文件上传与下载-Java Web
29 5
|
1天前
|
JavaScript 前端开发
javaweb文件上传和下载
javaweb文件上传和下载
|
1天前
|
数据采集 存储 安全
增强Java技能:使用OkHttp下载www.dianping.com商家信息
本文介绍如何使用Java和OkHttp库下载并解析www.dianping.com的商家信息,包括名称、价格、评分和评论,存储为CSV。通过设置代理以避开IP限制,并利用多线程提升爬取效率。示例代码展示了配置代理的OkHttpClient创建、请求发送及数据写入CSV的流程。多线程采集有助于提高数据采集速度,确保项目的稳定性和效率。
增强Java技能:使用OkHttp下载www.dianping.com商家信息
|
1天前
|
前端开发 Java Shell
使用纯Java实现一个WebSSH项目再也不用下载Xshell
使用纯Java实现一个WebSSH项目再也不用下载Xshell
39 1
|
1天前
|
人工智能 监控 数据可视化
SaaS模式java智慧工地源码 AI视频智能分析解决工地安监需求 有演示
智慧工地系统充分利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术,以PC端,移动端,平板端三位一体的管控方式为企业现场工程管理提供了先进的技术手段。让劳务、设备、物料、安全、环境、能源、资料、计划、质量、视频监控等十大管理环节变得智慧可控。为建设集团、施工企业、政府监管部门等提供一站式工地现场管理信息化解决方案,是一种崭新的工程现场一体化管理模式。
33 2
|
1天前
|
数据采集 JavaScript 前端开发
使用HtmlUnit库的Java下载器:下载TikTok视频
使用Java和HtmlUnit构建TikTok视频下载器,模拟浏览器行为,绕过访问限制。通过爬虫代理配置代理服务器,隐藏真实IP,多线程技术提升下载效率。示例代码展示如何设置HtmlUnit,创建代理,启用JavaScript,下载并处理视频链接。学习了页面模拟、JavaScript交互、代理使用及多线程技术,为实际爬虫项目提供参考。
使用HtmlUnit库的Java下载器:下载TikTok视频
|
1天前
|
安全 Java 调度
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第12天】 在现代软件开发中,多线程编程是提升应用程序性能和响应能力的关键手段之一。特别是在Java语言中,由于其内置的跨平台线程支持,开发者可以轻松地创建和管理线程。然而,随之而来的并发问题也不容小觑。本文将探讨Java并发编程的核心概念,包括线程安全策略、锁机制以及性能优化技巧。通过实例分析与性能比较,我们旨在为读者提供一套既确保线程安全又兼顾性能的编程指导。
|
1天前
|
安全 Java 开发者
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第15天】本文将深入探讨Java并发编程的核心概念,包括线程安全和性能优化。我们将通过实例分析,理解线程安全的重要性,并学习如何通过各种技术和策略来实现它。同时,我们也将探讨如何在保证线程安全的同时,提高程序的性能。