[태그:] video tools

  • ffmpeg – 한줄의 명령어로 폴더 내의 여러개의 동영상을 하나로 합치기

    ffmpeg를 이용해서 여러개로 쪼개어진 촬영한 영상 파일이나 영화파일들을 트랜스코딩 없이 하나로 합칠 수 있는 한 줄의 명령어이다.

    macos의 경우 FreeBSD의 find를 사용하기 때문에 -printf 옵션과 같은 다양한 옵션들을 지원하지 않아서 사용할 수 없다.

    따라서 먼저 brew를 이용해 GNU findutils를 설치해야 한다.

    brew install findutils

    터미널에서 원하는 폴더로 이동한 뒤 아래의 명령을 입력하면 폴더 안에 있는 여러개의 동영상들을 하나의 파일로 합칠 수 있으며 결과물의 파일명은 폴더명으로 생성된다.

    printf ${PWD##*/}.mp4 | xargs -0 -I {} ffmpeg -safe 0 -f concat -i <(gfind . -type f -name '*.mp4' -printf "file '$PWD/%p'\n" | sort) -c copy {}

    macos에서 samba share로 공유된 네트워크 폴더에서 작업할 경우 dotfile로 인해 명령을 실행할 때 오류가 날 수 있으니 아래와 같은 명령으로 dotfile을 제거 후 명령을 실행 할 수 있고 원본파일명의 패턴을 이용해 합친 후 원본파일을 제거할 수 있다.

    rm ./._* ;  printf ${PWD##*/}.mp4 | xargs -0 -I {} ffmpeg -safe 0 -f concat -i <(gfind . -type f -name '*.mp4' -printf "file '$PWD/%p'\n" | sort) -c copy {} && rm ./*hevc.mp4
  • HandBrakeCLI – 폴더 내의 동영상 일괄 변환하기

    handbrakecli를 이용해서 폴더 내의 동영상을 미리 정의된 preset을 사용해서 일괄 변환하는 shell script이다. 여러 동영상 파일들을 한번에 h265 hevc 형식으로 일괄 변환하고 싶을 때 퍽 유용하다.

    #!/bin/bash
    #
    # This script requires HandBrakeCLI. On macOS, at least, you need to download
    # and install it separately from Handbrake.
    #
    # See: https://handbrake.fr/downloads2.php
    
    if [ -z "$1" ] ; then
        TRANSCODEDIR="."
    else
        TRANSCODEDIR="$1"
    fi
        # Change the preset if you like (see options: "HandBrakeCLI --preset-list")
        # If you want to transcode ALL movie files, remove the -name option.
        find "$TRANSCODEDIR"/* -type f -name "*.mp4" -exec bash -c 'HandBrakeCLI -i "$1" -o "${1%\.*}".hevc.mp4 --preset-import-file ~/2hevc.json -Z "2hevc"' __ {} \;

    https://www.jeffgeerling.com/blog/2022/batch-transcode-folder-videos-handbrakes-cli

  • Avidemux – HDTV 녹화 파일의 편집

    Plex Media Server에서 Live TV 프로그램을 녹화하면 HDTV 방송용 표준형식인 MPEG2-TS 형식으로 저장된다.

    40분 정도의 프로그램 한 편을 저장하면 대략 3기가가 넘는 크기로 제법 크기가 크다.

    그런데 막상 녹화를 하면 프로그램 중간 광고라든지 예약녹화일 경우 정확한 방영 일정에 맞출 수 없기 때문에(우리나라 방송사들은 프로그램 방영 시간을 정확하게 지키지 않는다.) 광고나 다른 프로그램의 일부가 함께 녹화된다.

    이럴 때 녹화된 파일에서 원치 않는 부분을 잘라내야하는 등의 간단한 편집을 해야하는 상황이 발생하는데 Avidemux는 mpeg2ts 파일을 손실없이 편집할 수있는 유용한 프로그램이다.

    무료로 이용할 수 있는 오픈소스 프로그램이며 macOS는 물론, Linux와 Windows도 지원한다.

    UI는 다소 투박하지만 왠만한 상용 프로그램 보다 나은 기능들을 제공한다.