MediaMetadataRetriever 의 getFrameAtTime(long timeUs)를 호출해서mp4에서 사진을 추출했습니다.하지만 너무 띄엄띄엄 사진이 나와서실제 동영상에 들어있는 모든 프레임의 사진을 빼오고 싶은데,안드로이드에서는 지원하는 게 없는건가요?아니면 파서 오픈소스 아시는 분 있으면 가르쳐주세요..제가 찾아봤을 때는 mp4parser라는 것을 써봤는데 파싱하는 방법에 대한 자료가 없더군요.
MediaMetadataRetriever 의 getFrameAtTime(long timeUs)를 호출해서
mp4에서 사진을 추출했습니다.
하지만 너무 띄엄띄엄 사진이 나와서
실제 동영상에 들어있는 모든 프레임의 사진을 빼오고 싶은데,
안드로이드에서는 지원하는 게 없는건가요?
아니면 파서 오픈소스 아시는 분 있으면 가르쳐주세요..
제가 찾아봤을 때는 mp4parser라는 것을 써봤는데 파싱하는 방법에 대한 자료가 없더군요.
mp4는 컨테이너형식입니다..컨테이너에 어떠한 데이터가 들어간지에 대해선 파싱 소스를 구하시면 되길 하겠지만..
들어간 영상 데이터는 h264나 mpeg, 간혹가다 wmv코덱으로 압축되어 있으며 원하시는 bitmap을 구하시려면,
이 영상데이터를 코덱에 맞춰 디코딩까지 해야주셔야 합니다.
java쪽으로도 이런것을 처리하는 소스가 존재하긴 하지만 속도가 나쁩니다.
강좌란에 그루터기님의 ffmpeg 강좌가 있으니 그걸 사용해보시기 바랍니다.
mpeg4의 I, P, B frame 에 대해서 검색 해보시기 바랍니다.
띄엄 띄엄 사진이 나오는 이유는 I frame이 매초마다 존재하지 않는 clip으로 테스트 하셧기 때문이에요.
로그인 유지
mp4는 컨테이너형식입니다..컨테이너에 어떠한 데이터가 들어간지에 대해선 파싱 소스를 구하시면 되길 하겠지만..
들어간 영상 데이터는 h264나 mpeg, 간혹가다 wmv코덱으로 압축되어 있으며 원하시는 bitmap을 구하시려면,
이 영상데이터를 코덱에 맞춰 디코딩까지 해야주셔야 합니다.
java쪽으로도 이런것을 처리하는 소스가 존재하긴 하지만 속도가 나쁩니다.
강좌란에 그루터기님의 ffmpeg 강좌가 있으니 그걸 사용해보시기 바랍니다.