MediaRecorder?
MediaCodec으로 구현해보자!
Taehwan (taehwan@thdev.net)
순 서
동영상?
동영상은 연속적으로 움직이는 그림!
MediaRecorder?
Android에서 카메라의 영상과 마이크의 음성을 간단하게 녹화해주는 API
MediaRecorder?
Video와 Audio를 녹화 할 수 있는 API
- API 1 부터 사용 가능
- MP4 파일에 카메라 정보와 오디오 정보를 저장
MediaRecorder?
MediaRecorder recorder = new MediaRecorder();
Video
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setOutputFile("/sdcard/video.mp4");
recorder.setPreviewDisplay(surface);
recorder.prepare();
recorder.start();
recorder.stop();
recorder.release();
Audio
recorder.setAudioChannels(2);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
MediaCodec?
기존 MediaRecorder의 인코딩 부분을 MediaCodec의 별도 API로 만들어서 제공
MediaCodec
추가로 알아야 할 것들
MediaCodec
MediaCodec - 지원 codec
Codec?
Codec은 어떠한 데이터 스트림이나 신호에 대해, 인코딩이나 디코딩, 혹은 둘 다를 할 수 있는 하드웨어나 소프트웨어
일반적으로 코덱 이라고 하면 영상, 음향등 미디어 정보를 압축하는 기술
- 위키백과 : http://ko.wikipedia.org/wiki/%EC%BD%94%EB%8D%B1
인코딩/디코딩 이란?
H.264 인코딩/디코딩
디코딩
인코딩
Codec
…
H.264/AVC
2. H.264/AVC
2. H.264/AVC - 특징
2. H.264/AVC - Profile
2. H.264/AVC - Frame
2. H.264/AVC - Frame
2. H.264/AVC - Frame
2. H.264/AVC - 색공간
2. H.264/AVC - YUV 색공간
2. AAC
3. MediaRecorder
3. MediaCodec - MediaFormat
3. MediaCodec - 참고
4. MediaMuxer
MP4 파일 구성
MediaMuxer
MediaMuxer - muxer stop
muxer.stop();
muxer.release();
muxer = null;
MediaMuxer - 참고
추천 사이트
https://github.com/taehwandev/MediaCodecExample
End
이 저작물에는 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스가 적용 되어 있습니다. 이 라이선스의 설명을 보고 싶으시면 http://creativecommons.org/licenses/by/4.0/ 을(를) 참조하세요.