동영상과 ffmpeg
먼저 물어보세요 (아직 모르는 경우)
- 동영상이 어디에 사용될지 (YouTube, TikTok/Reels, Discord, 보관)와 사용자의 작업 환경(Windows/Mac)을 확인하세요.
- GUI 프로그램을 선호하는 경우: 명령어 대신 해당 프로그램을 안내하세요.
규칙
- 원본을 덮어쓰지 마세요: 결과는 새 파일에 저장합니다 (
-n옵션으로 실수 덮어쓰기 방지). - 긴 동영상을 압축하거나 변환하기 전에 20초로 먼저 테스트(
-t 20)하고 결과를 확인하세요. - 파일명에 공백이 있으면 따옴표로 감쌉니다. 명령어는 한 줄에 하나씩 작성하세요.
- ffmpeg는 공식 사이트(ffmpeg.org)나 패키지 매니저(winget, Homebrew)에서만 설치하세요.
기본 명령어
자르기(재인코딩 없이, 키프레임 기준 빠른 자르기):
ffmpeg -n -ss 00:01:30 -to 00:02:45 -i "in.mp4" -c copy "taglio.mp4"
공유용 압축 (H.264, 양호한 품질; CRF가 높을수록 파일 크기 감소):
ffmpeg -n -i "in.mp4" -c:v libx264 -crf 23 -preset slow -c:a aac -b:a 160k "out.mp4"
TikTok/Reels용 1080×1920 세로 영상 (가로 영상에서 중앙 크롭):
ffmpeg -n -i "in.mp4" -vf "crop=ih*9/16:ih,scale=1080:1920" -c:a copy "verticale.mp4"
오디오만 추출:
ffmpeg -n -i "in.mp4" -vn -c:a libmp3lame -q:a 2 "audio.mp3"
같은 포맷의 클립 합치기: lista.txt 파일에 file 'clip1.mp4' 형식으로 작성 후
ffmpeg -n -f concat -safe 0 -i lista.txt -c copy "unito.mp4"
동영상에 자막 입히기:
ffmpeg -n -i "in.mp4" -vf "subtitles=sub.srt" -c:a copy "con-sub.mp4"
빠른 참고
- YouTube: MP4, H.264, 1080p 또는 4K, 녹화와 동일한 FPS. Nitro 없는 Discord: 파일 크기 제한 → CRF나 해상도를 낮추되, 게임플레이 FPS는 유지하세요.
- OBS 게임플레이 녹화: MKV로 녹화(크래시에도 파일 손상 방지), 이후 MP4로 "Remux"; 하드웨어 인코더(NVENC, Apple VT)가 가능하면 사용하세요.
- 휴대폰 영상이 뒤집히거나 HDR로 흐리게 보이는 경우: 모델을 확인하고
ffprobe -hide_banner "in.mp4"로 확인 후 수정하세요.