반응형

 ffmpeg 천줄로 비디오플레이어 만들기

http://www.dranger.com/ffmpeg/ffmpeg.html
http://hybridego.net/entry/천줄로-비디오플레이어-만들기
http://hybridego.net/entry/千-Line-으로-비디오플레이어-만들기-1
http://hybridego.net/entry/千-Line-으로-비디오플레이어-만들기-2
http://hybridego.net/entry/千-Line-으로-비디오플레이어-만들기-3
http://hybridego.net/entry/千-Line-으로-비디오플레이어-만들기-4
http://hybridego.net/entry/千-Line-으로-비디오플레이어-만들기-5
http://hybridego.net/entry/千-Line으로-비디오플레이어-만들기-6
http://hybridego.net/entry/千-Line으로-비디오플레이어-만들기-7
http://hybridego.net/entry/千-Line으로-비디오플레이어-만들기-8

What now?

우리는 플레이어를 만들어 보았습니다. 하지만 완벽하게 멋진것은 아니었습니다. 우리는 많은 속임수를 사용했고 다른 기능들을 사용하였습니다.

  • 에러처리. 우리코드에서 에러처리는 굉장히 후집니다. 아마 훨신 개선될수 있을것입니다.
  • 일시정지. 우리 플레이어는 일시정지 기능이 없습니다. 이 기능은 일반적으로 유용한 기능입니다. 우리는 우리 큰 구조체 안에 내부의 멈춤 변수를 이용해서 구현할 수 있습니다. 오디오와 비디오 그리고 디코드 쓰레드는 이것을 체크하고 아무것도 출력하지 않으면 됩니다. 또한 av_read_play를 하용해서 네트워크 지원을 할수 있습니다. 이것은 간단한 설명이고 여러분 스스로 채워야할 것입니다. 더 배우고 싶다면 한번 구현하는것에 도전해 보세요 ffplay.c에 힌트가 있을 것입니다.
  • 비디오 하드웨어 지원. Martin's old tutorial 에 있는 Frame Grabbing 섹션을 찾아보세요
  • 바이트 단위 탐색. 여러분이 만약에 초당 검색을 사용하는 것 보다 바이트단위 검색을 하고 싶다면, 이 방법은 timestamp가 없는 비디오 파일에서 더 정확한 탐색 효과를 보여줄 것입니다. VOB 파일처럼요
  • 프레임 낮추기. 비디오가 너무 뒤로 가있다면 여러분은 짧은 refresh rate를 설정하여 다음 프레임을 드롭시키시면 됩니다.
  • 네트워크 지원. 지금 만든 플레이어는 네트워크 지원을 하지 못합니다.
  • YUV 파일같은 RAW 비디오를 지원. 우리 플레이어에서 YUV파일 같이 사이즈나 time_base를 추축할수 없는 RAW 비디오 파일을 지원하고 싶다면 몇가지 옵션이 있습니다.
  • 풀 스크린
  • 다양한 옵션. 예) 다른 그림 포맷: ffplay.c 를 보세요.
  • 다른 hand-wavy things.  for example, the audio buffer in our struct should be declared aligned.

ffmpeg에 더 많은 정보를 얻고 싶으시다면, 우리는 일부분만 다뤘기 때문에 다음번에는 어떻게 multimedia encode를 할수 있는지 공부해 보세요 ffmpeg distribution의 output_example.c 를 보시는것이 좋은 출발점이 될 것입니다.

저는 이 튜토리얼이 재미있고 유익했기를 바랍니다. 버그나 다른 제안 또는 불만이나 칭찬은 dranget at gmail dot com 으로 보내주세요


Links:
ffmpeg home page
Martin Bohme's original tutorial
libSDL
SDL Documentation




번역이 참....
쉬운일이 아니네요.
다 하긴했는데. 이거 원 너무 엉망진찬이라 부끄러워서 공개를 할 수가 없습니다.
일단 제가 보기에 대충 괜찬다고 싶어질때 까지 좀 수정해보고 차차 공개를 하겠습니다. ㅠ.ㅠ


반응형
Posted by Real_G