마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

동영상 배속 재생방법 질문이요

0 추천
동영상을 배속재생시키고 싶은데 어떤방법이 있나요 ?

간단하게는 안될거같은데 .. 도움 부탁드려요
보꼬 (1,630 포인트) 님이 2016년 3월 17일 질문

1개의 답변

0 추천
구글에서 제공하는 API로 간단히 조절하는건 없어서 보통 영상의 출력 시간 조정+오디오 피치보정 과정을 통해 배속을 지원합니다.

영상의 경우  MediaCodec이나 FFMPEG로  디코딩하면 YUV420데이터와 화면을 출력할 시간이 나오는데,  

출력  조정해서 더 빨리 혹은 더 늦게 출력하게 하는 방식으로 배속을 지원합니다.

예를 들어 디코딩 시 나오는 출력 시간이 12초여서 12초 때 그려야하는 걸

10초로 조정해서 표시하게 하면, 사람 입장에선 1.2배로 동작되게 느끼게 됩니다.

 

오디오는 동일한 샘플이 필요하기 때문에, MediaCodec이나 FFMPEG 로 디코딩한 PCM을 배속에 맞춰 데이터를 증가/감소 시켜서 AudioTrack을 통해 출력 시켜야 합니다.

증가/감소 시키기가 어려울듯 합니다만..   피치 보정 알고리즘을 태우면 사이즈가 알아서 변경되니, 오디오의 경우 PCM 출력전 피치보정 필터를 한번 태운다고 생각하시면 될 겁니다.
익명사용자 님이 2016년 3월 18일 답변
2016년 3월 18일 수정
...