如何将下载多个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或是其他完整的视频?????的主要内容,如果未能解决你的问题,请参考以下文章