2011-02-09 4 views

답변

5

, 비디오 또는 오디오 파일에 대한 기술 및 태그 정보의 수십를 제공합니다.

subs4me's source tree에있는 MediaInfo 용 JNI 래퍼가 매우 유용합니다. 여기

는 미디어 파일에서 일부 정보를 추출하는 방법을 보여 일부 코드 조각입니다 :

File file   = new File("path/to/my/file"); 
MediaInfo info = new MediaInfo(); 

info.open(file); 

String format  = info.get(MediaInfo.StreamKind.Video, i, "Format", 
          MediaInfo.InfoKind.Text, 
          MediaInfo.InfoKind.Name); 

int bitRate  = info.get(MediaInfo.StreamKind.Video, i, "BitRate", 
          MediaInfo.InfoKind.Text, 
          MediaInfo.InfoKind.Name); 

float frameRate = info.get(MediaInfo.StreamKind.Video, i, "FrameRate", 
          MediaInfo.InfoKind.Text, 
          MediaInfo.InfoKind.Name); 

short width  = info.get(MediaInfo.StreamKind.Video, i, "Width", 
          MediaInfo.InfoKind.Text, 
          MediaInfo.InfoKind.Name); 

int audioBitrate = info.get(MediaInfo.StreamKind.Audio, i, "BitRate", 
          MediaInfo.InfoKind.Text, 
          MediaInfo.InfoKind.Name); 

int audioChannels = info.get(MediaInfo.StreamKind.Audio, i, "Channels", 
          MediaInfo.InfoKind.Text, 
          MediaInfo.InfoKind.Name); 
3

vikiiii 솔루션은 작동을하지만, 내가 발견

  • 는 아직 약간의 작업이 필요 내 데스크톱에서 모든 것을 실행하십시오. 결과적으로 ("(BitRate)를"같은)
  • 우리는 상수의 단서가 없다

가능 (... 파일을 검색, 코드를 추출, DLL을 다운로드) I는 Windows Mediainfo를 응용 프로그램과 검색을 설치 한 일부 Java Enum과 쉬운 사용법을 생성하는 데 사용할 수있는 키입니다.

github https://github.com/clun/movies-metadata에있는 저장소를 만들어 동일한 위치에있는 저장소를 모두 만들었습니다. 샘플 프로젝트에서 mvn:test을 실행하면 MP4, OGG, AVI, FLV, WEBM 및 MKV 샘플에 대한 정보를 얻을 수 있습니다. 여기

시험의 샘플 코드 :

MovieMetadata movieMedataData = new MovieMetadata("./src/test/resources/small.mkv"); 
    movieMedataData.get(General.FORMAT); 
    movieMedataData.get(Video.DURATION_STRING); 
    movieMedataData.get(Video.WIDTH_STRING); 
    movieMedataData.get(Video.HEIGHT_STRING); 
    movieMedataData.get(Video.BITRATE_STRING); 
    movieMedataData.get(Audio.COMPRESSION_RATIO); 
    //... 
관련 문제