我們常常在網(wǎng)頁上遇到好看的視頻就想保存起來,可是有的視頻文件是m3u8格式的,有的小伙伴可能就難住了,那么這種視頻文件應(yīng)該下載呢,可能有人會用插件或者其他工具下載,方法也是多種多樣的,其實(shí)這種文件就是很多視頻切片成的文件路徑,不能夠直接獲取到視頻流文件,需要解析然后才能下載,話不多說,直接上代碼,下面我們就通過JAVA代碼來實(shí)現(xiàn)!文章來源:http://www.zghlxwxcb.cn/news/detail-743917.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-743917.html
1.代碼主體部分(使用了多線程下載使速度更快,可根據(jù)自己來設(shè)置線程數(shù)量,并不是線程越多下載就越快,跟帶寬和網(wǎng)速都有關(guān)系)
/**
* M3U8下載主體方法
* @param thread 線程數(shù)量
* @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("標(biāo)題","分片","進(jìn)度條","網(wǎng)速")
.map(a->{
if(a.matches("(標(biāo)題|網(wǎng)速|(zhì)分片)")){
JLabel label = new JLabel(a);
root.add(label);
label.setFont(font);
label.setPreferredSize(new Dimension(Objects.equals("網(wǎng)速",a)?400:260,30));
return label;
}JProgressBar bar = new JProgressBar();
root.add(bar);
bar.setPreferredSize(new Dimension(540,10));
bar.
到了這里,關(guān)于如何使用JAVA實(shí)現(xiàn)多線程下載m3u8視頻并且合并代碼親測有效的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!