知识点:在使用vcastr3.swf播放器播放flv视频,(同时在html5页面,使用《video》标签时),发现某些MP4格式的代码不能播放html
缘由:vcastr3.swf和video,不支持mpeg4编码格式的MP4视频播放html5
参考:http://www.runoob.com/html/html5-video.html (video标签)java
https://www.cnblogs.com/frost-yen/p/5848781.html (ffmpeg经常使用命令)linux
https://blog.csdn.net/daidaineteasy/article/details/53861429 (html使用vcastr3.swf播放器播放flv视频)ide
https://www.cnblogs.com/ghlin/articles/8202842.html (linux下java使用ffmpeg将MP4视频转为H264编码)工具
解决方案:1:后台获取编码格式给用户,不容许上传编码
2:利用ffmpeg工具,将mpeg4转化h264格式的视频文件spa
方案2代码:.net
配置ffmpeg环境变量之后,可以使用命令直接转换编码方式code
视频编码格式转换
好比一个视频的编码是MPEG4,想用H264编码,咋办?
ffmpeg -i input.mp4 -vcodec h264 output.mp4 //input.mp4是指要转换视频的地址;output.mp4是转化后视频的存放路径
相反也同样
ffmpeg -i input.mp4 -vcodec mpeg4 output.mp4
java代码实现视频编码格式转换
private void transfer(String infile,String outfile) {
String videoCommend = "ffmpeg -i " + infile + " -vcodec libx264 -r 29.97 -b 768k -ar 24000 -ab 64k -s 1280x720 "
+ outfile;
try {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(videoCommend);
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ( (line = br.readLine()) != null)
System.out.println(line);
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch (Throwable t) {
t.printStackTrace();
}
}