리눅스 영상 처리

리눅스는 영상 처리 작업을 수행하는 데 매우 효과적인 도구입니다. 특히 Bash 스크립트를 사용하면 작업을 자동화하고 반복적인 작업을 효율적으로 처리할 수 있습니다. 이 블로그 포스트에서는 리눅스에서의 영상 처리에 대해 알아보고, Bash를 사용한 기본적인 작업들을 살펴보겠습니다.

1. 영상 파일 처리

리눅스에서 영상 파일을 처리하기 위해서는 몇 가지 도구와 라이브러리가 필요합니다. 우선 ffmpeg을 설치하고 다음과 같은 Bash 스크립트를 사용하여 영상 파일을 자르는 작업을 수행할 수 있습니다.

#!/bin/bash

input_file="input.mp4"
output_file="output.mp4"

start_time="00:00:10"
duration="00:00:20"

ffmpeg -i "$input_file" -ss "$start_time" -t "$duration" "$output_file"

이 스크립트는 input.mp4라는 입력 파일에서 10초 지점부터 20초 동안의 영상을 자르고, output.mp4라는 파일로 저장합니다.

2. 영상 파일 변환

영상 파일을 다른 형식으로 변환해야 할 때도 유용한 Bash 스크립트를 사용할 수 있습니다. 다음 예제는 input.mov라는 QuickTime 동영상 파일을 H.264 코덱을 사용하는 MP4 파일로 변환하는 스크립트입니다.

#!/bin/bash

input_file="input.mov"
output_file="output.mp4"

ffmpeg -i "$input_file" -c:v libx264 -c:a aac "$output_file"

3. 영상 크기 조정

리눅스에서 영상의 크기를 조정하기 위해서는 여러 도구와 라이브러리를 활용할 수 있습니다. 예를 들어, imagemagick 패키지를 사용하여 이미지 크기를 조정하는 작업을 수행할 수 있습니다. 다음은 영상 크기를 반으로 줄이는 Bash 스크립트입니다.

#!/bin/bash

input_file="input.mp4"
output_file="output.mp4"

ffmpeg -i "$input_file" -vf "scale=iw/2:ih/2" "$output_file"

4. 영상 필터 적용

리눅스에서는 영상에 다양한 필터를 적용할 수 있습니다. 예를 들어, 영상의 밝기를 조절하거나 가장자리 검출과 같은 시각적 처리를 할 수 있습니다. 다음은 영상에 밝기 조정 필터를 적용하는 Bash 스크립트입니다.

#!/bin/bash

input_file="input.mp4"
output_file="output.mp4"

brightness="0.5" # 밝기 조정 값을 설정합니다

ffmpeg -i "$input_file" -vf "eq=brightness=$brightness" "$output_file"

5. 영상 처리 자동화

지금까지 살펴본 예제들은 명령행에서 수동으로 실행할 수 있지만, 여러 영상 파일을 한꺼번에 처리하고 싶을 때, Bash를 사용하여 자동화할 수도 있습니다. 예를 들어, 특정 폴더에 있는 모든 영상 파일을 자동으로 변환하거나, 크기를 조정하는 작업을 수행할 수 있습니다.

#!/bin/bash

input_folder="input"
output_folder="output"

for file in "$input_folder"/*.mp4; do
    base_name=$(basename "$file")
    output_file="$output_folder/${base_name%.*}.mp4"
    
    ffmpeg -i "$file" -vf "scale=iw/2:ih/2" "$output_file"
done

이 스크립트는 input 폴더 내의 모든 mp4 파일을 반으로 줄인 크기로 output 폴더에 저장합니다.

리눅스에서 영상 처리 작업을 위해 다양한 도구와 기능이 존재하며, Bash 스크립트를 사용하여 작업을 자동화할 수 있습니다. 이를 통해 시간을 절약하고 효율적으로 영상 처리 작업을 수행할 수 있습니다.