BIBLIOGRAPHY

howto

gif-to-mp4.sh

2024-12-30

@user ๋ฆฌ๋ˆ…์Šค์—์„œ ์‚ฌ์šฉํ•  gif to mp4 ์‰˜ ์Šคํฌ๋ฆฝํŠธ ๋งŒ๋“ค์–ด์ค˜.

@assistant ๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” gif ํŒŒ์ผ์„ =mp4=๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์‰˜ ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” =ffmpeg=๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. =ffmpeg=๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋จผ์ € ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

#!/bin/bash
 
# ffmpeg๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
if ! command -v ffmpeg &> /dev/null
then
    echo "ffmpeg๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ํ›„ ๋‹ค์‹œ ์‹œ๋„ํ•˜์„ธ์š”."
    exit 1
fi
 
# ์ธ์ž๋กœ gif ํŒŒ์ผ ์ด๋ฆ„์„ ๋ฐ›์Œ
if [ "$#" -ne 1 ]; then
    echo "์‚ฌ์šฉ๋ฒ•: $0 <gif ํŒŒ์ผ ์ด๋ฆ„>"
    exit 1
fi
 
gif_file="$1"
 
# ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ
if [ ! -f "$gif_file" ]; then
    echo "ํŒŒ์ผ $gif_file ์ด(๊ฐ€) ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."
    exit 1
fi
 
# ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„ ์„ค์ •
mp4_file="${gif_file%.gif}.mp4"
 
# gif๋ฅผ mp4๋กœ ๋ณ€ํ™˜
ffmpeg -i "$gif_file" -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" "$mp4_file"
 
if [ $? -eq 0 ]; then
    echo "๋ณ€ํ™˜ ์™„๋ฃŒ: $mp4_file"
else
    echo "๋ณ€ํ™˜ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค."
fi

์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด:

  1. ์œ„์˜ ์ฝ”๋“œ๋ฅผ gif_to_mp4.sh ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ํŒŒ์ผ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  2. chmod +x gif_to_mp4.sh ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
  3. ํ„ฐ๋ฏธ๋„์—์„œ gif_to_mp4.sh your_gif_file.gif ํ˜•์‹์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ์ž…๋ ฅ๋œ gif ํŒŒ์ผ์„ =mp4=๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๋ณ€ํ™˜๋œ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์›๋ž˜ ํŒŒ์ผ ์ด๋ฆ„์—์„œ ํ™•์žฅ์ž๋งŒ =mp4=๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. =ffmpeg=์˜ ์˜ต์…˜์„ ํ†ตํ•ด ๋น„๋””์˜ค์˜ ํฌ๊ธฐ๋ฅผ 2์˜ ๋ฐฐ์ˆ˜๋กœ ์กฐ์ •ํ•˜์—ฌ ํ˜ธํ™˜์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

@user ๋น„๋””์˜ค ํฌ๊ธฐ๋ฅผ 2์˜ ๋ฐฐ์ˆ˜๋กœ ์กฐ์ •ํ•˜๋Š” ์ด์œ ๋Š”?

@assistant ๋น„๋””์˜ค ํฌ๊ธฐ๋ฅผ 2์˜ ๋ฐฐ์ˆ˜๋กœ ์กฐ์ •ํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. H.264/AVC ์ธ์ฝ”๋”ฉ ํ˜ธํ™˜์„ฑ: H.264/AVC (Advanced Video Coding)์™€ ๊ฐ™์€ ๋งŽ์€ ๋น„๋””์˜ค ์ฝ”๋ฑ์€ 2์˜ ๋ฐฐ์ˆ˜๋กœ ํฌ๊ธฐ๊ฐ€ ์กฐ์ •๋œ ๋น„๋””์˜ค ํ”„๋ ˆ์ž„์„ ๋” ํšจ์œจ์ ์œผ๋กœ ์ธ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋น„๋””์˜ค ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด 2์˜ ๋ฐฐ์ˆ˜ ํฌ๊ธฐ์—์„œ ๋” ์ž˜ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  2. ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ: 2์˜ ๋ฐฐ์ˆ˜ ํฌ๊ธฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๊ณผ ์ฒ˜๋ฆฌ์—์„œ ๋” ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. CPU์™€ GPU๋Š” 2์˜ ๋ฐฐ์ˆ˜ ํฌ๊ธฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํŒจํ„ด์ด ๋” ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

  3. ํ•˜๋“œ์›จ์–ด ๊ฐ€์†: ๋งŽ์€ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ์™€ ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ์žฅ์น˜๋“ค์€ 2์˜ ๋ฐฐ์ˆ˜ ํฌ๊ธฐ์˜ ๋น„๋””์˜ค๋ฅผ ๋” ์ž˜ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•˜๋“œ์›จ์–ด๊ฐ€ ์ด๋Ÿฌํ•œ ํฌ๊ธฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋” ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  4. ๋น„๋””์˜ค ์žฌ์ƒ ํ˜ธํ™˜์„ฑ: ์ผ๋ถ€ ํ”Œ๋ ˆ์ด์–ด๋‚˜ ๋””์ฝ”๋”๋Š” 2์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹Œ ๋น„๋””์˜ค ํฌ๊ธฐ์—์„œ ์„ฑ๋Šฅ ์ €ํ•˜๋‚˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ๊ฒช์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2์˜ ๋ฐฐ์ˆ˜๋กœ ์กฐ์ •ํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  5. ํŒŒ์ผ ํฌ๊ธฐ ์ตœ์ ํ™”: 2์˜ ๋ฐฐ์ˆ˜๋กœ ์กฐ์ •ํ•˜๋ฉด ๋น„๋””์˜ค ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ ๊ณผ์ •์—์„œ ๋ถˆํ•„์š”ํ•œ ํŒจ๋”ฉ์ด๋‚˜ ๋ฐ์ดํ„ฐ ์†์‹ค์„ ์ค„์—ฌ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ, ๋น„๋””์˜ค ํฌ๊ธฐ๋ฅผ 2์˜ ๋ฐฐ์ˆ˜๋กœ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ๋น„๋””์˜ค์˜ ํ’ˆ์งˆ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์ธ์ฝ”๋”ฉ, ๋””์ฝ”๋”ฉ, ์žฌ์ƒ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ , ํ˜ธํ™˜์„ฑ์„ ๋†’์ด๋Š” ์ค‘์š”ํ•œ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

@user ์œ„์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฒฝ๋กœ๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„์„œ, ๊ฒฝ๋กœ์— ์žˆ๋Š” ๋ชจ๋“  gif๋ฅผ mp4๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ๋ณ€๊ฒฝํ•ด์ค˜. ์ด๋•Œ, ์ด๋ฏธ ๋ณ€๊ฒฝํ•œ mp4 ํŒŒ์ผ์ด ์žˆ๋‹ค๋ฉด ๋‹ค์Œ gif๋กœ ๋„˜์–ด๊ฐ€๋ฉด ๋ผ.

@assistant ๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๊ฒฝ๋กœ๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„ ํ•ด๋‹น ๊ฒฝ๋กœ์— ์žˆ๋Š” ๋ชจ๋“  gif ํŒŒ์ผ์„ =mp4=๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ ๋ณ€ํ™˜๋œ ํŒŒ์ผ์ด ์žˆ์œผ๋ฉด ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

#!/bin/bash
 
# ffmpeg๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
if ! command -v ffmpeg &> /dev/null
then
    echo "ffmpeg๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ํ›„ ๋‹ค์‹œ ์‹œ๋„ํ•˜์„ธ์š”."
    exit 1
fi
 
# ์ธ์ž๋กœ ๊ฒฝ๋กœ๋ฅผ ๋ฐ›์Œ
if [ "$#" -ne 1 ]; then
    echo "์‚ฌ์šฉ๋ฒ•: $0 <๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ>"
    exit 1
fi
 
directory="$1"
 
# ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ
if [ ! -d "$directory" ]; then
    echo "๋””๋ ‰ํ† ๋ฆฌ $directory ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."
    exit 1
fi
 
# ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ๋ชจ๋“  gif ํŒŒ์ผ์„ ์ฐพ๊ณ  ๋ณ€ํ™˜
for gif_file in "$directory"/*.gif; do
    if [ -f "$gif_file" ]; then
        # ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„ ์„ค์ •
        mp4_file="${gif_file%.gif}.mp4"
 
        # ์ด๋ฏธ ๋ณ€ํ™˜๋œ ํŒŒ์ผ์ด ์žˆ๋Š”์ง€ ํ™•์ธ
        if [ ! -f "$mp4_file" ]; then
            # gif๋ฅผ mp4๋กœ ๋ณ€ํ™˜
            ffmpeg -i "$gif_file" -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)/2:trunc(ih/2)/2" "$mp4_file"
 
            if [ $? -eq 0 ]; then
                echo "๋ณ€ํ™˜ ์™„๋ฃŒ: $mp4 ์ƒ์„ฑ: $gif_file"
            fi
        else
            echo "์ด๋ฏธ ๋ณ€ํ™˜๋œ ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค: $mp4_file"
        fi
    fi
done

์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด:

  1. ์œ„์˜ ์ฝ”๋“œ๋ฅผ gif_to_mp4_dir.sh ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ_to_mp4_dir.sh= ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
  2. ํ„ฐ๋ฏธ๋„์—์„œ =gif

@user ffmpeg ๋™์ž‘ ์‹œ ๋กœ๊ทธ๋ฅผ ์•ˆ๋ณด์ด๊ฒŒ ํ•˜๋ ค๋ฉด?assistant ffmpeg=์˜ ๋กœ๊ทธ ์ถœ๋ ฅ์„ ์ˆจ๊ธฐ๋ ค๋ฉด, =-loglevel ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ ๋ ˆ๋ฒจ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ๋ฅผ ์™„์ „ํžˆ ์ˆจ๊ธฐ๋ ค๋ฉด -loglevel quiet ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๋กœ๊ทธ ์ถœ๋ ฅ์„ ์ˆจ๊ธด ์Šคํฌ๋ฆฝํŠธ์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค:

#+begin_src sh #!/bin/bash

ffmpeg๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

if ! command -v ffmpeg &> /dev/null

@user

@user ์ธ์Šคํƒ€๊ทธ๋žจ ๊ณต์œ ์— ์ตœ์ ํ™”ํ•ด์„œ ์œ„์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณ€๊ฒฝํ•ด์ค„๋ž˜?

@assistant ์ธ์Šคํƒ€๊ทธ๋žจ์— ๊ณต์œ ํ•˜๊ธฐ์— ์ตœ์ ํ™”๋œ ๋น„๋””์˜ค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์กฐ์ •์„ ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํƒ€๊ทธ๋žจ์€ ํŠน์ • ๋น„๋””์˜ค ํ˜•์‹๊ณผ ํ•ด์ƒ๋„, ๋น„์œจ ๋“ฑ์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ธ์Šคํƒ€๊ทธ๋žจ์— ์ตœ์ ํ™”๋œ gif ํŒŒ์ผ์„ =mp4=๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค:

#!/bin/bash
 
# ffmpeg๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
if ! command -v ffmpeg &> /dev/null
then
    echo "ffmpeg๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ํ›„ ๋‹ค์‹œ ์‹œ๋„ํ•˜์„ธ์š”."
    exit 1
fi
 
# ์ธ์ž๋กœ gif ํŒŒ์ผ ์ด๋ฆ„์„ ๋ฐ›์Œ
if [ "$#" -ne 1 ]; then
    echo "์‚ฌ์šฉ๋ฒ•: $0 <gif ํŒŒ์ผ ์ด๋ฆ„>"
    exit 1
fi
 
gif_file="$1"
 
# ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ
if [ ! -f "$gif_file" ]; then
    echo "ํŒŒ์ผ $gif_file ์ด(๊ฐ€) ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."
    exit 1
fi
 
# ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„ ์„ค์ •
mp4_file="${gif_file%.gif}_instagram.mp4"
 
# ์ธ์Šคํƒ€๊ทธ๋žจ์— ์ตœ์ ํ™”๋œ ๋น„๋””์˜ค ์„ค์ •
# - ์ธ์Šคํƒ€๊ทธ๋žจ์€ 1:1, 4:5, 9:16 ๋น„์œจ์˜ ๋น„๋””์˜ค๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.
# - ํ•ด์ƒ๋„๋Š” ์ตœ๋Œ€ 1080x1350, 1080x1920, 1080x1080 ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
# - ๋น„๋””์˜ค ๋น„ํŠธ๋ ˆ์ดํŠธ๋Š” 3.5Mbps ์ด์ƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
# - ์˜ค๋””์˜ค ๋น„ํŠธ๋ ˆ์ดํŠธ๋Š” 128kbps ์ด์ƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
# - ํ”„๋ ˆ์ž„ ๋ ˆ์ดํŠธ๋Š” ์ตœ๋Œ€ 30fps๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
 
ffmpeg -i "$gif_file" \
    -vf "scale=1080:1080:force_original_aspect_ratio=decrease,pad=1080:1080:(ow-iw)/2:(oh-ih)/2,setsar=1" \
    -c:v libx264 -preset slow -crf 22 -b:v 3500k \
    -c:a aac -b:a 128k \
    -movflags +faststart \
    -r 30 \
    "$mp4_file"
 
if [ $? -eq 0 ]; then
    echo "์ธ์Šคํƒ€๊ทธ๋žจ์— ์ตœ์ ํ™”๋œ ๋น„๋””์˜ค ๋ณ€ํ™˜ ์™„๋ฃŒ: $mp4_file"
else
    echo "๋ณ€ํ™˜ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค."
fi

์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:

  • ๋น„๋””์˜ค ํ•ด์ƒ๋„: 1080x1080์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์ธ์Šคํƒ€๊ทธ๋žจ์˜ 1:1 ๋น„์œจ์„ ๋งž์ถฅ๋‹ˆ๋‹ค. ์›๋ณธ ๋น„๋””์˜ค์˜ ๋น„์œจ์ด 1:1์ด ์•„๋‹Œ ๊ฒฝ์šฐ, ๋น„๋””์˜ค๋ฅผ ์ž๋ฅด์ง€ ์•Š๊ณ  ์›๋ž˜ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ 1080x1080 ํฌ๊ธฐ๋กœ ํŒจ๋”ฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ: libx264 ์ฝ”๋ฑ์„ ์‚ฌ์šฉํ•˜๊ณ , =-preset slow=๋กœ ํ’ˆ์งˆ์„ ๋†’์ด๊ณ , =-crf 22=๋กœ ๋น„๋””์˜ค ํ’ˆ์งˆ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. =-b:v 3500k=๋กœ ๋น„๋””์˜ค ๋น„ํŠธ๋ ˆ์ดํŠธ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ธ์Šคํƒ€๊ทธ๋žจ ๊ถŒ์žฅ ๋น„ํŠธ๋ ˆ์ดํŠธ๋ฅผ ๋งž์ถฅ๋‹ˆ๋‹ค.
  • ์˜ค๋””์˜ค ์ธ์ฝ”๋”ฉ: aac ์ฝ”๋ฑ์„ ์‚ฌ์šฉํ•˜๊ณ , =-b:a 128k=๋กœ ์˜ค๋””์˜ค ๋น„ํŠธ๋ ˆ์ดํŠธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋ ˆ์ž„ ๋ ˆ์ดํŠธ: =-r 30=์œผ๋กœ ํ”„๋ ˆ์ž„ ๋ ˆ์ดํŠธ๋ฅผ 30fps๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ์ด๋ฆ„: ์›๋ณธ ํŒŒ์ผ ์ด๋ฆ„์— =_instagram=์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ธ์Šคํƒ€๊ทธ๋žจ์šฉ ํŒŒ์ผ์ž„์„ ๋ช…ํ™•ํžˆ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํƒ€๊ทธ๋žจ์— ์ตœ์ ํ™”๋œ ๋น„๋””์˜ค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํƒ€๊ทธ๋žจ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ตœ์‹  ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@user