-
FFmpeg 데이타 흐름 다이어그램Streaming Media/Media Tools 2013. 6. 17. 17:16
요즘에 쓰레드를 사용하지 않고 동작하는 경우는 거의 없다고 본다. 따라서 쓰레드를 사용하는 상태를 가정하여 데이타의 흐름을 다이어그램으로 정리한다.
이 다이어그램에 관한 몇 가지 사전 안내
- ffmpeg에 대해서 분석하는 것은 이제 시작이다. 다이어그램이 틀렸을 가능성을 염두한다.
- ffmpeg의 소스코드는 2013년 5월 정도에 git 으로 받아왔다.
- 흐름의 추적은 emacs와 gtags를 사용했다.
- 다이어그램은 dia로 작성했다.
- 내맘대로 다이어그램이다. 즉, UML이니 뭐니 하는 그런 것이 아니다. 서로 알아보면 그만이지 않는가?
고침
- `av_codec_xxx'이 아니라 'avcodec_xxx'이다.
(예: av_codec_encode_video2 -> avcodec_encode_video2)
쓰레드를 이용한 인코딩
- 인코딩 Task를 FIFO에 추가
- 완료된 Task를 FIFO에서 받는다
쓰레드를 이용한 디코딩
- 다음 디코딩 쓰레드에 packet 전달
- 가장 이전의 디코딩 쓰레드에서 디코딩된 프레임 받음
2016/12/16 - [Practice/VLC] - VLC 미디어 재생의 데이타 흐름 다이어그램'Streaming Media > Media Tools' 카테고리의 다른 글
FFmpeg으로 재생하는 프로그램 만들기 (1) 2013.06.20 FFmpeg으로 미디어 스트림 열기 (0) 2013.06.19 FFmpeg 기본 자료형 - AVFifoBuffer (0) 2013.06.10 WebRTC: 비디오 캡쳐화면 보여주기 (0) 2013.03.12 FFmpeg 소개 (0) 2012.11.02 댓글