java ts视频提取_java调用ffmpeg实现转换视频

本文介绍如何使用Java调用ffmpeg工具将不同格式的视频转换为TS流。通过研究ffmpeg命令和Java调用外部程序的方法,实现视频转换功能。详细代码包括ffmpeg转换实现、测试类和异常处理,以及使用Xuggle获取TS流的时长、大小和分辨率。
摘要由CSDN通过智能技术生成

最近由于项目需要把不同格式的视频转换为ts流,故研究了一下ffmpeg。在网上找了很多资料,主要参考了Java+Windows+ffmpeg实现视频转换功能。

期间也加了几个qq群,咨询了各大高手,其中在代码中关于ffmpeg的命令就是来自其中一个qq群里面的大神。

下载相关文件

ffmpeg地址,我下载是windows 64位static版本。

xuggler下载地址

下面的代码我上传到了github,需要的可以下载下来看看。

步骤:

1.研究java如何调用外部程序

2.研究ffmpeg转换视频格式的命令

3.利用xuggle获取ffmpeg解析的ts流的时长、分辨率以及文件大小。

下面直接上代码:

1.ffmpeg转换实现

package vedio.ffmpeg;

import java.io.File;

import java.util.ArrayList;

import java.util.List;

public class FfmpegUtil {

public static Boolean ffmpeg(StringffmpegPath, String inputPath, String outputPath) throwsFFmpegException{

if (!checkfile(inputPath)) {

throw newFFmpegException("文件格式不合法");

}

int type =checkContentType(inputPath);

List command = getFfmpegCommand(type,ffmpegPath, inputPath, outputPath);

if (null != command &&command.size() > 0) {

return process(command);

}

return false;

}

private static int checkContentType(StringinputPath) {

String type =inputPath.substring(inputPath.lastIndexOf(".") + 1,inputPath.length()).toLowerCase();

//ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)

if (type.equals("avi")) {

return 1;

} else if (type.equals("mpg")){

return 1;

} else if (type.equals("wmv")){

return 1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值