如何将下载多个m3u8的小视频合并转换为MP4或是其他完整的视频?????

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将下载多个m3u8的小视频合并转换为MP4或是其他完整的视频?????相关的知识,希望对你有一定的参考价值。

1、搜索找到所下载的m3u8格式文件,右键打开所在文件位置,用word打开此文件,里面是文本列表记录,有数千个记录,也就是表示有数千个扩展名为ts的视频文件:

2、图中蓝色部分为视频文件所在目录,进入此目录即可见到所有的.ts视频文件

3、在word所打开的文件里还有许多行如“#EXTINF:4.170000,”“#EXTINF:4.276000,”“ #EXTINF:2.585400,”(注意包含逗号)

等文字,用高级查找替换功能将其删除,使用通配符,查找内容字母后的数字全部用:“?”代替,有几个数字“?”,替换后如下图

4、用同样替换的方法将文件名前面的所有路径删除(查找内容可以直接从文本中复制,所替换的内容空白即可),替换后如下图

5、把文本最前面和最后面的字母内容删除,到此全部仅保留数字为名的ts后缀名文件记录,每两条记录中间有一空行


6、把两个回车符替换为“+”号,即在查找框内输入“^p^p”,替换框内输入“+”,全部替换。替换后检查一下有没有遗漏的,如有手工更改一下,确保全部文件名用“+”号连接。

7、打开运行框输入“cmd”回车,显示命令行提示窗口

8、进入之前找到的ts视频文件所在位置目录,记住盘符(比如H:或D:),复制完整路径

9、在命令行提示窗口输入盘符”H:”(一定是字母冒号的)后回车,然后输入“cd”空一格,在其后面将复制到的文件完整路径粘贴过来回车,即可进入文件所在位置

10、输入命令“copy /b “(注意有空格),然后将前面整理出来的所有带加号的内容粘贴在这里,最后加空格后面输入想要合并成的文件名,如“机械姬.mp4”,回车等待即可

11、需要注意,命令行输入有最大字符数限制,所以可能需要先合并部分文件,然后再在此基础上将后面的文件再合并进去。我试过一次最多能合并大概是1160个文件

参考技术A 最通俗的说法:就是你下载的这些m3u8文件,都不是完整的视频;
你可以使用ckplayer播放器,来播放m3u8文件;
转换方法:
在这些视频文件的临时目录中,新建记事本,将ren
*.*
*.ts复制到记事本中,另存为任意文件名.bat文件,以管理员权限运行批处理,修改临时文件为TS格式;
使用Xilisoft
Video
Converter或者其他转换器,将这些TS文件合并成一个完整的文件;
合并完成后,可以根据需要,转换成任意通用格式的视频文件。本回答被提问者采纳

用Java实现抖音等各种小视频批量转换为gif动态图

本文主要介绍了Java用20行代码实现抖音小视频批量转换为gif动态图,分享给大家,具体如下:

本功能实现需要用到第三方jar包 jave,JAVE 是java调用FFmpeg的封装工具。

1、Java单类实现代码,复制到Spring boot项目中,用idea编辑器 主方法运行。

package com.naughty.userlogin02;
import ws.schild.jave.Encoder;
import ws.schild.jave.EncoderException;
import ws.schild.jave.MultimediaObject;
import ws.schild.jave.encode.EncodingAttributes;
import ws.schild.jave.encode.VideoAttributes;
import ws.schild.jave.info.MultimediaInfo;
import ws.schild.jave.info.VideoInfo;
import ws.schild.jave.info.VideoSize;
import java.io.File;
import java.util.Arrays;
public class VideoToGIf {

    //输出格式
    private static final String outputFormat = "gif";

    /**
     * 获得转化后的文件名
     *
     * @param sourceFilePath : 源视频文件路径
     * @return
     */
    public static String getNewFileName(String sourceFilePath) {
        File source = new File(sourceFilePath);
        String fileName = source.getName().substring(0, source.getName().lastIndexOf("."));
        return fileName + "." + outputFormat;
    }

    /**
     * 转化音频格式
     *
     * @param sourceFilePath : 源视频文件路径
     * @param targetFilePath : 目标gif文件路径
     * @return
     */
    public static void transform(String sourceFilePath, String targetFilePath) {
        File source = new File(sourceFilePath);
        File target = new File(targetFilePath);
        try {
            //获得原视频的分辨率
            MultimediaObject mediaObject = new MultimediaObject(source);
            MultimediaInfo multimediaInfo = mediaObject.getInfo();
            VideoInfo videoInfo = multimediaInfo.getVideo();
            VideoSize sourceSize = videoInfo.getSize();
            //设置视频属性
            VideoAttributes video = new VideoAttributes();
            video.setCodec(outputFormat);
            //设置视频帧率 正常为10 ,值越大越流畅
            video.setFrameRate(10);
            //设置视频分辨率
            VideoSize targetSize = new VideoSize(sourceSize.getWidth() / 5, sourceSize.getHeight() / 5);
            video.setSize(targetSize);
            //设置转码属性
            EncodingAttributes attrs = new EncodingAttributes();
            attrs.setVideoAttributes(video);
            // 音频转换格式类
            Encoder encoder = new Encoder();
            encoder.encode(mediaObject, target, attrs);
            System.out.println("转换已完成...");
        } catch (EncoderException e) {
            e.printStackTrace();
        }
    }

    /**
     * 批量转化视频格式
     *
     * @param sourceFolderPath : 源视频文件夹路径
     * @param targetFolderPath : 目标gif文件夹路径
     * @return
     */
    public static void batchTransform(String sourceFolderPath, String targetFolderPath) {
        File sourceFolder = new File(sourceFolderPath);
        if (sourceFolder.list().length != 0) {
            Arrays.asList(sourceFolder.list()).forEach(e -> {
                transform(sourceFolderPath + "\\\\" + e, targetFolderPath + "\\\\" + getNewFileName(e));
            });
        }
    }

    public static void main(String[] args) {
        batchTransform("C:\\\\Users\\\\tarzan\\\\Desktop\\\\video", "C:\\\\Users\\\\tarzan\\\\Desktop\\\\gif");
    }

}

运行结果:
在这里插入图片描述

视频转换成功
在这里插入图片描述
maven地址:https://download.csdn.net/download/fo_xi/18470560
此文章有帮助到你吗?有问题随时交流!!!

以上是关于如何将下载多个m3u8的小视频合并转换为MP4或是其他完整的视频?????的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫:从m3u8文件里提取小视频的正确操作

实操下载在线m3u8视频为本地mp4

如何将m3u8的ts文件合并到mp4?

cmd合并多个ts文件,ffmpeg快速转ts为mp4文件,通过m3u8合并文件

Python采集某网站小视频内容, m3u8内容下载

将多个blv格式的视频合并为一个mp4格式视频