免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
使用
<dependency>
<groupId>org.mountcloud</groupId>
<artifactId>ffmpeg-operate</artifactId>
<version>1.0</version>
</dependency>
説明
プロジェクトはFFMPEGインストール環境を使用し、コンソールでFFMPEGのコマンドを使用することができ前提条件。このプロジェクトは大幅にJavaのFFMPEG機能の使用を容易にします。
ビデオを見るのプロパティ(FFMpegVideoInfo)、3:ビデオキャプチャ(FFMpegVideoScreenShot)M3U8(FFMpegVideoFormatM3u8)、2にビデオフォーマット:プロジェクトは、ビデオ1の3つの操作を建てました。また、継承FFMpegOperationBaseて拡張することができます。
機能
1:あなたは、タスクの実装の進捗状況の割合を得ることができます。
2:非常に高いスケーラビリティ。
3:マルチスレッド動作モード。
Demo 用例
@Test
public void convertM3u8() {
//create result bean
FFVideoInfoResult result = new FFVideoInfoResult();
//find video info
FFMpegVideoInfo ffMpegVideoInfo = new FFMpegVideoInfo();
ffMpegVideoInfo.setVideoUrl("D:\\cma_15307640036trzll1p.mp4");
FFMepgVideoInfoTask videoInfoTask = new FFMepgVideoInfoTask(result,ffMpegVideoInfo);
FFTaskContext.getContext().submit(videoInfoTask,null);
String bitrate = "5286k";
//create to m3u8 operation
FFMpegVideoFormatM3u8 m3u8Operation = new FFMpegVideoFormatM3u8();
m3u8Operation.setVideoFileName("D:\\cma_15307640036trzll1p.mp4");
m3u8Operation.setBitrate(bitrate);
m3u8Operation.setTimes(5);
m3u8Operation.setM3u8File("D:\\cma_15307640036trzll1p\\cma_15307640036trzll1p.m3u8");
m3u8Operation.setTsFiles("D:\\cma_15307640036trzll1p\\cma_15307640036trzll1p%5d.ts");
//to m3u8 task
FFMepgVideoFormatM3u8Task task = new FFMepgVideoFormatM3u8Task(m3u8Operation);
//add task
FFTaskContext.getContext().addTask(task);
while(!task.getProgress().getState().equals(FFTaskStateEnum.COMPLETE)){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
}
}
System.out.println("COMPLETE");
}
ノートノート
1:.. FFTaskContext.getContext()addTask(タスク)が非同期タスクであり、FFTaskContext.getContext()(taks)を提出する同期タスクであります