如何把m3u8格式转换成mp4格式?
M3U8是苹果公司推出的视频播放标准,它属于M3U的一种,不过编码格式采用的是UTF-8。
准确来说,M3U8是一种索引文件,我们实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。那如何将M3U8转为MP4格式呢?
电脑端点击这里免费下载软件 — 万能视频格式转换工具
步骤1:功能选择
打开视频转换工具,点击”视频转换“功能选项进入;
步骤2:添加文件
点击”添加文件“或者是”添加文件夹“,将m3u8的视频文件添加进入,也可以使用拖拽文件的方式将文件拖拽到软件中;
步骤3:调整参数
选择输出格式视频中的MP4格式,输出目录也可以根据自己的需求自定义一下;
步骤4:完成转换
视频的相关参数调整好之后,最后点击”全部转换“按钮,m3u8转MP4格式就完成了。
在使用软件过程中有任何问题,都可以联系软件客服进行处理。嗨格式团队重视每一位用户的意见和评价,欢迎体验,有机会享受我们增值会员服务~
java 如何将 wmv转mp4,如果java不能转换 其他语言也行 谢谢!!!
如果是java的话要把wmv格式的数据重写拆分,然后写入MP4的jar包。说起来容易,做起来难。
java中用jave转换mp4,如果需要转出video标签能识别的h264编码格式,转换的参数应该怎么写?
把文件转换成H264 MP4格式的操作为:
1.电脑上百度搜索“格式工厂”下载,安装完毕后打开。
2.点击“视频”,选择“MP4”。
3.如果对文件有要求,可以点击“输出配置”进行设置。点击“添加文件”,选择需要转换的格式文件后,点击“确定”。
4.在该界面点击“开始”即可开始转换格式,输出文件位置在“输出配置”里面可以设置/找到。
急急急!!!java 用ffmpeg将上传的视频转成 .mp4 .ogg .webm 3种格式的视频,没思路,麻烦大神给点思路
import java.io.File;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class ConvertVideo {
private final static String PATH = “c:\\ffmpeg\\input\\c.mp4”;
public static void main(String[] args) {
if (!checkfile(PATH)) {
System.out.println(PATH + ” is not file”);
return;
}
if (process()) {
System.out.println(“ok”);
}
}
private static boolean process() {
int type = checkContentType();
boolean status = false;
if (type == 0) {
System.out.println(“直接将文件转为flv文件”);
status = processFLV(PATH);// 直接将文件转为flv文件
} else if (type == 1) {
String avifilepath = processAVI(type);
if (avifilepath == null)
return false;// avi文件没有得到
status = processFLV(avifilepath);// 将avi转为flv
}
return status;
}
private static int checkContentType() {
String type = PATH.substring(PATH.lastIndexOf(“.”) + 1, PATH.length())
.toLowerCase();
// ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
if (type.equals(“avi”)) {
return 0;
} else if (type.equals(“mpg”)) {
return 0;
} else if (type.equals(“wmv”)) {
return 0;
} else if (type.equals(“3gp”)) {
return 0;
} else if (type.equals(“mov”)) {
return 0;
} else if (type.equals(“mp4”)) {
return 0;
} else if (type.equals(“asf”)) {
return 0;
} else if (type.equals(“asx”)) {
return 0;
} else if (type.equals(“flv”)) {
return 0;
}
// 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等),
// 可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式.
else if (type.equals(“wmv9”)) {
return 1;
} else if (type.equals(“rm”)) {
return 1;
} else if (type.equals(“rmvb”)) {
return 1;
}
return 9;
}
private static boolean checkfile(String path) {
File file = new File(path);
if (!file.isFile()) {
return false;
}
return true;
}
// 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等), 可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式.
private static String processAVI(int type) {
ListString commend = new ArrayListString();
commend.add(“c:\\ffmpeg\\mencoder”);
commend.add(PATH);
commend.add(“-oac”);
commend.add(“lavc”);
commend.add(“-lavcopts”);
commend.add(“acodec=mp3:abitrate=64”);
commend.add(“-ovc”);
commend.add(“xvid”);
commend.add(“-xvidencopts”);
commend.add(“bitrate=600”);
commend.add(“-of”);
commend.add(“avi”);
commend.add(“-o”);
commend.add(“c:\\ffmpeg\\output\\a.avi”);
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return “c:\\ffmpeg\\output\\a.avi”;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
private static boolean processFLV(String oldfilepath) {
if (!checkfile(PATH)) {
System.out.println(oldfilepath + ” is not file”);
return false;
}
// 文件命名
Calendar c = Calendar.getInstance();
String savename = String.valueOf(c.getTimeInMillis())+ Math.round(Math.random() * 100000);
ListString commend = new ArrayListString();
commend.add(“c:\\ffmpeg\\ffmpeg”);
commend.add(“-i”);
commend.add(oldfilepath);
commend.add(“-ab”);
commend.add(“56”);
commend.add(“-ar”);
commend.add(“22050”);
commend.add(“-qscale”);
commend.add(“8”);
commend.add(“-r”);
commend.add(“15”);
commend.add(“-s”);
commend.add(“600×500”);
commend.add(“c:\\ffmpeg\\output\\a.flv”);
try {
Runtime runtime = Runtime.getRuntime();
Process proce = null;
String cmd = “”;
String cut = ” c:\\ffmpeg\\ffmpeg.exe -i ”
+ oldfilepath
+ ” -y -f image2 -ss 8 -t 0.001 -s 600×500 c:\\ffmpeg\\output\\”
+ “a.jpg”;
String cutCmd = cmd + cut;
proce = runtime.exec(cutCmd);
ProcessBuilder builder = new ProcessBuilder(commend);
builder.command(commend);
builder.start();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}