如何使用JAVA实现多线程下载m3u8视频并且合并代码亲测有效

这篇具有很好参考价值的文章主要介绍了如何使用JAVA实现多线程下载m3u8视频并且合并代码亲测有效。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们常常在网页上遇到好看的视频就想保存起来,可是有的视频文件是m3u8格式的,有的小伙伴可能就难住了,那么这种视频文件应该下载呢,可能有人会用插件或者其他工具下载,方法也是多种多样的,其实这种文件就是很多视频切片成的文件路径,不能够直接获取到视频流文件,需要解析然后才能下载,话不多说,直接上代码,下面我们就通过JAVA代码来实现!

java m3u8,java8,Java NIO,音视频,java,ui文章来源地址https://www.toymoban.com/news/detail-743917.html

1.代码主体部分(使用了多线程下载使速度更快,可根据自己来设置线程数量,并不是线程越多下载就越快,跟带宽和网速都有关系)

/**
	 * M3U8下载主体方法
	 * @param thread 线程数量
	 * @param strings M3U8 URL地址,可下载多个
	 * @throws Exception
	 */
	public void m3u8ByUrls(Integer thread,String...strings) throws Exception{
		JPanel Root = new JPanel(new FlowLayout(FlowLayout.CENTER,0,10));
		Root.setBackground(Color.WHITE);
		Root.setPreferredSize(new Dimension(600,300));
		JScrollPane pane = new JScrollPane(Root);
		pane.setPreferredSize(new Dimension(600,300));
		CompletableFuture.runAsync(()->JOptionPane.showMessageDialog(null,pane,"M3U8下载器",JOptionPane.INFORMATION_MESSAGE));
		for (String urls : strings) {
			if(urls==null || urls.length()<1)continue;
			JPanel root = new JPanel(new FlowLayout(FlowLayout.LEFT,5,10));
			root.setPreferredSize(new Dimension(550,110));
			//root.setBackground(Color.WHITE);
			JComponent[] components = Stream.of("标题","分片","进度条","网速")
			.map(a->{
				if(a.matches("(标题|网速|分片)")){
					JLabel label = new JLabel(a);
					root.add(label);
					label.setFont(font);
					label.setPreferredSize(new Dimension(Objects.equals("网速",a)?400:260,30));
					return label;
				}JProgressBar bar = new JProgressBar();
				root.add(bar);
				bar.setPreferredSize(new Dimension(540,10));
				bar.

到了这里,关于如何使用JAVA实现多线程下载m3u8视频并且合并代码亲测有效的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 视频爬虫:解析m3u8文件 python m3u8库,m3u8文件中.ts视频流的解密下载

    这里需要引用的库是: from Crypto.Cipher import AES 有坑哈, python3.0 之后直接安装crypto你会发现不管怎么着都会报错。 经过查找资料找到了原因,原来是20年之后crypto已经被pycryptohome替换掉啦, 如果之前安装过crypyo 活pycrypto需要先卸载 然后再安装 pycryptohome 就可以啦 首先我们需

    2024年02月14日
    浏览(60)
  • 「Python|音视频处理|场景案例」如何使用ffmpeg下载m3u8视频到本地并保存成mp4

    本文主要介绍如何使用ffmpeg批量下载视频到本地并保存成指定格式。 当我们希望将网页上的视频下载到本地的时候,我们可能获取到的视频地址是指向 .m3u8 格式的,当视频多的时候,手动下载并使用工具转换格式就显得工作量过大。 ffmpeg 是一个强大的音视频处理工具,具体

    2024年02月16日
    浏览(70)
  • 视频防盗链下载,ffmpeg转m3u8,ts实现视频切片

    最近公司有个需求,要求付费的大视频防止下载,不卡顿功能。 优先使用的是阿里的视频点播,自己琢磨没事干,网上很多电影视频网站是如何做到的呢,然后就是各种搜,得到了一下结果 这个video标签的src地址是下载不了的,这下和电影网站的一样了

    2023年04月26日
    浏览(38)
  • DPlayer m3u8 视频禁止下载

    正常的 m3u8 格式视频通过控制台是无法下载的,但是可以通过插件下载,下面介绍如何规避这个问题。 思路: 后端生成一个一次性的密钥,前端放在请求头中 ,可以防止大部分插件下载。这里只说前端。 集成 DPlayer 播放器这里就不说了,网上一大推。

    2024年01月24日
    浏览(38)
  • python 批量下载m3u8的视频

     前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:点击跳转 目录 一,猫抓获取视频地址 二,安装配置ffmpeg 1,windows使用 2,python使用 三,碧站视频 四,合并ts文件 1,背景 2,实现 4,缺点 五,下载m3u8视频 1,背景 2,实现V1 3,实

    2024年02月13日
    浏览(41)
  • ffmpeg 下载网上m3u8的视频文件

    FFmpeg 是一个音视频领域使用最广泛的跨平台开源库。由C语言编写,但广泛的为 C/C++、C#、Java、Python 等主流编程语言所调用。它集合了几乎所有的编码解码库与流协议,几乎能完美处理音视频开发领域的所有需求。 方式一:源码安装 FFmpeg 通过编译源码安装 FFmpeg 的优点是可

    2023年04月09日
    浏览(37)
  • vue使用video.js实现播放m3u8格式的视频

    我使用的video.js版本如下: 在components下新建一个VideoPlayer文件夹 index如下:  直接把地址传给sourceUrl即可

    2024年02月12日
    浏览(42)
  • vue项目如何播放m3u8格式视频

    在node_modeols里面找到@easydarwin下的dist/compent/EasyPlayer-lib.min.js和EasyPlayer.wasm两个文件复制到pubilc目录下 引入 在components中 在模板中

    2024年02月15日
    浏览(51)
  • M3U8在线视频下载(解决DMM等网站下载的视频是dcv格式)

    1.Edge(或chrome浏览器) 2.N_m3u8DL-CLI 1.首先需要你购买的正版视频文件支持视频播放,然后在准备播放界面按F12调出控制台选择网络,之后再点击播放,这时候会弹出新的窗口用于播放,在新的窗口再次按F12调出控制台,这时候会单独打开一个控制台窗口。 2.搜索m3u8找到一个chu

    2024年02月03日
    浏览(115)
  • hls.js如何播放m3u8文件(实例)?

     HLS(HTTP Live Streaming)是一种视频流传输协议,是苹果推出的适用于iOS与macOS平台的流媒体传输协议。它将视频分割成若干个小段,每个小段大小一般为2~10秒不等,并通过HTTP协议进行传输。通过在每个小段之间插入若干秒的间隔,可以提高视频的传输稳定性和用户的观看体验

    2023年04月23日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包