리눅스

FFMPEG 를 이용한 h264 코덱 변경

귀신이보인다 2023. 7. 15. 13:42
728x90
반응형
#!/bin/bash

# 변환 대상 동영상이 있는 디렉토리 설정
VIDEO_DIR="수정"
# 변환되는 디렉토리
OUT_DIR="수정"

#FFMPEG파일이 있는경로
ffmpeg_file="수정"

# 추출 및 변환 설정
#CODEC_IN="flac"
CODEC_OUT="libx264"

# 변환 작업 시작
echo "Start video conversion..."

# 공백을 기준으로 문자열을 분리하기 위해 IFS 설정
IFS=$'\n'

# 모든 동영상 파일에 대해서 반복
for file in $(find "$VIDEO_DIR" -type f \( -name "*.mkv" -o -name "*.mp4" -o -name "*.avi" \)); do
    #비디오 포맷 변환
    echo "Converting video of $file"
    file_name=${file##/*/}
    new_file=${OUT_DIR}/$file_name
    #echo $new_file
    "$ffmpeg_file" -i "$file" -threads 3 -vcodec libx264 -vsync 2 -preset superfast -vprofile main -level 40 -pix_fmt yuv420p -b:v 2600k -acodec aac -ab 320k -ac 2 -ar 48000 -progress - -f mp4 -map_metadata 0 -map 0:0 -map 0:1 -y "${new_file}.${CODEC_OUT}.mp4" || { echo "Failed to convert video of $file"; continue; }
    # 원본 파일 삭제 및 교체
    rm -f "$file"
    mv -f "${new_file}.${CODEC_OUT}.mp4" "$file"
    echo
    echo
    sleep 2
done
echo "Video conversion finished."

타 사이트에서 가져와서 일부 수정하여 사용하고 있습니다.

그대로 가져와서 사용하니 문제가 있어서 수정을 좀 했더니 잘되네요.

수정하실부분은 수정이라고 적어두었으니 그부분만 수정사용하시면 될듯합니다.

 

728x90
반응형