2014-11-14 30 views
2

Jcodec에서 정확한 재생 시간과 정확한 프레임 속도를 얻는 데 어려움을 겪고 있습니다.Android : Jcodec 프레임 속도 및 재생 시간

내 상황은 사용자가 프레임 속도를 1fps, 5fps, 32fps처럼 변경할 수있는 비트 맵 배열을 보여주는 앱을 가지고 있습니다. 모두 1000/fps였습니다. 그래서 1fps는 1 초마다 1 비트 맵, 2fps : 2 비트 맵 등을 표시합니다. 즉, 사용자가 프레임 속도를 제공하는 것입니다. this을 찾았지만 올바른 공식을 얻을 수 없습니다.

그리고 또 하나, 지속 시간에 대해서. 1fps를 원한다면 16 비트 맵을 가질 수 있습니다. JCodec은 16 초짜리 비디오를 만들어야합니다.

어떻게하면됩니까? 비트 맵이 동적이라고 말할 수 있습니다. 내가 아는 바를 기반으로, Jcodec은 하드 코딩 된 기간에 의존합니다. 인코딩 된 프레임 수가 아니라 MP4로 변환됩니다.

미리 감사드립니다.

+0

이 문제에 대한 해결책은 있습니까? 또한 여기에 같은 문제가 있습니다. 덕분에 – ralphgabb

+0

문제를 해결할 수 있었습니까? 나는 같은 문제에 갇혀있다. 어떤 도움을 주시면 감사하겠습니다. 감사 :) –

답변

1

자신을 찾기가 힘들었습니다. API를 통해 검색을 수행했습니다.

FileChooser fc = new FileChooser(); 
File file = fc.showOpenDialog(null); 
SeekableByteChannel bc = NIOUtils.readableFileChannel(file); 
MP4Demuxer dm = new MP4Demuxer(bc); 
DemuxerTrack vt = dm.getVideoTrack(); 
double frameRate = vt.getMeta().getTotalFrames()/vt.getMeta().getTotalDuration();