JAVA/동영상

[동영상] FFmpeg로 동영상 재생 시간 추출하기(WINDOW)

민덕이 2019. 11. 11. 17:07

이번 포스팅은 JAVA에서 FFmpeg을 사용하여 동영상 재생시간을 추출하려고 한다.

 

 

 

먼저 https://ffmpeg.zeranoe.com/builds/에서 다운로드 한다.

다운받은 zip파일을 C드라이브에 압축 해제한다.

 

Builds - Zeranoe FFmpeg

 

ffmpeg.zeranoe.com

 

 

 

 

환경 변수 설정을 한다.

필자 경로는 C:\ffmpeg-20191109-0f89a22-win64-static\bin 이다.

 

커멘트 창을 실행해 테스트 해보자.

정상적으로 설치되면 아래 그림과 같이 나온다.

> ffmpeg

 

 

 

다음 코드로 테스트 해보자.

pom.xml에 추가해주자

<dependency>
	<groupId>net.bramp.ffmpeg</groupId>
	<artifactId>ffmpeg</artifactId>
	<version>0.6.2</version>
</dependency>

 

 

 

Main 함수를 실행하니 재생 시간이 정상적으로 추출되었다.

import java.io.IOException;

import net.bramp.ffmpeg.FFprobe;
import net.bramp.ffmpeg.probe.FFmpegFormat;
import net.bramp.ffmpeg.probe.FFmpegProbeResult;

public class VideoTimeCut {

	public static String media_player_time() {
		System.out.println("@@ media_player_time start @@");
		String returnData = "0";

		try {
			FFprobe ffprobe = new FFprobe("C:/ffmpeg-20191109-0f89a22-win64-static/bin/ffprobe.exe"); // window에 설치된  ffprobe.exe 경로
			FFmpegProbeResult probeResult = ffprobe.probe("C:/Users/Min/Desktop/test1/test.mp4"); // 동영상 경로
			FFmpegFormat format = probeResult.getFormat();
			double second = format.duration; // 초단위

			returnData = second + "";
			System.out.println("second==" + second);

		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			System.out.println("@@ media_player_time end @@");
		}

		return returnData;
	}

	public static void main(String[] args) throws IOException {
		media_player_time();
	}
}