개요
유튜브에 영상 올릴때 쓸만한 영상에 로고를 넣는 방법을 ffmpeg으로 적용하는것을 찾아본 뒤 정리해둔다.
사용법
테스트 해보았을때 GPU(1080TI)가 CPU(i7700K) 대비 약 10배 빨랐다. 더불어 셋팅값은 고프로 7 4K로 찍은 영상 기준이다.
# CPU
ffmpeg -i 1.MP4 -i left_logo.png -i right_logo.png -filter_complex "overlay=x=25:y=25,overlay=x=W-w-25:y=25" -c:v libx264 -crf 20 -preset slow -c:a copy output.mp4
# GPU(원본 h.264 영상)
ffmpeg -vsync 0 -c:v h264_cuvid -i 1.mp4 -i left_logo.png -i right_logo.png -filter_complex "overlay=x=25:y=25,overlay=x=W-w-25:y=25" -c:a copy -c:v h264_nvenc -b:v 70M output.mp4
# GPU(원본 h.265 영상)
ffmpeg -vsync 0 -c:v hevc_cuvid -i 1.mp4 -i left_logo.png -i right_logo.png -filter_complex "overlay=x=25:y=25,overlay=x=W-w-25:y=25" -c:a copy -c:v h264_nvenc -b:v 70M output.mp4
# 로고없이 GPU로 고속 인코딩
ffmpeg -vsync 0 -hwaccel cuvid -c:v h264_cuvid -i input.mp4 -c:a copy -c:v h264_nvenc -b:v 70M output.mp4
참고자료
- https://developer.nvidia.com/blog/nvidia-ffmpeg-transcoding-guide/