๋ถ๋ฅ:์ํํธ์จ์ด
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์2. FFmpeg์์ ์ ๊ณตํ๋ ๊ฒ๋ค3. ๋์ฝ๋4. ๋์์ ์ธ์ฝ๋
4.1. ํน์ง4.2. FFmpeg์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ธ์ฝ๋4.3. FFmpeg๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์๋น์ค4.4. ์ผ๋ฐ์ ์ธ ์ต์
4.5. ์์4.6. ํ๋ผ์ดํธํผ AAC์ธ์ฝ๋ libfdk_aac ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋น๋
5. ๊ทธ ์ธ ffmpeg์ ์ด์ฉํ๋ ํ๋ก๊ทธ๋จ๋ค6. ๊ตญ์ฐ ํ๋ ์ด์ด์ GPL ์๋ฐ ์ํน7. ffmpeg? libav?1. ๊ฐ์[ํธ์ง]
๊ณต์ ํํ์ด์ง(์๋์ฐ ๋ฒ์ )
๋ง์ดํด ๋๋๋ง์ด์ด(Michael Niedermayer)์ ์ฃผ๋ํ์ ๊ฐ๋ฐ๋๊ณ ์๋ ๋ชจ๋ ๋์์, ์์ , ์ฌ์ง ํฌ๋งท๋ค์ ๋์ฝ๋ฉ๊ณผ ์ธ์ฝ๋ฉ์ ๋ชฉํ๋ก ๋ง๋ค์ด์ง๊ณ ์๋ LGPL๊ณผ GPL ๋ผ์ด์ผ์ค[1]๋ฅผ ๋ฐ๋ฅด๋ ์คํ์์ค ํ๋ก์ ํธ. ์ฐธ๊ณ ๋ก FFmpeg์ ๋ก์ดํฐ ๋ฌธ์ ๋ FFmpeg๊ฐ ์๋ FFmpeg๊ฐ ํฌํจํ๊ณ ์๋ ์ ๋ฃ ์ฝ๋ฑ๋ค์ ์ํ ๊ฒ์ด๋ค. ์ด๋ฏธ ์ด๋ฐ ๋ฌธ์ ๋๋ฌธ์ ์ผ์ฑ์ ๋น๋กฏํ ์ ์ธ๊ณ์ IT ๊ด๋ จ ๋๊ธฐ์ ๋ค์ด ํ๋ ฅํด AV1 ํ๋ก์ ํธ๋ฅผ ์งํ์ค์ด๋ค.
๊ด๋ จ ํ๋ก๊ทธ๋จ(์ธ์ฝ๋์ ๋์ฝ๋ ๋ฑ๋ฑ)์์ ํ์ค์ด๋ผ ๋ถ๋ฆฌ์ธ ์ ๋๋ก ๋ง์ ํ๋ก๊ทธ๋จ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ์ด์ฉ๋๊ณ ์๋ค. ์๋์ FFmpeg์ ๊ธฐ๋ฐ[2]์ผ๋ก ํ๋ ํ๋ก๊ทธ๋จ ๋ฆฌ์คํธ๋ฅผ ๋ณด๋ฉด ์๊ฒ ์ง๋ง ๊ฑฐ์ ๋๋ถ๋ถ์ ๋น๋์ค ๊ด๋ จ ํ๋ก๊ทธ๋จ๋ค์ด ์ฌ์ฉํ๊ณ ์๋ค.
ํ ์ผํ๋ก NVIDIA์ AMD๋ ์์ฌ์ ๊ทธ๋ํฝ์นด๋์ ํ๋์จ์ด ๊ฐ์์ ์ํด FFmpeg์ '์ง์ ' ์์ค๋ฅผ ๊ฑด๋ด์ฃผ๊ณ FFmpeg์ด ์ํค๋๋๋ก ์์ ํ์๋ค. ๋๋ถ๋ถ์ ๋ฉํฐ๋ฏธ๋์ด ์ฌ์๊ธฐ๊ฐ FFmpeg์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์, FFmpeg์์ ์ง์๋ง ํ๋ค๋ฉด ๊ทธ ํจ๊ณผ๋ฅผ ๋น์ฅ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ.
๋ง์ดํด ๋๋๋ง์ด์ด(Michael Niedermayer)์ ์ฃผ๋ํ์ ๊ฐ๋ฐ๋๊ณ ์๋ ๋ชจ๋ ๋์์, ์์ , ์ฌ์ง ํฌ๋งท๋ค์ ๋์ฝ๋ฉ๊ณผ ์ธ์ฝ๋ฉ์ ๋ชฉํ๋ก ๋ง๋ค์ด์ง๊ณ ์๋ LGPL๊ณผ GPL ๋ผ์ด์ผ์ค[1]๋ฅผ ๋ฐ๋ฅด๋ ์คํ์์ค ํ๋ก์ ํธ. ์ฐธ๊ณ ๋ก FFmpeg์ ๋ก์ดํฐ ๋ฌธ์ ๋ FFmpeg๊ฐ ์๋ FFmpeg๊ฐ ํฌํจํ๊ณ ์๋ ์ ๋ฃ ์ฝ๋ฑ๋ค์ ์ํ ๊ฒ์ด๋ค. ์ด๋ฏธ ์ด๋ฐ ๋ฌธ์ ๋๋ฌธ์ ์ผ์ฑ์ ๋น๋กฏํ ์ ์ธ๊ณ์ IT ๊ด๋ จ ๋๊ธฐ์ ๋ค์ด ํ๋ ฅํด AV1 ํ๋ก์ ํธ๋ฅผ ์งํ์ค์ด๋ค.
๊ด๋ จ ํ๋ก๊ทธ๋จ(์ธ์ฝ๋์ ๋์ฝ๋ ๋ฑ๋ฑ)์์ ํ์ค์ด๋ผ ๋ถ๋ฆฌ์ธ ์ ๋๋ก ๋ง์ ํ๋ก๊ทธ๋จ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ์ด์ฉ๋๊ณ ์๋ค. ์๋์ FFmpeg์ ๊ธฐ๋ฐ[2]์ผ๋ก ํ๋ ํ๋ก๊ทธ๋จ ๋ฆฌ์คํธ๋ฅผ ๋ณด๋ฉด ์๊ฒ ์ง๋ง ๊ฑฐ์ ๋๋ถ๋ถ์ ๋น๋์ค ๊ด๋ จ ํ๋ก๊ทธ๋จ๋ค์ด ์ฌ์ฉํ๊ณ ์๋ค.
ํ ์ผํ๋ก NVIDIA์ AMD๋ ์์ฌ์ ๊ทธ๋ํฝ์นด๋์ ํ๋์จ์ด ๊ฐ์์ ์ํด FFmpeg์ '์ง์ ' ์์ค๋ฅผ ๊ฑด๋ด์ฃผ๊ณ FFmpeg์ด ์ํค๋๋๋ก ์์ ํ์๋ค. ๋๋ถ๋ถ์ ๋ฉํฐ๋ฏธ๋์ด ์ฌ์๊ธฐ๊ฐ FFmpeg์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์, FFmpeg์์ ์ง์๋ง ํ๋ค๋ฉด ๊ทธ ํจ๊ณผ๋ฅผ ๋น์ฅ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ.
2. FFmpeg์์ ์ ๊ณตํ๋ ๊ฒ๋ค[ํธ์ง]
- ffmpeg - ๋ฏธ๋์ด ํฌ๋งท ๋ณํ ๋๊ตฌ
- ffserver - ๋ผ์ด๋ธ ๋ฐฉ์ก์ ํ๋ ๋ฉํฐ๋ฏธ๋์ด ์คํธ๋ฆฌ๋ฐ ์๋ฒ
- libavcodec - ์ค๋์ค/๋น๋์ค ์ฝ๋ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- libavformat - ๋ฉํฐ๋ฏธ๋์ด ์ปจํ ์ด๋์ ๋๋จน์/๋จน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- libavdevice - ์ ์ถ๋ ฅ ์ฅ์น ์ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- libavfilter - ๋ฏธ๋์ด ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- libswscale - ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- libswresample - ์ค๋์ค ์ฒ๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
3. ๋์ฝ๋[ํธ์ง]
์ฝ๊ฒ ์ด์ผ๊ธฐํ๋ฉด ๋์์์ ์ฌ์ํ ๋ ์ฐ์ด๋ ์ฝ๋ฑ์ด๋ค. FFmpeg์ ์ํฅ๋ ฅ์ด ์ ๋์ ์ด๋ค. MAC, ์๋๋ก์ด๋, iOS, ์๋์ฐ์ฆ์์ ์ ๋ช
ํ ์ฝ๋ฑ ๋ด์ฅํ ๋์์ ํ๋ ์ด์ด๋ค์ ๋ชจ๋ FFmpeg์ libavcodec์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์๋ค๊ณ ๋ด๋ ๋ฌด๋ฐฉํ๋ค.
3.1. FFmpeg์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋์์ ํ๋ ์ด์ด[ํธ์ง]
- iOS : AV player, nPlayer
- ์๋๋ก์ด๋ : Dice Player, MX ํ๋ ์ด์ด, ์๋๋ก์ด๋์ฉ ๊ณฐํ๋ ์ด์ด, ์๋๋ก์ด๋์ฉ KMP
- ๋งฅ : ๋ฌด๋น์คํธ
์ฌ๊ธฐ์ ์ ํ์๋ ๊ฒ๋ค์ ์ ๋ช ํ ๊ฒ๋ค์ด๊ณ , ์ด๊ฒ๋ค ๋ง๊ณ ๋ ์๋ง์ ๋ฏธ๋์ด ํ๋ ์ด์ด๋ค์ด FFmpeg๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
3.2. FFmpeg์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ฝ๋ฑ[ํธ์ง]
- FFDshow[4]
- ๊ทธ๋ฆฌ๊ณ LAVํํฐ์ FFDshow๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ๋ ์๋ง์ ํตํฉ์ฝ๋ฑ๋ค
4. ๋์์ ์ธ์ฝ๋[ํธ์ง]
์ด์ชฝ์ ํ๋ง๋๋ก ์ ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. ๋๋ค์ ์ธ์ฝ๋ ํ๋ก๊ทธ๋จ๋ค์ ๋ชจ๋ FFmpeg๊ธฐ๋ฐ์ด๋ค. ๊ณฐ ์ธ์ฝ๋, ๋ฐ๋ฅ, ๋ค์ ํ์ธ์ฝ๋ ๋ฑ...
4.1. ํน์ง[ํธ์ง]
- FFmpeg ํ๋ก์ ํธ ์์ฒด๊ฐ ๋ชจ๋ ์์์ ๋์ฝ๋ฉ/์ธ์ฝ๋ฉ์ ์งํฅํ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ์ฝ๋ฑ์ ์ค์น๊ฐ ํ์์๋ค.[5] ffmpeg.exe ํ์ผ ํ๋๋ก๋ ์ธ์ฝ๋ฉ์ด ๊ฐ๋ฅํ๋ค.
- ๋ฉํฐ์ฝ์ด๋ฅผ ๊ณต์์ ์ผ๋ก ์ง์ ํ๋ค. ๋ฐ๋ก ์ต์ ์ ์ ์ง์์ผ๋ฉด ๋ชจ๋ ์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ค.
- VF(libavfilter) ๊ธฐ๋ฅ ๋ด์ฅ.
- FFmpeg์ ์ฌ์ด ์ธ์ฝ๋ฉ์ ์ํด ๊ฐ์ข ํ๋ฆฌ์ ์ ํฌํจํ๊ณ ์๋ค. ์ฌ์ค ์๋์ ์ธ์ฝ๋๋ค์ ์ฐ๋ ๊ฒ๋ณด๋ค ์ง์ FFmpeg์ ์ด์ฉํด์ ํ๋ฆฌ์ ์ ํ์ฉํ๋ ๊ฒ์ด ๋ ๋์ ํ์ง์ ๋ณด์ฅํ๋ค. CLI ๊ธฐ๋ฐ์ด๋ผ ์ด์ง์ด์ง ํ ์๋ ์์ง๋ง, ์ฐพ์๋ณด๋ฉด ์์ ๋ธ๋ก๊ทธ์ฒ๋ผ ์คํฌ๋ฆฝํธ๋ฅผ ๊ณต๊ฐํ ๊ณณ์ด ๋ง๋ค. ์ ๊ท์ฐฎ์ผ๋ฉด ์ ๋ธ๋ก๊ทธ์ ์๋ ๋ฐฐ์นํ์ผ์ ๊ทธ๋ฅ ์ฐ๋ฉด ๋๋ค. ๋ฆฌํ๋ค์ ๋ณด๋ฉด ์์ ๋ ํ๋ฆฌ์ ์ด ๋ง๋ค. ๊ทธ๋๋ ์๋์ ์ธ์ฝ๋๋ค๋ณด๋ค ํ์ง์ด ํจ์ฌ ์ข๊ฒ ๋์จ๋ค.[6] ์ ๊ท์ฐฎ์ผ๋ฉด ์๋ ๋์ค๋ ์ธ์ฝ๋๋ฅผ ์จ๋ ๋๋ค.
4.2. FFmpeg์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ธ์ฝ๋[ํธ์ง]
- ์ ํธ์ค๋์คVX(๋ฌด๋ฃ ํน์ ์ ๋ฃ, ์ฝ์)
- ์ ๋ง์ผ
- ์์ ค์ธ์ฝ๋
- ์ค๋์ธ์ฝ๋ - ๊ฐ์ธ ๊ฐ๋ฐ์๊ฐ ๋ง๋ ์ธ์ฝ๋ ์์๋ ๋ถ๊ตฌํ๊ณ , ๊ฐ๋ณ๊ฒ ์ธ์ฝ๋ฉํ๋ ์ฉ๋๋ก๋ ๋งค์ฐ ์ข๋ค. ๋ฌด๋ฃ.
- Freemake - ์์์์ ์ ๋ช ํ ์ธ์ฝ๋ฉ ํ๋ก๊ทธ๋จ. ๊ทธ๋ฌ๋ ๋์ฌ์จ์ด ์ ํฌ ์ํ์ด ์๋ค.
- Mencoder
- WInff - ffmpeg๋ฅผ GUI๋ก ๋ง๋ ํ๋ก๊ทธ๋จ์ด๋ค
๋ฌผ๋ก ์ด ๋ชฉ๋ก ๋ง๊ณ ๋, ๋๋ค์์ ์ฌ์ด ์ธ์ฝ๋๋ฅผ ์์ฒํ๋ ํ๋ก๊ทธ๋จ๋ค์ ๋๋ถ๋ถ FFmpeg๊ธฐ๋ฐ์ด๋ค.
4.3. FFmpeg๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์๋น์ค[ํธ์ง]
- ๋์ฝ๋์ฝ ๋ํ, ์ํ๋ฆฌ์นด ๋ฑ์ ์ธํฐ๋ท ๋์์ ์ฌ์ดํธ
- ๋ง์ ์ธํฐ๋ท ๋์์ ์ฌ์ดํธ๋ค๋ ffmpeg๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค. ์์ ํ์ผ์ ๋ค์ด๋ฐ์์ ๋ฏ์ด๋ณด๋ฉด ์๊ฒ ์ง๋ง, Lavf(libavformat)๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์์ ์ธ์ฝ๋ฉ์๋ libavcodec๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.
4.4. ์ผ๋ฐ์ ์ธ ์ต์ [ํธ์ง]
- -i
[input]- ์ ๋ ฅ ํ์ผ์ ์ง์ ํ๋ค.
- -vcodec
[codec], -acodec[codec]๋๋ -c:v[codec], -c:a[codec]- ๋น๋์ค ์ฝ๋ฑ, ์ค๋์ค ์ฝ๋ฑ์ ์ง์ ํ๋ค. ์ฌ์ฉํ ์ ์๋ ์ฝ๋ฑ์
ffmpeg -encoders๋ก ํ์ธํ ์ ์๋ค.copy๋ก ์ง์ ํ๋ฉด ๊ธฐ์กด ์คํธ๋ฆผ์ ์ธ์ฝ๋ฉ ํ์ง ์๊ณ (direct stream) ๋ณต์ฌํ๋ค.
- -vf
[filter], -af[filter]- ๋น๋์ค, ์ค๋์ค์ ํํฐ๋ฅผ ์ ์ฉํ๋ค. ๋ฆฌ์ฌ์ด์ฆ๋ฅผ ํ๊ฑฐ๋ ์คํผ๋๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ass, srt ์๋ง์ ์ ํ๋ ๋ฑ์ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค. ์์ธํ ๊ฒ์ ffmpeg์ ํํฐ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์. ์ฐธ๊ณ ๋ก ์๋ง์ ์ ํ๋ ๊ฑด ํฐํธ ๋๋ฌธ์ ์๋์์๋ ํ๊ฒฝ๋ณ์๋ฅผ ์ง์ ํด ์ค์ผ ํ๋ค.
- -b:v
[bitrate], -b:a[bitrate]- ๋น๋์ค, ์ค๋์ค์ ๋นํธ๋ ์ดํธ๋ฅผ ์ง์ ํ๋ค.
- -crf
[quality]- ๋นํธ๋ ์ดํธ ๋์ ํ์ง ๊ธฐ์ค์ผ๋ก ์ธ์ฝ๋ฉํ ๋ ์ฐ๋ ์ต์ . 0-51, 0์ ๋ฌด์์ค, ๋ํดํธ๋ 23
- -y
- ํ์ผ์ ๋ฎ์ด์ธ ์ผ์ด ์์ด๋ ๋ฌผ์ด๋ณด์ง ์๋๋ค.
- -re
- ์ธ์ฝ๋ฉ ์๋๋ฅผ 1x(์ค์๊ฐ)์ผ๋ก ์ ํํ๋ค. ๋ก์ปฌ ํ์ผ์ ffserver๋ก ์คํธ๋ฆฌ๋ฐ ์ ์ค์๊ฐ์ผ๋ก feed๋ฅผ ์ ์กํ๊ธฐ ์ํด์ ํ์ํ๋ค.
- -f
[container]- ์ถ๋ ฅ ํฌ๋งท์ ์ง์ ํ๋ค. ๋ฐ๋ก ์ ์ง์์ผ๋ฉด ํ์ผ๋ช ์ ๋ง์ถฐ์ ํด์ค๋ค.
- -t
[time]- ์ง์ ๋ ์๊ฐ (์ด ๋จ์)๋งํผ ์ธ์ฝ๋ฉํ๋ค.
- -ss
[time]- ์ง์ ๋ ์๊ฐ (์ด ๋จ์)๋งํผ ๊ฑด๋๋ฐ๊ณ ์ธ์ฝ๋ฉํ๋ค. hh:mm:ss ๋ฐฉ์์ผ๋ก๋ ํ๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค.
4.5. ์์[ํธ์ง]
์ผ๋ฐ ์์์ ์ค๋งํธํฐ ๋ฑ์ ๋ง์ถ์ด ์ฌ์ธ์ฝ๋ฉ ํ ๋๋ ๋ธ๋ฃจ๋ ์ด ์๋ณธ ์์์ ์ธ์ฝ๋ฉํ ๋ [7]์ ์ค์ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
ffmpeg -i filename.mp4 -sn -c:v libx264 -preset medium -crf 23 -tune animation -sws_flags lanczos -filter:v "scale=-1:720" -c:a aac -b:a 192k -ac 2 outfile.mkv
- "-i filename.mp4" - ์ ๋ ฅ ํ์ผ๋ก filename.mp4๋ฅผ ์ง์ ํ๋ค. ํ์ฅ์๋ฅผ ํฌํจ์์ผ์ผ ํ๋ค.
- "-threads 0" - ์ฌ์ฉํ ์ค๋ ๋ ์๋ฅผ ์ง์ ํ๋ค 0์ ๋ชจ๋. 0์ด ๋ํดํธ๋ผ ์๋ตํด๋ ๋ฌด๋ฐฉํ๋ค.
- "-sn" - ๋ด์ฅ์๋ง์ ์ธ์ฝ๋ฉํ์ง ์๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค. ๋ด์ฅ์๋ง์ ๊ฐ์ ธ์ค๊ณ ์ถ์ผ๋ฉด -c:s copy๋ก ๋ฐ๊พธ๋ฉด ๋๋ค.
- "-vcodec libx264" - libx264๋ฅผ ์ฌ์ฉํ์ฌ H.264๋ก ์ธ์ฝ๋ฉ. MPEG4๋ฅผ ์ฐ๋ ค๋ฉด libxvid, VP8์ ์ฐ๋ ค๋ฉด libvpx๋ก ์ค์ ํด์ฃผ๋ฉด ๋๋ค. ๋ฐ์ ์ต์ ์ค libx264์ ์ต์ ์ ์ฌ์ฉํ๋ ๊ฑด ๋ฌผ๋ก ๋ฌ๋ผ์ง์ง๋ง ๋์ถฉ ๋น์ทํ๋ค. ๋ค์ํ ์ต์ ์ ์์ด๊ฐ ๋๋ค๋ฉด ffmpeg ์ํค ์ฐธ์กฐ.
- "-preset medium" - libx264์ ํ๋ฆฌ์ ์ ์ด์ฉํ๋๊ฒ์ผ๋ก very slow, slower, slow, medium, fast, faster, veryfast ๋ฑ์ ์ต์ ์ด ์๋ค. ultrafast๋ placebo (์ด๋ ๊ฒ ๋๋ ค์ง๋ฉด ํ์ง ๊ฐ์ ์ด ํ๋ผ์๋ณด ํจ๊ณผ ์ด์์ ๋ฌด์ธ๊ฐ๋ ์๋ค๋ผ๋ ์์ค) ๋ฑ์ ์ต์ ๋ ์์ง๋ง ๋ณดํต ์ฌ๋๋ค์ ์ธ ์ผ ์๋ค (...) ๋น์ฐํ slow์ชฝ์ผ๋ก ๊ฐ ์๋ก ์ธ์ฝ๋ฉ์ ๋๋ ค์ง๋ค. CRF๋ฐฉ์์ผ๋ก ์ธ์ฝ๋ฉ์ ํ ๋๋ ์ฉ๋์ ๊ด์ฌ์ ํ๋ฉฐ, ๋นํธ๋ ์ดํธ ์ง์ ์ผ๋ก ์ธ์ฝ๋ฉ์ ํ ์ ํ์ง์ ๊ด์ฌ๋๋ค. CRF์ธ์ฝ๋ฉ ๊ธฐ์ค slow์ ๊ฒฝ์ฐ medium์ ๋นํด ์ธ์ฝ๋ฉ ์๊ฐ์ด 50~66% ๋์ด๋์ง๋ง ์ฉ๋์ 0~4%์ ๋ ์ค์ด๋ ๋ค. veryslow์ ๊ฒฝ์ฐ๋ ์ฝ 4.5๋ฐฐ์ ๋ ์ธ์ฝ๋ฉ ์๊ฐ์ด ๋์ด๋๋ฉฐ ์ฉ๋ ์ด๋์ 12%์ ๋๋ค.[8]
- "-crf 23" - CRF๋ ๊ณ ์ ๋นํธ๋ ์ดํธ ์ธ์ฝ๋ฉ์ด ์๋ "๊ฐ๋ณ ๋นํธ๋ ์ดํธ ํ์ง์ฐ์ ์ธ์ฝ๋ฉ"๋ฐฉ์์ผ๋ก์ ์ต์ ๊ฐ์ 0์์ 51๊น์ง์ ์ค์ ์ด ๊ฐ๋ฅํ๋ฐ ๊ฐ์ด ๋ฎ์ ์๋ก ๊ณ ํ์ง์ด๋ค. 18 ์ ๋๋ฉด ๊ฑฐ์ ๋ฌด์์ค์ด๊ณ ๊ธฐ๋ณธ๊ฐ์ธ 23 ์ ๋๋ฉด ์๋นํ ๊ณ ํ์ง์ผ๋ก์ ์ํ๋ ๋ฏธ๋๋ฅผ ์ธ์ฝ๋ฉํ๋๋ฐ ์ ์ ํ๋ค. ์ ๋๋ฉ์ด์ ์ ๋ณดํต 25~27์ ๊ฐ์ ์ด๋ค. ํ์ง์ด ๋์(๊น๋๊ธฐ ํฌ๋ฆฌ๋ฅผ ๋ง์) mpeg2๋ฐฉ์์ HDTV์๋ณธ์ ์ฌ์ธ์ฝ๋ฉํ ๋๋ CRF๋ฐฉ์์ผ๋ก ์ธ์ฝ๋ฉํ๋ฉด ์๋ณธ๋ณด๋ค ๋ ํฌ๊ฒ ์ธ์ฝ๋ฉ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก ๊ณ ์ ๋นํธ๋ ์ดํธ ๋ฐฉ์์ผ๋ก ์ธ์ฝ๋ฉ์ ํ๋๊ฒ ๋ซ๋ค.[9] ๊ณ ์ ๋นํธ๋ ์ดํธ ๋ฐฉ์์ผ๋ก ์ธ์ฝ๋ฉ์ ํ๊ณ ์ถ๋ค๋ฉด -crf 23 ๋์ ์ -vb 2000k ์ด๋ ๊ฒ ์ง์ ํ๋ฉด ๋๋ค.
- "-tune animation" - libx264์ tune ์ต์ ์ ์ฌ์ฉํ๋ค. ์๊ฐ๊ณผ๋ ๊ด๊ณ๊ฐ ์๊ณ deblock ์์ฃผ๋ก ์ต์ ์ ์กฐ์ ํ๋ค. animation ์ต์ ์ deblock ๊ฐ์ ๋์ฌ์ ํ๋ฉด์ ์ข ๋ ๋ญ๊ฒ์ค๋ค. ์ผ๋ฐ์ ์ธ ์ํ๋ ํฐ๋น์์์ ๊ฒฝ์ฐ film ์ต์ ์ ์ด๋ค.
- "-sws_flags lanczos -vf "scale=1280:-1"" lanczos๋ ๋ฆฌ์ฌ์ด์ฆ ํํฐ๋ฅผ ์ด์ฉํ์ฌ 720p๋ก ๋ฆฌ์ฌ์ด์ฆ. -1์ ํ๋ฉด๋น์ ๋ง์ถฐ์ ์๋์ผ๋ก ์ธ๋ก์ฌ์ด์ฆ๋ฅผ ๊ฒฐ์ ํ๋ค. ์๋์ผ๋ก ๋ฆฌ์ฌ์ด์ฆํ๋ ๊ฒฝ์ฐ์๋ 1280:718 ์ด๋ฐ์์ผ๋ก ์ด์ํ ์ฌ์ด์ฆ๊ฐ ๋์ฌ์ ์์ผ๋ ์ ๋งํ๋ฉด ์๋์ผ๋ก ์ง์ ํด์ฃผ์. ์ด VF๋ช ๋ น์ค์ ์ฌ๋ฌ๊ฐ์ง ํํฐ๋ฅผ ๋ฃ์ ์ ์๋ค. libass๋ฅผ ์ฌ์ฉํด์ ์๋ง์ ํ๋์ฝ๋ฉ ํ ์๋ ์๊ณ yadif๋ก ๋์ธํฐ๋ ์ด์ฑ๋ ๊ฐ๋ฅํ๋ค ivtc๋ ๊ฐ๋ฅํ๋ค. ffmpeg ํํฐ ๋ฌธ์ ์ฐธ์กฐ.
- "-c:a aac -b:a 192k -ac 2" AAC ์ฝ๋ฑ์ผ๋ก 192k์ ๋์ ๋ง์ถฐ์ 2์ฑ๋๋ก ๋ค์ด๋ฏน์ฑํ์ฌ ์ธ์ฝ๋ฉํ๋ค. AAC ์ธ์ MP3๊ฐ์ ํฌ๋ฉง๋ ์ฌ์ฉํ ์ ์์ผ๋, OPUS์ Vorbis๋ฅผ ์ ์ธํ๋ฉด ์์ง์ด ์๋์ ์ผ๋ก ๋จ์ด์ง๊ธฐ ๋๋ฌธ์ ๋น์ถ์ฒ ํ๋ค.[10] ์ด๋ณด๋ค๋ ๊ณ ํ์ง๋ก ์ธ์ฝ๋ฉํ๊ณ ์ ํ๋ค๋ฉด opus ํน์ Vorbis๋ฅผ ์ฐ๊ฑฐ๋, ํ๋ผ์ดํธํผ AAC์์ค๋ฅผ ๊ฐ์ ธ์์ ์ง์ ffmpeg์ ์ปดํ์ผ ํด์ ์ธ์ฝ๋ฉ์ ํด์ผํ๋ค.[11], Vorbis๋ฅผ ์ด์ฉํ์ฌ -acodec libvorbis -ac 2 -aq 4 ์ด๋ฐ์์ผ๋ก ์ธ์ฝ๋ฉ ํ ์ ์๋ค. ๋จ Vorbis์ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ธ ๊ธฐ๊ธฐ์์ ํธํ์ฑ์ ๋จ์ด์ง๋ค.[12] ๋ ๋ค์ํ ์ต์ ์ FFmpeg ๊ณต์ ์ค๋์ค ์ธ์ฝ๋ฉ ๊ฐ์ด๋ ์ฐธ์กฐ.
- "outfile.mkv" - ์ถ๋ ฅ ํ์ผ๋ช ์ด๋ค. ํ์ฅ์์ ๋ฐ๋ผ ์์ ์ปจํ ์ด๋(avi, mp4, mkv๊ฐ์)๋ฅผ ์๋์ผ๋ก ์ ํํด์ฃผ๊ธด ํ์ง๋ง, ๊ฐ๊ธ์ ์ด๋ฉด -format ์ต์ ์ผ๋ก ์ถ๋ ฅ ํฌ๋งท์ ์ง์ ํด ์ฃผ๋๋ก ํ์. ์ฐธ๊ณ ๋ก ํ์ฅ์๊ฐ mp4์ธ ๊ฒฝ์ฐ์๋ ์์ฑ์ฝ๋ฑ์ผ๋ก AAC, MP2, MP3, AC3 ๋ง ๊ฐ๋ฅํ๋ค. Vorbis, Opus ๋ ๋ถ๊ฐ๋ฅํจ. MKV๊ฐ ๊ฐ์ฅ ํธํ์ฑ์ด ์ข๋ค. ํ์กดํ๋ ๊ฑฐ์ ๋ชจ๋ ํฌ๋ฉง์ ๋ด์ ์ ์์ ์ ๋.
2015๋ 12์๋ถ๋ก ffmpeg์ ๋ด์ฅ AAC ์ธ์ฝ๋๊ฐ ๋ํญ ๊ฐ์ ๋์๋ค๊ณ ๋ฐํํ๋ค. ๋งํฌ1 ๋งํฌ2 ์ ์์๋ libfdk_aac์ ๋น์ทํ๊ฑฐ๋ ์ข ๋ ์ฐ์ํ ์ฑ๋ฅ์ ๋ํ๋ธ๋ค๊ณ ํ์ง๋ง ์จ๋ณธ ์ฌ์ฉ์์ ์ํ๋ฉด VBR ๋ชจ๋๋ก๋ ์ฌ์ ํ ๋ถ์กฑํ๋ค๊ณ ํ์ง๋ง CBR ๋ชจ๋๋ก๋ ์ฉ ๊ด์ฐฎ๋ค์นด๋๋ผ ๋งํฌ. ์ฐธ๊ณ ๋ก ffmpeg์ธก์ ์ฃผ์ฅ๋๋ก ๋ด์ฅ aac๊ฐ (์คํ ๋ ์ค์ฑ๋) 128kbps์ ๋์์ ์์ง์ด ์๋นํ ๊ฒ์ ์ฌ์ค์ด์ง๋ง libfdk_aac์ ๋นํด ์ธ์ฝ๋ฉ ์๋๋ ๋ค์ ๋๋ฆฐํธ์ด๋ค. (๋์ ๋น๋๋ฅผ ๋ฐ๋ก ํ ํ์ ์์ด Zeranoe FFmpeg Build ๊ฐ์ด ๋ผ์ด์ ์ค ๋ฌธ์ ๋ก libfdk_aac๋ ํฌํจ๋์ง ์์์ง๋ง ํ์ํ ๊ฒ๋ค์ ๋๋ถ๋ถ ํฌํจํด์ ๋ฐ์ด๋๋ฆฌ๋ก ๊ณต๊ฐํ๋ ๊ฒ๋ค์ ๊ฑ ์ฐ๋ ์ฌ๋๋ค์ ํธ๋ฆฌ์ฑ์ ๊ทน๋ํ ๋ ๋ฏ)
4.6. ํ๋ผ์ดํธํผ AAC์ธ์ฝ๋ libfdk_aac ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋น๋[ํธ์ง]
๋ด์ฅ AAC ์ธ์ฝ๋๊ฐ ์ ์ข์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ FFmpeg์์ ๋ณด๋ค ๊ณ ํ์ง์ AAC ์ค๋์ค๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํ๋ผ์ดํธํผ ์ฝ๋ฑ์ ์ฐ๋๊ฒ ์ต์ ์ ๋ฐฉ๋ฒ์ด์ง๋ง ๋ผ์ด์ผ์ค ๋ฌธ์ ๋ก ๋ฐฐํฌ๋์ง๋ ๋ชปํ๊ณ ์ง์ ์ปดํ์ผํด์ ์จ์ผ๋๋ค. ์ผ๋ณธ์์ ์ฝ๊ฒ ๋น๋ํ ์ ์๋๋ก ํด์ ์ ๊ณตํ๋ ์ฌ์ดํธ๊ฐ ์๋ค. http://www.sakura-zaka.net/ffmpeg/ ๊ตฌ๊ธ ๋ฒ์ญ๊ธฐ๋ก ์ถฉ๋ถํ ๋ฐ๋ผ๊ฐ์ ์๋ค.
๋จ, ์ผ๋ณธ์ด ์๋์ฐ ์ ์ฉ์ผ๋ก ์ ์๋ ํด์ด๋ผ ๋ง์ง๋ง์ ๋ฐํํ๋ฉด์ ๋น๋.lnk ํ์ผ์ ์์ฑํ๋ ๊ณผ์ ์์ .NET Framework ์๋ฌ๊ฐ ๋๋ฉด์ ๋ฐํํ๋ฉด์ ์์ด์ฝ์ด ์๊ธฐ์ง ์๋๋ค. ์๋ฌ๊ฐ ๋จ๋ฉด Quit ๋ฒํผ์ ๋๋ฌ์ ์ข ๋ฃํ๋ฉด ๋๋ค. ์๋์ฐ ์ผ๋ณธ์ด ์ธ์ดํฉ์ ๊น์๋ ์์ฉ์์ผ๋ ์ฃผ์ํ ๊ฒ. .NET Framework ์ผ๋ณธ์ด ์ธ์ดํฉ์ด ์ค์น๋์ด ์์ด์ผ๋ง ์๋ฌ๊ฐ ๋์ง ์๋๋ค. ์ค๋ฅ๋ก ๋ฐํํ๋ฉด์ ๋งํฌํ์ผ์ด ์์ฑ๋์ง ์์๋ ์คํํ์ผ์ ์ง์ ์ฐพ์์ ๋น๋ํ๋ฉด ๋๋ค.
32๋นํธ: oreBuildmingw32msyshomex86_binore_BuildTool.exe
64๋นํธ: oreBuildmingw64msyshomex64_binore_BuildTool.exe
๋น๋ํ๋๋ฐ ์๋นํ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฉฐ 2๊ธฐ๊ฐ ์ ๋์ ์ฉ๋์ด ํ์ํ๋ค. ๋น๋๊ฐ ์๋ฃ๋ FFmpeg.exe ํ์ผ์ ์์น๋ ๋ค์๊ณผ ๊ฐ๋ค.
32๋นํธ: oreBuildmingw32_ffmpeg_ffmpeg.exe
64๋นํธ: oreBuildmingw64_ffmpeg_ffmpeg.exe
๋น๋๊ฐ ์๋ฃ๋๋ฉด ๋๋จธ์ง ํ์ผ๋ค์ ์ง์๋ ๋๋ค.
์ฃผ์์ฌํญ์ผ๋ก ํ๋ผ์ดํธํผ AAC ์ธ์ฝ๋๋ ๋ฐ๋ก ๋์ญํญ ์ต์ ์ ์ง์ ํ์ง ์์ผ๋ฉด ๊ณ ์ ๋นํธ๋ ์ดํธ ์ต์ ์์ ์๋ฌด๋ฆฌ ๋นํธ๋ ์ดํธ๋ฅผ ์ฌ๋ ค๋ 17,000Hz ์ด์์ ์ฃผํ์๋ ์นผ๊ฐ์ด ๋ ๋ ค๋ฒ๋ฆฐ๋ค. ๊ฐ๋ณ ๋นํธ๋ ์ดํธ ์ต์ ๋ ์ญ์ ๋์ญํญ ์ง์ ์ด ์์๊ฒฝ์ฐ ์ต๊ณ ๋ฑ๊ธ์ธ 5๋ ์ ํ์ด ์์ง๋ง ๋ฐ๋ก ์๋ ๋ฑ๊ธ์ธ 4์์๋ 15.5kHz์ ์ ํ์ด ๊ฑธ๋ฆฐ๋ค. ๋ฎ์ ๋นํธ๋ ์ดํธ ์ธ์ฝ๋ฉ์์ ์ดํด๊ฐ ๊ฐ๋ ๋ถ๋ถ์ด์ง๋ง ๋์ ๋นํธ๋ ์ดํธ์์๋ ์ด๋ฌ๋๊ฑด ์๋ฌด๋ฆฌ ๋ด๋ ์ ์ ์ค์ ๋์๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค.์ด ์ฐ๊ตฌ์์๋ ๊ณ ์ฃผํ๋ ๋ชป๋ฃ๋ ๋
ธ์ธ๋ค๋ค๋ง ์๋ ๋ชจ์์ด๋ค. ์ด๋ฌ๋๊น MP3์ธ์ฝ๋์์ Lameํํ
๊ด๊ด์ ๋นํ์ง ๋นํธ๋ ์ดํธ๋ฅผ ๋์ฌ์ ์ธ์ฝ๋ฉ ํ ๋๋ ์ด ๋ถ๋ถ์ ์ง์ ์ด ๋ฐ๋์ ํ์ํ๋ค.
๊ทธ ์ธ์ FFmpeg Launcher๋ ๊ฐ์ด ์ ๊ณตํ๊ณ ์์ผ๋ฏ๋ก ์ผ๋ณธ์ด ๋ฅ๋ ฅ์๋ผ๋ฉด ์ฌ์ฉํด ๋ณด์. ์๋์ฐ ์์์ ์ฝ๊ฒ ์ธ์ฝ๋ฉ ํ ์ ์๋ค.
์ ์๋๋ฉด https://github.com/m-ab-s/media-autobuild_suite ๋ฅผ ์จ๋ณด๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด๋ค. ์๋ฌธ ์คํฌ๋ฆฝํธ ์ด๋ฏ๋ก ๊ถ์ด ์ธ์ด์ ์ ์ฝ๋ฐ์ง ์์๋ ๋๋ค. ์ธํฐ๋ท๋ง ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด ์ด๋ก ์ MSYS2๊ฐ ์ง์๋๋ ์ด๋ค ์๋์ฐ์ฆ ์์์๋ ์ฌ์ฉ ๊ฐ๋ฅ. ์๊ฐ๋ง ์์ผ๋ฉด ๊ณต๊ฐ ๋๋ํ ์ธ์ฅํ๋(๋๋ต 14๊ธฐ๊ฐ ์ ๋ ๋จน๋๋ค)์ ํด๋ ํ๋ ๋ง๋ จํด์ ์คํ์ํค๊ณ ๊ฒฐ๊ณผ๋ฌผ๋ง ์์คํ ์ ์ฎ๊ฒจ๋ฒ๋ ค๋ ๋๋ค. ํ๋ผ์ดํธํผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฟ๋ง ์๋๋ผ AV1, nvenc ๋ฑ ๊ฐ๋ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค ์ฐพ์์ ์ปดํ์ผํ๋ค. ๊ธฐ๋ณธ ์ธํ ์ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ ์ผ๋ก ffmpeg.exe ์ ๋ฐ์๋ฃ๊ฒ ๋์ด ์์ผ๋ ์ปดํ์ผ๋ ๊ฒฐ๊ณผ๋ ๊ฐํธํ๊ฒ ๊ฐ์ง๊ณ ๋ค๋ ์ ์๋ค. ๋ค๋ง github ์์ค๋ ๊ฐ๋ ๋น๋๊ฐ ์คํจํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
๋ง์ผ ๋ฆฌ๋ ์ค๋ผ๋ฉด https://github.com/markus-perl/ffmpeg-build-script ํ๋ก์ ํธ๋ฅผ ์ฐธ์กฐํด ๋ณด์. ์ผ๋จ ๋ฐ๋น์/์ฐ๋ถํฌ์์๋ ์ ์๋ํ๋๋ฐ ๋ค๋ฅธ ๋ฐฐํฌํ์์๋ ์ด์ง ๋ง์ฌ์ง๋ฅผ ํด ์ค์ผ ํ๋ค.
๋จ, ์ผ๋ณธ์ด ์๋์ฐ ์ ์ฉ์ผ๋ก ์ ์๋ ํด์ด๋ผ ๋ง์ง๋ง์ ๋ฐํํ๋ฉด์ ๋น๋.lnk ํ์ผ์ ์์ฑํ๋ ๊ณผ์ ์์ .NET Framework ์๋ฌ๊ฐ ๋๋ฉด์ ๋ฐํํ๋ฉด์ ์์ด์ฝ์ด ์๊ธฐ์ง ์๋๋ค. ์๋ฌ๊ฐ ๋จ๋ฉด Quit ๋ฒํผ์ ๋๋ฌ์ ์ข ๋ฃํ๋ฉด ๋๋ค. ์๋์ฐ ์ผ๋ณธ์ด ์ธ์ดํฉ์ ๊น์๋ ์์ฉ์์ผ๋ ์ฃผ์ํ ๊ฒ. .NET Framework ์ผ๋ณธ์ด ์ธ์ดํฉ์ด ์ค์น๋์ด ์์ด์ผ๋ง ์๋ฌ๊ฐ ๋์ง ์๋๋ค. ์ค๋ฅ๋ก ๋ฐํํ๋ฉด์ ๋งํฌํ์ผ์ด ์์ฑ๋์ง ์์๋ ์คํํ์ผ์ ์ง์ ์ฐพ์์ ๋น๋ํ๋ฉด ๋๋ค.
32๋นํธ: oreBuildmingw32msyshomex86_binore_BuildTool.exe
64๋นํธ: oreBuildmingw64msyshomex64_binore_BuildTool.exe
๋น๋ํ๋๋ฐ ์๋นํ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฉฐ 2๊ธฐ๊ฐ ์ ๋์ ์ฉ๋์ด ํ์ํ๋ค. ๋น๋๊ฐ ์๋ฃ๋ FFmpeg.exe ํ์ผ์ ์์น๋ ๋ค์๊ณผ ๊ฐ๋ค.
32๋นํธ: oreBuildmingw32_ffmpeg_ffmpeg.exe
64๋นํธ: oreBuildmingw64_ffmpeg_ffmpeg.exe
๋น๋๊ฐ ์๋ฃ๋๋ฉด ๋๋จธ์ง ํ์ผ๋ค์ ์ง์๋ ๋๋ค.
ffmpeg -encoders ์คํํด์ libfdk_aac๊ฐ ๋ณด์ด๋ฉด ์ฑ๊ณต์ด๋ค. ์ด ํ์ผ์ ๋ฌด๋จ๋ฐฐํฌํ๋ฉด ๋ผ์ด์ผ์ค ์๋ฐ์ด๋ ์ฃผ์ํ ๊ฒ. ํผ์๋ง ์ฌ์ฉํ์. ์ฃผ์์ฌํญ์ผ๋ก ํ๋ผ์ดํธํผ AAC ์ธ์ฝ๋๋ ๋ฐ๋ก ๋์ญํญ ์ต์ ์ ์ง์ ํ์ง ์์ผ๋ฉด ๊ณ ์ ๋นํธ๋ ์ดํธ ์ต์ ์์ ์๋ฌด๋ฆฌ ๋นํธ๋ ์ดํธ๋ฅผ ์ฌ๋ ค๋ 17,000Hz ์ด์์ ์ฃผํ์๋ ์นผ๊ฐ์ด ๋ ๋ ค๋ฒ๋ฆฐ๋ค. ๊ฐ๋ณ ๋นํธ๋ ์ดํธ ์ต์ ๋ ์ญ์ ๋์ญํญ ์ง์ ์ด ์์๊ฒฝ์ฐ ์ต๊ณ ๋ฑ๊ธ์ธ 5๋ ์ ํ์ด ์์ง๋ง ๋ฐ๋ก ์๋ ๋ฑ๊ธ์ธ 4์์๋ 15.5kHz์ ์ ํ์ด ๊ฑธ๋ฆฐ๋ค. ๋ฎ์ ๋นํธ๋ ์ดํธ ์ธ์ฝ๋ฉ์์ ์ดํด๊ฐ ๊ฐ๋ ๋ถ๋ถ์ด์ง๋ง ๋์ ๋นํธ๋ ์ดํธ์์๋ ์ด๋ฌ๋๊ฑด ์๋ฌด๋ฆฌ ๋ด๋ ์ ์ ์ค์ ๋์๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค.
-cutoff 18000 ์ต์
์์ ์ปท์คํ ์ฃผํ์๋ฅผ ์ง์ ํด์ฃผ์. ์ต๋๊ฐ์ 20000.[13] ๋จ, ๋ฎ์ ๋นํธ๋ ์ดํธ์์ ์ปท์คํ ์ฃผํ์๋ฅผ ๋ฌด๋ฆฌํ๊ฒ ๋๊ฒ ์ก์ผ๋ฉด ์ ๋ค๋ฆฌ์ง๋ ์๋ ๊ณ ์ฃผํ ๋ถ๋ถ์ด ๋ฐ์ดํฐ๋ฅผ ๋ค ์ก์๋จน์ด์ ์ ์ ์ค์ํ ์ ์ฃผํ์์ญ ์์ง์ด ๊ณจ๋ฃธํด์ง์ ์์ผ๋ ์ ํ๋จํ์. ์์ธํ ์ธ์ฝ๋ฉ ์ต์
์ https://trac.ffmpeg.org/wiki/Encode/AAC์์ ํ์ธ.๊ทธ ์ธ์ FFmpeg Launcher๋ ๊ฐ์ด ์ ๊ณตํ๊ณ ์์ผ๋ฏ๋ก ์ผ๋ณธ์ด ๋ฅ๋ ฅ์๋ผ๋ฉด ์ฌ์ฉํด ๋ณด์. ์๋์ฐ ์์์ ์ฝ๊ฒ ์ธ์ฝ๋ฉ ํ ์ ์๋ค.
์ ์๋๋ฉด https://github.com/m-ab-s/media-autobuild_suite ๋ฅผ ์จ๋ณด๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด๋ค. ์๋ฌธ ์คํฌ๋ฆฝํธ ์ด๋ฏ๋ก ๊ถ์ด ์ธ์ด์ ์ ์ฝ๋ฐ์ง ์์๋ ๋๋ค. ์ธํฐ๋ท๋ง ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด ์ด๋ก ์ MSYS2๊ฐ ์ง์๋๋ ์ด๋ค ์๋์ฐ์ฆ ์์์๋ ์ฌ์ฉ ๊ฐ๋ฅ. ์๊ฐ๋ง ์์ผ๋ฉด ๊ณต๊ฐ ๋๋ํ ์ธ์ฅํ๋(๋๋ต 14๊ธฐ๊ฐ ์ ๋ ๋จน๋๋ค)์ ํด๋ ํ๋ ๋ง๋ จํด์ ์คํ์ํค๊ณ ๊ฒฐ๊ณผ๋ฌผ๋ง ์์คํ ์ ์ฎ๊ฒจ๋ฒ๋ ค๋ ๋๋ค. ํ๋ผ์ดํธํผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฟ๋ง ์๋๋ผ AV1, nvenc ๋ฑ ๊ฐ๋ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค ์ฐพ์์ ์ปดํ์ผํ๋ค. ๊ธฐ๋ณธ ์ธํ ์ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ ์ผ๋ก ffmpeg.exe ์ ๋ฐ์๋ฃ๊ฒ ๋์ด ์์ผ๋ ์ปดํ์ผ๋ ๊ฒฐ๊ณผ๋ ๊ฐํธํ๊ฒ ๊ฐ์ง๊ณ ๋ค๋ ์ ์๋ค. ๋ค๋ง github ์์ค๋ ๊ฐ๋ ๋น๋๊ฐ ์คํจํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
๋ง์ผ ๋ฆฌ๋ ์ค๋ผ๋ฉด https://github.com/markus-perl/ffmpeg-build-script ํ๋ก์ ํธ๋ฅผ ์ฐธ์กฐํด ๋ณด์. ์ผ๋จ ๋ฐ๋น์/์ฐ๋ถํฌ์์๋ ์ ์๋ํ๋๋ฐ ๋ค๋ฅธ ๋ฐฐํฌํ์์๋ ์ด์ง ๋ง์ฌ์ง๋ฅผ ํด ์ค์ผ ํ๋ค.
5. ๊ทธ ์ธ ffmpeg์ ์ด์ฉํ๋ ํ๋ก๊ทธ๋จ๋ค[ํธ์ง]
- Kodi(์ XBMC)
6. ๊ตญ์ฐ ํ๋ ์ด์ด์ GPL ์๋ฐ ์ํน[ํธ์ง]
KMPlayer, ๊ณฐํ๋ ์ด์ด, ํํ๋ ์ด์ด 3๊ฐ ํ๋ ์ด์ด์ ๊ฒฝ์ฐ GPL ์๋ฐ ์ํน์ด ์๋ค. FFmpeg์ GPL ๋ถ๋ถ์ ํฌํจํด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ธ๋ฐ, ์ด ๋ถ๋ถ์ด ๋ง์ด ์ฐ์ด๋ ์ฝ๋ฑ๊ณผ ์์ด์ ์ ๋๋ ๊ธฐ๋ฅ์ด๊ธฐ ๋๋ฌธ์ ์ ์ธํ๊ณ LGPL ๋ถ๋ถ๋ง ์ฌ์ฉํ๊ธฐ๋ ํ๋ค๋ค. ์ด ๋๋ฌธ์ 3๊ฐ ํ๋ ์ด์ด ์ ๋ถ FFmpeg์ ๋ณ๋ค๋ฅธ ์๊ฐ ์์ด ๋ด์ฅํ๋ค๊ฐ GPL ์๋ฐ ์ํน์ ์ฌ๊ฒ ๋์๋ค.
์ด ๋ฌธ์ ๊ฐ ์ ๊ธฐ๋ ์ดํ ๋๋ถ๋ถ์ ํ๋ ์ด์ด๊ฐ ๋ณ๋ค๋ฅธ ๋์์ด ์๋ ์์ค์ ํํ๋ ์ด์ด๊ฐ ์์ค๋ฅผ ๊ณต๊ฐํ์๋ค. LGPL ๋ผ์ด์ ์ค์ ํจ๊ป ์์ ๋ FFmpeg ์์ค์ฝ๋๋ฅผ ๋ค์ด๋ฐ์ ์ ์๋ ์ฃผ์๋ฅผ ์ ๊ณตํ๊ณ , ๊ธ๋ก๋ฒ ๋ฒ์ ์ ์ถ์ํ๋ฉฐ ๊ธฐ๋ณธ ์ค์น ํจํค์ง์์ FFmpeg๋ฅผ ๋นผ ๋ฒ๋ ธ๋ค. ๋ค๋ง, ์ค์น ์๋ฃ ํ๋ฉด์์ 'Open Codec for PotPlayer'๋ฅผ ์ฒดํฌํ๋ฉด ์๋ฒ๋ก๋ถํฐ ์ถ๊ฐ ํ์ผ ๋ค์ด๋ก๋ ํ์ ์ค์น๊ฐ ์งํ๋๋ค. ํน์ ์ด ๊ณผ์ ์ ๊ฑด๋ ๋ฐ์๋ค๋ฉด ์๋ฒ์์ ํ์ผ์ ์ง์ ๋ค์ด๋ฐ์ ์๋ ์๋ค. (32๋นํธ์ฉ, 64๋นํธ์ฉ)
iOS์ AVPlayer์ ๊ฒฝ์ฐ ์์ค์ฝ๋ ์ ์ฒด๋ฅผ ๊ณต๊ฐํ๊ณ ์๋ค. #๋ค์ด๋ก๋ ํ์ด์ง iOS์ ์ฑ์คํ ์ด ์ฌ์ฌ์ ํน์ฑ์ LGPL์์ ํ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋๋ฏน ๋งํฌ๋ก ์ฒ๋ฆฌํ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ ์์ ์์ค์ฝ๋ ์ ์ฒด๋ฅผ ๊ณต๊ฐํ ๋ฏ ํ๋ค.[14] ์ด ๋๋ฌธ์ ์ฑ์คํ ์ด์์ "๋ฌด์ธ์ฝ๋ฉ"์ผ๋ก ๊ฒ์ํ๋ฉด AVPlayer ์ด์ธ์๋ ๋ค๋ฅธ ๊ตญ์ฐ ํ๋ ์ด์ด๊ฐ ์ฌ๋ฌ ๊ฐ ํ์ด ๋์จ๋ค. ๋ฌผ๋ก ์์ค์ฝ๋ ๊ณต๊ฐ ์ด๋ฐ๊ฑฐ ์๋ค.
์๊ธฐ ํ๋ก๊ทธ๋จ์ ๊ทธ๋๋ง ์ ๋ช ์ธ๋ฅผ ํ๊ณ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ๋ ผ๋์ด ํ ๋ฒ ๋๊ธฐ์ ํ์๋๊ณ ์์ ๋ฟ, ๊ตฌ๊ธ ํ๋ ์ด์ ํ๊ตญ์ฐ ์ฑ๋ค ์ค์์๋ ffmpeg๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ผ์ด์ผ์ค๋ฅผ ์๋ฐํ ๊ฒ์ผ๋ก ๋ณด์ด๋ ์ฑ์ด ์๋๋ฃฉ ๋นฝ๋นฝํ๋ค.[15] ์ ํ ์ฑ์คํ ์ด๋ ๋ผ์ด์ผ์ค ์๋ฐ์ผ๋ก ์ฑ์ ์ ๊ณ ํ๋ฉด ์ฑ์ด ๋ด๋ ค๊ฐ๋ ์ฌ๋ก๋ ์์ ์์ผ๋, ๋ผ์ด์ผ์ค ์ ์ฑ ๋ฟ๋ง ์๋๋ผ ์จ๊ฐ ๋ถ๋ถ์์ ์ ์ฑ ์ด ํ์ ํ ๊ตฌ๊ธ ํ๋ ์ด ์ชฝ์ ์ฌ์ค์ ๊ทธ๋ฅ ๋ฌด๋ฒ์ง๋๋ก ๋ฐฉ์น๋๊ณ ์๋ ์ค.
์์ฉ์ด๋ ๋ฌด๋ฃ๋ ๋ด์ฅ ์ฝ๋ฑ์ ์ด์ฉํ๋ ํ๋ก๊ทธ๋จ์น๊ณ ์คํ์์ค๊ฐ ์๋ ์ด์ GPL ์๋ฐ์์ ๋ฒ์ด๋๋ ๊ฒ์ ํ์ค์ ์ผ๋ก๋ ๋ถ๊ฐ๋ฅํ๋ค. GPL ๋ผ์ด์ ์ค๋ ํ๋ก๊ทธ๋จ ์ฝ๋ ์ ๋ถ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. Hall of Shame์ ๋ฑ์ฌ๋์ด ์์ง ์๋ ํ๋ก๊ทธ๋จ์ GPL ์๋ฐ์ด ์๋๋ผ์๊ฐ ์๋๋ผ ๋์ค์๊ฒ ๋น๊ต์ ๋ ์๋ ค์ง ๊ฒฝ์ฐ์ ๋ถ๊ณผํ๋ค. FFmpeg์ ํฌํจ๋ ์ฝ๋ฑ๋ค๋ ๋ผ์ด์ ์ค ์ด์์์ ์์ ํ ์์ ๋ก์ด ๊ฒ์ ์๋๋ค. GPL ๋ผ์ด์ ์ค๋ ์์ ์ ๋ชฉ์ ์ด ์ฃผ๊ฐ ๋๋ ๊ฐ๋ฐ์๋คํํ ์ ์ ์ฐจ ๊ธฐํผ๋๊ณ ์๋ค. ๋ฌผ๋ก ๊ทธ๋ ๋ค๊ณ GPL์ ๋ถ์ ์ ์ผ๋ก ๋ณผ ์ผ์ ์๋๋ค. GPL์ด ์ซ์ผ๋ฉด ์์ ์ด ์ง์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ์ฝ๋๋ฅผ ์ง๋ฉด ๋๋ค. ๋จ์ด ๋ง๋ ๊ฑธ ๊ธ์ ์ ์ธ ๋๊ฐ ์์ด ๊ฐ์ ธ๋ค ์ฐ๋ฉด์ ์๋ฌด ์ฑ ์๋ ์ ์ง๋ ค๋ ๊ฒ ์ด๊ธฐ์ ์ธ ๊ฒ์ด๋ค. ์ ์ด์ GPL์ ์์ค ๊ณต๊ฐ ๊ฐ์ ์กฐํญ์ด ๋ค์ด๊ฐ ๊ฒ๋ ์คํ์์ค๋ฅผ ์ด์ฉํ๋ฉด์ ์๊ธฐ ์ฝ๋๋ ๋ด๋์ง ์๋ ๋จนํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ค. [16]
[17]
์ด ๋ฌธ์ ๊ฐ ์ ๊ธฐ๋ ์ดํ ๋๋ถ๋ถ์ ํ๋ ์ด์ด๊ฐ ๋ณ๋ค๋ฅธ ๋์์ด ์๋ ์์ค์ ํํ๋ ์ด์ด๊ฐ ์์ค๋ฅผ ๊ณต๊ฐํ์๋ค. LGPL ๋ผ์ด์ ์ค์ ํจ๊ป ์์ ๋ FFmpeg ์์ค์ฝ๋๋ฅผ ๋ค์ด๋ฐ์ ์ ์๋ ์ฃผ์๋ฅผ ์ ๊ณตํ๊ณ , ๊ธ๋ก๋ฒ ๋ฒ์ ์ ์ถ์ํ๋ฉฐ ๊ธฐ๋ณธ ์ค์น ํจํค์ง์์ FFmpeg๋ฅผ ๋นผ ๋ฒ๋ ธ๋ค. ๋ค๋ง, ์ค์น ์๋ฃ ํ๋ฉด์์ 'Open Codec for PotPlayer'๋ฅผ ์ฒดํฌํ๋ฉด ์๋ฒ๋ก๋ถํฐ ์ถ๊ฐ ํ์ผ ๋ค์ด๋ก๋ ํ์ ์ค์น๊ฐ ์งํ๋๋ค. ํน์ ์ด ๊ณผ์ ์ ๊ฑด๋ ๋ฐ์๋ค๋ฉด ์๋ฒ์์ ํ์ผ์ ์ง์ ๋ค์ด๋ฐ์ ์๋ ์๋ค. (32๋นํธ์ฉ, 64๋นํธ์ฉ)
iOS์ AVPlayer์ ๊ฒฝ์ฐ ์์ค์ฝ๋ ์ ์ฒด๋ฅผ ๊ณต๊ฐํ๊ณ ์๋ค. #๋ค์ด๋ก๋ ํ์ด์ง iOS์ ์ฑ์คํ ์ด ์ฌ์ฌ์ ํน์ฑ์ LGPL์์ ํ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋๋ฏน ๋งํฌ๋ก ์ฒ๋ฆฌํ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ ์์ ์์ค์ฝ๋ ์ ์ฒด๋ฅผ ๊ณต๊ฐํ ๋ฏ ํ๋ค.[14] ์ด ๋๋ฌธ์ ์ฑ์คํ ์ด์์ "๋ฌด์ธ์ฝ๋ฉ"์ผ๋ก ๊ฒ์ํ๋ฉด AVPlayer ์ด์ธ์๋ ๋ค๋ฅธ ๊ตญ์ฐ ํ๋ ์ด์ด๊ฐ ์ฌ๋ฌ ๊ฐ ํ์ด ๋์จ๋ค. ๋ฌผ๋ก ์์ค์ฝ๋ ๊ณต๊ฐ ์ด๋ฐ๊ฑฐ ์๋ค.
์๊ธฐ ํ๋ก๊ทธ๋จ์ ๊ทธ๋๋ง ์ ๋ช ์ธ๋ฅผ ํ๊ณ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ๋ ผ๋์ด ํ ๋ฒ ๋๊ธฐ์ ํ์๋๊ณ ์์ ๋ฟ, ๊ตฌ๊ธ ํ๋ ์ด์ ํ๊ตญ์ฐ ์ฑ๋ค ์ค์์๋ ffmpeg๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ผ์ด์ผ์ค๋ฅผ ์๋ฐํ ๊ฒ์ผ๋ก ๋ณด์ด๋ ์ฑ์ด ์๋๋ฃฉ ๋นฝ๋นฝํ๋ค.[15] ์ ํ ์ฑ์คํ ์ด๋ ๋ผ์ด์ผ์ค ์๋ฐ์ผ๋ก ์ฑ์ ์ ๊ณ ํ๋ฉด ์ฑ์ด ๋ด๋ ค๊ฐ๋ ์ฌ๋ก๋ ์์ ์์ผ๋, ๋ผ์ด์ผ์ค ์ ์ฑ ๋ฟ๋ง ์๋๋ผ ์จ๊ฐ ๋ถ๋ถ์์ ์ ์ฑ ์ด ํ์ ํ ๊ตฌ๊ธ ํ๋ ์ด ์ชฝ์ ์ฌ์ค์ ๊ทธ๋ฅ ๋ฌด๋ฒ์ง๋๋ก ๋ฐฉ์น๋๊ณ ์๋ ์ค.
์์ฉ์ด๋ ๋ฌด๋ฃ๋ ๋ด์ฅ ์ฝ๋ฑ์ ์ด์ฉํ๋ ํ๋ก๊ทธ๋จ์น๊ณ ์คํ์์ค๊ฐ ์๋ ์ด์ GPL ์๋ฐ์์ ๋ฒ์ด๋๋ ๊ฒ์ ํ์ค์ ์ผ๋ก๋ ๋ถ๊ฐ๋ฅํ๋ค. GPL ๋ผ์ด์ ์ค๋ ํ๋ก๊ทธ๋จ ์ฝ๋ ์ ๋ถ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. Hall of Shame์ ๋ฑ์ฌ๋์ด ์์ง ์๋ ํ๋ก๊ทธ๋จ์ GPL ์๋ฐ์ด ์๋๋ผ์๊ฐ ์๋๋ผ ๋์ค์๊ฒ ๋น๊ต์ ๋ ์๋ ค์ง ๊ฒฝ์ฐ์ ๋ถ๊ณผํ๋ค. FFmpeg์ ํฌํจ๋ ์ฝ๋ฑ๋ค๋ ๋ผ์ด์ ์ค ์ด์์์ ์์ ํ ์์ ๋ก์ด ๊ฒ์ ์๋๋ค. GPL ๋ผ์ด์ ์ค๋ ์์ ์ ๋ชฉ์ ์ด ์ฃผ๊ฐ ๋๋ ๊ฐ๋ฐ์๋คํํ ์ ์ ์ฐจ ๊ธฐํผ๋๊ณ ์๋ค. ๋ฌผ๋ก ๊ทธ๋ ๋ค๊ณ GPL์ ๋ถ์ ์ ์ผ๋ก ๋ณผ ์ผ์ ์๋๋ค. GPL์ด ์ซ์ผ๋ฉด ์์ ์ด ์ง์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ์ฝ๋๋ฅผ ์ง๋ฉด ๋๋ค. ๋จ์ด ๋ง๋ ๊ฑธ ๊ธ์ ์ ์ธ ๋๊ฐ ์์ด ๊ฐ์ ธ๋ค ์ฐ๋ฉด์ ์๋ฌด ์ฑ ์๋ ์ ์ง๋ ค๋ ๊ฒ ์ด๊ธฐ์ ์ธ ๊ฒ์ด๋ค. ์ ์ด์ GPL์ ์์ค ๊ณต๊ฐ ๊ฐ์ ์กฐํญ์ด ๋ค์ด๊ฐ ๊ฒ๋ ์คํ์์ค๋ฅผ ์ด์ฉํ๋ฉด์ ์๊ธฐ ์ฝ๋๋ ๋ด๋์ง ์๋ ๋จนํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ค. [16]
[17]
7. ffmpeg? libav?[ํธ์ง]
์ฐ๋ถํฌ๋ฑ์ ๋ช๋ช ๋ฆฌ๋
์ค ๋ฐฐํฌํ์๋ ffmpeg๋ฅผ ์ค์นํ๋ฉด ffmpeg๋์ avconv๊ฐ ์ค์น๋๋๋ฐ[18], ์ด๋ ffmpeg์ ํฌํฌ์ด๋ค. ffmpeg ์์์ ํ๋ฒ์ด ๊ฐ๋ฆฌ๊ณ ์ธ์์ด ์ผ์ด๋ฌ๋๋ฐ, ๊ทธ ๊ฒฐ๊ณผ ์๊ฒฌ์ด ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ฐ๋ก ๋์์ libav๋ผ๋ ์๋ก์ด ํฌํฌ๋ฅผ ๋ง๋ค์๋ค. libav ์ชฝ์ ffmpeg ์ชฝ์ ์์ ํ ๋ฌด์ํ๊ณ ์๋ ์ํฉ์ด์ง๋ง, ffmpeg ๋ ์์ ๋ค์ด ๊ฐ๋ฐํ๋๊ฒ์ ๋ํด์, libav ์ชฝ์ ๊ณ์ ๋ชจ๋ํฐ๋งํ๋ฉด์(์๋ฌด๋๋ ์คํ์์ค๋...) libav์์ ๋ง๋ ๊ฒ๋ค๋ ์ข ๊ธ์ด๋ค๊ฐ ffmpeg์ ๊ทธ๋๋ก ํธ์
์ํค๊ณ ์๋ ์ํฉ. ๋๋ถ์ ์ ์ง ffmpeg๊ฐ ๋๋ฌ์ด ๊ฒ ๊ฐ๊ธด ํ์ง๋ง[19], ์ฌ์ฉ์ ์
์ฅ์์๋ ffmpeg ์ชฝ์ด ๊ธฐ๋ฅ๋ฉด์์ ๋ซ๋ค. 2015๋
8์ 1์ผ, ffmpeg์ ๋ฆฌ๋ ๊ฐ๋ฐ์๊ฐ libav๋ฅผ ์ง์ ์ ์ผ๋ก ๋ช
์ํ์ง ์์์ง๋ง ๋ถํ๋ก ์ธํด ffmpeg์์ ๊ฐ๋ผ์ ธ๋์จ ํฌํฌ ํ๋ก์ ํธ๋ค์๊ฒ ํํด๋ฅผ ๊ณต์์ ์ผ๋ก ์ ์ํ๋ค.
ffmpeg์ libav์ ๊ฐ๋ฑ์ ๋ํ ์์ธํ ์ญ์ฌ๋ #FFmpeg-libav ๋ถ์ ๊ธฐ๋ก์ ์ฐธ๊ณ ํ๋ฉด ์ข๋ค.
ffmpeg์ libav์ ๊ฐ๋ฑ์ ๋ํ ์์ธํ ์ญ์ฌ๋ #FFmpeg-libav ๋ถ์ ๊ธฐ๋ก์ ์ฐธ๊ณ ํ๋ฉด ์ข๋ค.
[1] ํฌํจํด์ ๋น๋ํ ์ง ์ฌ๋ถ๋ฅผ ์ ํํ ์ ์๋ ์ผ๋ถ ๊ธฐ๋ฅ๊ณผ ์ต์ ํ ์ฝ๋๊ฐ GPL์ ๋ฐ๋ฅด๊ณ ๋๋จธ์ง๋ LGPL์ ๋ฐ๋ฅธ๋ค
[2] ์ ํํ๋ FFmpeg์ ์ผ๋ถ์ธ libavcodec ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฃผ๋ก ์ด๋ค.
[3] FFmpeg ๊ฐ๋ฐ์์ค์๋ MPlayer ๊ฐ๋ฐ์๋ ์ฐธ์ฌํ๋ ์ฌ๋์ด ๋ง๋ค.
[4] ์ ์๋น์ด FFmpeg์์ ํ์๋ ํ๋ก์ ํธ์ด๋ค.
[5] ๋จ FFmpeg ์ปดํ์ผ ์ ์ด๋ค ์ฝ๋ฑ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋งํฌํ๋๋ ๋ง๋๋์ ๋ฐ๋ผ ํด๋น ์ฝ๋ฑ์ ์์ ์ฒ๋ฆฌ๊ฐ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ๋ ์๋ค.
[6] ์ด๊ฒ์ ์ธ์ฝ๋๋ค์ด ์์ฃผ ์ค๋๋ ๋ฒ์ ์ FFmpeg์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์์ผ๋ฉฐ, FFmpeg์์ ์ ๊ณตํ๋ ํ๋ฆฌ์
์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
[7] ํ์ธ์ฝ๋ ๋ฑ ์ธ์ฝ๋ฉ ํ๋ก๊ทธ๋จ ๋์ฒด
[8] http://dicer.tistory.com/219 ์ฐธ์กฐ.
[9] mpeg2๋ฅผ h264๋ก ์ฌ์ธ์ฝ๋ฉํ๋ค๋ฉด ๋นํธ๋ ์ดํธ๋ mpeg2์๋ณธ์ ์ ๋ฐ์ ๋๊ฐ ์ ์ ํ๋ค.
[10] FFmpeg ์ค๋์ค ์ฝ๋ฑ ์์ด libopus > libvorbis >= libfdk_aac > aac > libmp3lame >= eac3/ac3 > libtwolame > vorbis > mp2 > wmav2/wmav1
[11] ์ด ์์ค๊ฐ ์๋๋ก์ด๋๊ฐ ์ถ์ฒ์ธ๋ฐ ๋ผ์ด์ผ์ค ๋๋ฌธ์ ๋๋๊ณ ffmpeg์ ํฌํจ์ํค์ง๋ ๋ชปํ๊ณ ์ด๋ฐ ์์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฒ. ๋ํ DLL๋ ์ ๊ณตํ๋ ๊ฑด์ง ์ผ๋ถ FFmpeg ๊ณ์ด ์ธ์ฝ๋์ ์ด๊ฑธ DLL๋ก ํฌํจํ ๊ฒฝ์ฐ๊ฐ ์๋ค.
[12] ์์
์ฉ ์ฅ๋น์์ ์ด๋ฐ ์ผ์ด ์ข ์๋ค. ์ค์ ๋ก ์ฌ๋ ์ค์นด์ด๋ผ์ดํ TV์ USB ํ์ผ ์ฌ์์์ Vorbis ์ง์์ ์ํ๋ค. ์ฌ์ง์ด ์ด๋ฐ ์ฅ๋น์ ๊ฒฝ์ฐ smi ์๋ง์ ์ง์ ์ํด์ srt๋ก ๋ณํํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋นํ ๋ง๋ค.
[13] Lame MP3 encoder์ ๊ฒฝ์ฐ ์ต์ ๋ฒ์ ์์ 320kbps์์ ์ฃผํ์ ์ปท์คํ๊ฐ ๊ฑฐ์ ์๋ค. 20,000Hz ๊น์ง ํฌํจ๋๋ค
[15] mms ๋ฐ ๊ทธ ํ์ ํฌ๋งท์ ์คํธ๋ฆฌ๋ฐ(์ธํฐ๋ท ๋ฐฉ์ก์ด๋ ๋ผ๋์ค ๋ฐ์)ํด์ฃผ๋ ์ฑ์ ์ญ์คํ๊ตฌ ffmpeg๋ฅผ ๊ฐ์ ธ๋ค ์ผ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ค์์ ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฅด๊ฑฐ๋ ์์ค์ฝ๋๋ฅผ ๊ณต๊ฐํ ์ฑ์ ์ซ์๋...
[17] ๋ค๋ง (C์ธ์ด ๊ธฐ์ค) fork๋ exec ํจ์๋ฅผ ์ฌ์ฉํด์ ffmpeg๋ฅผ ํธ์ถํ๋ ๊ฒฝ์ฐ๋ (L)GPL์ด ์ ์ฉ๋์ง ์๋ ๋ฏ ํ๋ค. ์ฐธ๊ณ 1 ์ฐธ๊ณ 2 ์ฐธ๊ณ 3 ์ฐธ๊ณ 4
[18] ๋จ, ์ฐ๋ถํฌ์ upstream์ธ ๋ฐ๋น์ ๋ฆฌ๋
์ค๋ ๋ณด์ ๋์/์ปค๋ฐ์์ ์ฐจ์ด๋ฑ์ ๊ทผ๊ฑฐ๋ก ffmpeg๋ก ๋ค์ ํ๊ทํ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋น์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ฐ๋ถํฌ ๋ฑ์ ๋ฆฌ๋
์ค ๋ฐฐํฌํ๋ค๋ ์ด ํ๋ฆ์ ๋ฐ๋ผ๊ฐ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
[19] ํ์ง๋ง ์๋ ์์ ์ํํธ์จ์ด ๊ฒธ ์คํ์์ค๋ ๊ทธ๋ฐ ๊ฒ์ ๊ถ์ฅํ๊ธฐ ์ํด ๋์จ ๊ฒ์ด๋ค.