Skip to content

Latest commit

ย 

History

History
72 lines (52 loc) ยท 4.21 KB

File metadata and controls

72 lines (52 loc) ยท 4.21 KB

AWS Linux์—์„œ FFMPEG ์„ค์น˜ํ•˜๊ธฐ (ElasticBeanStalk)

MP4.1์—์„œ AV1 ์ง€์›์œผ๋กœ ์ถœ์‹œ ๋œ FFMPEG 4 - WebSetNet

์ด๋Ÿฐ ์ฃผ์ œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ ์ด์œ ๋„ ์‚ฌ์‹ค ๋‚ด๊ฐ€ ์ด์ „์— ํ–ˆ์—ˆ๋˜ ํ”„๋กœ์ ํŠธ๊ฐ€ DeepLearning์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋”ฅ๋Ÿฌ๋‹์„ Django ๋ฐฑ์—”๋“œ์—์„œ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋“ˆ์„ ๋Œ๋ฆฌ๋Š” ํ„ฐ๋ผ, ์ด ๋”ฅ๋Ÿฌ๋‹์„ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” FFMPEG์ด ํ•„์š”ํ–ˆ๋‹ค.

๋ฌธ์ œ๋Š” FFMPEG์ด AWS Linux์—์„œ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์„ค์น˜๊ฐ€ ์žฌ๋Œ€๋กœ ์•ˆ๋œ๋‹ค๋Š” ์ ์ด ํฐ ๋ฌธ์ œ์ด๋‹ค. ๋ถ„๋ช…ํžˆ Red-hat ๊ณ„์—ด์˜ ์„ค์น˜๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•˜๊ณ  Yum์ด๋‚˜ Apt-get์„ ํ†ตํ•ด์„œ ํŒจํ‚ค์ง€ ์„ค์น˜๋ฅผ ํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ๊ธฐ์กด ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์„ค์น˜๊ฐ€ ์•ˆ๋ฌ๋‹ค. ์•„๋งˆ Apt-get์ด๋‚˜ Yum์„ ํ†ตํ•œ ๋งํฌ๊ฐ€ ์ด๋ฏธ ์ฃฝ์€๊ฒƒ ๊ฐ™์•˜๋‹ค. ์žฌ๋Œ€๋กœ ์„ค์น˜๊ฐ€ ์•ˆ๋˜์„œ ์‹คํ–‰์ด ์•ˆ๋ฌ๊ธฐ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋‚ด์•ผ ํ–ˆ๋‹ค.

์‹ค์ œ๋กœ ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” Django๋ฅผ AWS Beanstalk์„ ํ†ตํ•ด์„œ ๋ฐฐํฌํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์—, ์„ค์น˜ ๋ฐฉ์•ˆ์„ EC2์— ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋งŒ์€ ํ•ด๊ฒฐ์ด ๋˜์ง€ ์•Š์•„์„œ AWS EB ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ• ๋‘๊ฐ€์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋ ค๊ณ  ํ•œ๋‹ค. ์‹ค์ œ๋กœ EC2์—์„œ ์„ค์น˜ํ•œ ๋ฐฉ๋ฒ•์€ EC2์—์„œ๋Š” ์ž˜ ๋Œ์•„๊ฐ”์ง€๋งŒ EB์—์„œ๋Š” ์•ˆ๋Œ์•„๊ฐ”๊ธฐ ๋•Œ๋ฌธ์— ์Š์–ด๋ณธ๋‹ค.

1. EC2์—์„œ FFMPEG ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. ๋ฃจํŠธ ์„ค์ •
  2. bin์œผ๋กœ ์ด๋™ํ›„
  3. ffmpeg ํด๋” ์„ค์น˜ํ›„ ์ด๋™
1. sudo su -
2. cd /usr/local/bin
3. mkdir ffmpeg && cd ffmpeg
  1. ์ง์ ‘ ๋งํฌ๋ฅผ ํ†ตํ•ด์„œ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ฐ›๋Š”๋‹ค. ์ž์‹ ์˜ OS ๋น„ํŠธ์— ๋งž๋Š” ํŒŒ์ผ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ฒ„์ ผ๋ณ„ ์„ค์น˜๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

    ์ด์ „ ๋ฒ„์ ผ ๋ฆด๋ฆฌ์ฆˆ๋Š” https://johnvansickle.com/ffmpeg/old-releases/ ์—์„œ ์„ค์น˜๊ฐ€๋Šฅํ•˜๊ณ ,

    ์ตœ์‹ ๋ฒ„์ ผ์€ https://johnvansickle.com/ffmpeg/ ์—์„œ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  2. ๋‹ค์šด๋กœ๋“œํ•œ ํŒŒ์ผ์„ ์••์ถ•ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚œ๋’ค์— ํ™•์ธํ•˜๋ฉด ์‹คํ–‰์ด๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ด๊ฑธ ์–ด๋””์„œ๋“  ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” ln์œผ๋กœ ๋“ฑ๋กํ›„์— ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

  3. ln์œผ๋กœ ๋“ฑ๋กํ•œ๋’ค์— ffmpeg์„ ์–ด๋””์„œ๋“  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
5. tar -xf ffmpeg-release-amd64-static.tar.xz -> ./ffmpeg -version
cp -a /usr/local/bin/ffmpeg/ffmpeg-4.2.1-amd64-static/ . /usr/local/bin/ffmpeg/
6. ln -s /usr/local/bin/ffmpeg/ffmpeg /usr/bin/ffmpeg

2. EB์—์„œ FFMPEG ์„ค์น˜ํ•˜๋Š” ๋ฐฉ์‹

EB์—์„œ๋Š” eb ssh์„ ํ†ตํ•ด์„œ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ์‹๋„ ์žˆ๊ธดํ•œ๋ฐ, ์‹ค์ œ๋กœ EB์—์„œ FFMPEG์€ ์ž‘๋™ํ•˜์ง€ ์•Š์•„์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด์„œ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค.

๊ทธ๋ฐฉ๋ฒ•์€ .config ํŒŒ์ผ์„ ํ†ตํ•ด์„œ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค.

.ebextensions/03_ffmpeg_package.config Eb์—์„œ ์‹ค์ œ Deploy์ „์— AWS Linux๋ฅผ ํ†ตํ•ด์„œ ํ•  ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ๊ฒƒ๋“ค์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก  ImageMagick์„ ์™œ๊นŒ๋Š”์ง€๋Š” ์ข€ ์˜๋ฌธ์ด์ง€๋งŒ...? ์ด ๋ฐฉ๋ฒ•์ด ์ œ์ผ ์ž˜๋˜๋Š” ๋ฐฉ๋ฒ•์ด๊ธด ํ•ด์„œ imagick๊ณผ ๊ฐ™์€ ์„ค์น˜ ๋ช…๋ น์–ด๋Š” ์—†์–ด๋„ ์ž‘๋™๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

packages:
  yum:
    ImageMagick: []
    ImageMagick-devel: []
commands:
  01-wget:
    command: "wget -O /tmp/ffmpeg.tar.xz https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-3.4.2-64bit-static.tar.xz"
  02-mkdir:
    command: "if [ ! -d /opt/ffmpeg ] ; then mkdir -p /opt/ffmpeg; fi"
  03-tar:
    command: "tar xvf /tmp/ffmpeg.tar.xz -C /opt/ffmpeg"
  04-ln:
    command: "if [[ ! -f /usr/bin/ffmpeg ]] ; then ln -sf /opt/ffmpeg/ffmpeg-3.4.2-64bit-static/ffmpeg /usr/bin/ffmpeg; fi"
  05-ln:
    command: "if [[ ! -f /usr/bin/ffprobe ]] ; then ln -sf /opt/ffmpeg/ffmpeg-3.4.2-64bit-static/ffprobe /usr/bin/ffprobe; fi"
  06-pecl:
    command: "if [ `pecl list | grep imagick` ] ; then pecl install -f imagick; fi"

์ถœ์ฒ˜:

https://medium.com/@maskaravivek/how-to-install-ffmpeg-on-ec2-running-amazon-linux-451e4a8e2694

https://stackoverflow.com/questions/39241654/how-to-install-ffmpeg-on-elastic-beanstalk