앞의 FF는 (Fast Forward)의미로 사용이 되고, mpeg은 MPEG 영상 표준그룹에서 왔다고 한다.
현재 번역 수준으로 정확한 구성과 개념을 알고 추후 Porting할 기회와 사용할 기회가 있다면,
다시한번 정리 해야겠다.
- FFmpeg Main Site
https://ffmpeg.org/
1.1 Command Line Tools
Wiki에 설명이 너무 자세히 잘 나와 있어서, 너무 감사할 뿐이며, 사용방법도 쉽게 이해가 갔다.
- ffmpeg : 기본 encode를 하는 command tool이라고 한다.
- ffserver : Stream 전송을 위해 HTTP and RTSP를 사용하는 Server로 사용되어진다.
- ffplay : 기본 decode를 하는 media player로 SDL 과 FFmpeg library를 이용한다고 한다.
- ffprobe : media에 대한 정보를 알기위해 사용되어지는 것 같다.
1.2 Libraries
- libswresample: audio resampling하는 포함 하고 있다고 한다.
- libavresample: audio resampleing 기능을 가지고 있다고 하며, libav project에서 왔다고 한다.
- libavcodec: audio/video encoders and decoders 기능을 가지고 있는 핵심기능이다.
- libavformat: audio/video를 muxer 와 demuxer 기능을 가지고 있다.
- libavutil : ffmpeg과 별개로 암호화 및 암축을 위해 다양한 hash function들을 제공하는것 같다.
- libpostproc: h.263기반의 video postprocessing routine이라고 하는데 왠지 H.264의 NAL과 유사할 것 같다.
- libswscale: video image scaling 과 color space /pixelformat conversion 기능을 담당.
- libavfilter: video/audio에 적용이 되어지는 filter 기능인 것 같다.
*resampling은 audio mixer 기능으로 자주 사용이 되며, sample rate를 변경하거나 할때도
사용되 될 것 같다.
현재 내가 사용했던 CPU를 보면 Audio Mixer기능은 Hardware에 의존적인 부분이 많았는데, FFmpeg에서 이부분을 까지 되는것 같아 너무 좋다.
*scale 역시 pixel conversion이나, video crop 및 scale부분은 좀더 확인을 해봐야 겠다.
*filter 는 video/audio filter인 것 같은데 지원되는 것이 무엇인지 좀 자세히 알아봐야겠다.
https://en.wikipedia.org/wiki/FFmpeg
https://ko.wikipedia.org/wiki/FFmpeg
1.3 FFmpeg의 전체 관련문서
FFmpeg Site에서는 상위 관련된 자세한 문서 및 개념이 설명이 되어 있으며, 이를 이해하는데 있어 너무 좋은 것 같다.
하지만 자료가 너무 많아 필요한 부분만 읽고 숙지해야겠다.
https://ffmpeg.org/documentation.html
현재 대충 동작 방식과 Library 구성은 이해를
2. FFmpeg의 동작
사실 이부분까지는 크게 관심을 두지 않았는데, 아래의 사이트에서 쉽게 이해할 수 있도록
제공을 해주고 있어 쉽게 이해가 갔다.
http://d2.naver.com/helloworld/8794
3. FFmpeg의 Porting
FFmpeg의 porting 아직 본인도 실행을 못해봤지만, 많은 open source가 그렇하듯이,
약간의 삽질과 관련오류를 알면 가능하리라 본다.
한가지 더 좋은 대안으로는 이미 Porting된 Solution을 사용을 하면 더 괜찮을 것 같다.
FFmepg을 ARM의 Neon Mode를 이용하여 사용하기 때문에 BSP에서 이를 제공하는 것을 찾아 이를 가져다 쓰면 될 것 같다.
아직 본인도 못해봤으며, 사실 궁금하기도 하다,
3.1 Android FFmpeg Porting
http://howto.homelinux.com/wiki/AndroidFFMPEG
http://vinsol.com/blog/2014/07/30/cross-compiling-ffmpeg-with-x264-for-android/
현재 나의 관심은 OpenCL 과 Neon 모드가 모두 지원이 되는 것이 었는데,문서를 보니 option 사항에 잘 수록되어있다.
https://ffmpeg.org/documentation.html
현재 대충 동작 방식과 Library 구성은 이해를
2. FFmpeg의 동작
사실 이부분까지는 크게 관심을 두지 않았는데, 아래의 사이트에서 쉽게 이해할 수 있도록
제공을 해주고 있어 쉽게 이해가 갔다.
http://d2.naver.com/helloworld/8794
3. FFmpeg의 Porting
FFmpeg의 porting 아직 본인도 실행을 못해봤지만, 많은 open source가 그렇하듯이,
약간의 삽질과 관련오류를 알면 가능하리라 본다.
한가지 더 좋은 대안으로는 이미 Porting된 Solution을 사용을 하면 더 괜찮을 것 같다.
FFmepg을 ARM의 Neon Mode를 이용하여 사용하기 때문에 BSP에서 이를 제공하는 것을 찾아 이를 가져다 쓰면 될 것 같다.
아직 본인도 못해봤으며, 사실 궁금하기도 하다,
3.1 Android FFmpeg Porting
- Android NDK 설치
- Android FFMPEG Porting
- JNI 연결
http://howto.homelinux.com/wiki/AndroidFFMPEG
http://vinsol.com/blog/2014/07/30/cross-compiling-ffmpeg-with-x264-for-android/