3P by neo 3달전 | favorite | 댓글 1개

LosslessCut

LosslessCut은 비디오 및 오디오 파일을 손실 없이 빠르게 편집할 수 있는 FFmpeg 기반의 크로스 플랫폼 GUI 도구임. 이 도구는 비디오 카메라, GoPro, 드론 등으로 촬영한 대용량 비디오 파일을 빠르게 잘라내어 저장 공간을 절약할 수 있음. 또한, 음악이나 자막 트랙을 비디오에 추가할 때 인코딩이 필요하지 않음.

주요 기능

  • 대부분의 비디오 및 오디오 포맷을 손실 없이 자르기
  • 스마트 컷 (실험적 기능)
  • 비디오/오디오의 특정 부분을 손실 없이 잘라내기
  • 비디오/오디오 세그먼트의 순서를 손실 없이 재배열
  • 동일한 코덱 파라미터를 가진 파일을 손실 없이 병합/연결
  • 여러 파일에서 임의의 트랙을 결합 (예: 비디오 파일에 음악 또는 자막 트랙 추가)
  • 불필요한 트랙 제거
  • 일부 트랙만 재인코딩 또는 교체
  • 파일에서 모든 트랙 추출 (비디오, 오디오, 자막, 첨부 파일 등)
  • 빠른 다중 파일 워크플로우 (대량/배치 내보내기 없음)
  • 키보드 단축키 워크플로우
  • 비디오/오디오를 다른 컨테이너 포맷으로 손실 없이 리멕스
  • 비디오에서 JPEG/PNG 형식의 전체 해상도 스냅샷 찍기
  • 비디오 프레임을 이미지로 내보내기 (매 n번째 프레임, 초, 장면 변경 시)
  • 선택한 시간 범위에서만 내보내기
  • 이미지 파일 이름에 원본 타임스탬프 포함 옵션
  • 컷 포인트 시간 수동 입력
  • 파일별 타임코드 오프셋 적용 (파일에서 자동 로드)
  • 파일 메타데이터, 트랙별 메타데이터 및 트랙별 디스포지션 편집
  • 비디오의 회전/방향 메타데이터 변경
  • 모든 트랙의 기술 데이터 보기
  • 타임라인 줌 및 키프레임 점프
  • 비디오 썸네일 및 오디오 웨이브폼
  • 프로젝트 파일에 컷 세그먼트 저장
  • FFmpeg 마지막 명령 로그 보기
  • 실행 취소/다시 실행
  • 컷 세그먼트에 라벨 부여
  • 태그로 세그먼트 주석 달기
  • 세그먼트 가져오기/내보내기: MP4/MKV 챕터 마크, 텍스트 파일, YouTube, CSV, CUE, XML (DaVinci, Final Cut Pro) 등
  • MKV/MP4 내장 챕터 마크 편집기
  • 자막 보기
  • 사용자 정의 가능한 키보드 단축키
  • 검은 장면 감지, 무음 오디오 감지, 장면 변경 감지
  • 타임라인을 길이 L 또는 N 세그먼트로 나누기
  • 비디오 또는 오디오 파일의 속도 조절 (FPS 변경)
  • 기본 CLI 및 HTTP API

예제 손실 없는 사용 사례

  • 녹화된 TV 쇼에서 광고 제거 (TS에서 MP4로 재포맷)
  • 파일에서 오디오 트랙 제거
  • 비디오에서 음악 트랙 추출 및 필요에 맞게 자르기
  • 비디오에 음악 추가 (또는 기존 오디오 트랙 교체)
  • 별도의 녹음에서 오디오 및 비디오 트랙 결합
  • 외부 자막을 비디오에 포함
  • iPhone에서 재생하기 위해 H264/H265 MKV 비디오를 MOV 또는 MP4로 빠르게 변경
  • 다른 도구에서 컷 시간을 EDL (편집 결정 목록, CSV)로 가져와 LosslessCut에서 실행
  • 컷 시간을 CSV EDL로 내보내 다른 도구에서 처리
  • MP4/MKV 챕터로 파일을 빠르게 자르기
  • YouTube 비디오를 챕터별로 빠르게 자르기 (또는 댓글에서 음악 시간)
  • 파일의 오디오/자막 트랙 언어 변경
  • 외부 JPEG 파일 또는 타임라인의 프레임에서 비디오/오디오에 커버 아트/썸네일 첨부
  • 비디오의 저자, 제목, GPS 위치, 녹화 시간 변경
  • 잘못된 방향 플래그가 설정된 비디오의 회전 수정
  • 비디오/오디오 클립을 X번 반복 (재인코딩 없이)
  • 비디오 또는 일부를 X 이미지 파일로 변환 (손실 없음)
  • 비디오를 장면별로 하나의 파일로 분할
  • 오디오/비디오의 무음 부분 잘라내기
  • Twitter의 140초 제한을 준수하기 위해 비디오를 세그먼트로 분할
  • 각 세그먼트에 하나 이상의 태그를 주석으로 달고, 이를 사용하여 세그먼트를 구성하거나 출력 폴더 구조 또는 계층 구조 생성

YouTube 챕터로 컷 시간 내보내기

  1. 병합 및 "병합된 세그먼트에서 챕터 생성" 활성화하여 내보내기
  2. 내보낸 파일을 열고 대화 상자에서 "챕터 가져오기" 선택
  3. 파일 -> 프로젝트 내보내기 -> YouTube 챕터

오디오 트랙만 재인코딩하고 손실 없는 비디오 트랙 유지

  1. 각 트랙을 개별 파일로 내보내기
  2. Handbrake 또는 유사한 도구를 사용하여 오디오 파일 재인코딩 (mp4 파일의 경우 AAC로 인코딩)
  3. 추출된 비디오 스트림을 LosslessCut에서 열기
  4. 인코딩된 오디오 파일을 열고 "새 파일에서 모든 트랙 포함" 선택
  5. 내보내기

고급 다단계 워크플로우

팁: LosslessCut을 여러 번 사용하여 개별 트랙을 별도로 자를 수 있음

  1. 파일을 열고 모든 트랙을 개별 파일로 내보내기
  2. 내보낸 트랙 파일을 독립적으로 열고 원하는 대로 자르기
  3. 트랙을 비디오에 다시 추가하고 하나의 출력 비디오로 결합

다운로드

LosslessCut의 지속적인 작업을 지원하고, 안전하고 간단한 설치 프로세스와 자동, 안정적인 업데이트의 이점을 누리고 싶다면 선호하는 스토어에서 다운로드를 고려할 것.

지원되는 운영 체제

  • Mac OS X: Intel DMG / Apple Silicon DMG
  • Windows: 7zip (Windows 7, 8 및 8.1은 v3.50.0 이후로 지원되지 않음)
  • Linux: x64 tar.bz2 / x64 AppImage / arm64 tar.bz2 / Raspberry Pi armv7l

지원되는 포맷

LosslessCut은 Chromium의 HTML5 비디오 플레이어를 사용하며, 모든 FFmpeg 지원 포맷과 코덱이 네이티브로 지원되지 않음. 일반적으로 다음 포맷이 작동함:

  • 비디오 포맷: MP4, MOV, WebM, Matroska, OGG, WAV
  • 오디오 코덱: FLAC, MP3, Opus, PCM, Vorbis, AAC
  • 비디오 코덱: H264, AV1, Theora, VP8, VP9, H265 (하드웨어 디코더 필요)

비디오 데모

  • 일반 기능
  • MP4에 썸네일/커버 아트 추가 방법
  • 비디오에 다국어 오디오 추가 방법

일반적인 워크플로우

  • 비디오 파일을 플레이어에 드래그 앤 드롭하거나 /CTRL+O 사용
  • SPACE를 눌러 재생/일시 정지 또는 ◀``▶, ,``. 또는 마우스/트랙패드 휠로 앞뒤로 탐색
  • 시간 마커를 이동하여 컷 세그먼트의 시작 및 종료 시간을 선택한 후 I를 눌러 시작 시간 설정, O를 눌러 종료 시간 설정
  • 모든 세그먼트는 보존되며 새 파일로 내보내짐. 이 동작을 변경하려면 Yin Yang 기호 ☯️를 사용하여 선택한 세그먼트를 제거하고 세그먼트 사이의 부분을 내보내도록 설정 가능
  • 여러 세그먼트를 추가하려면 원하는 시작 시간으로 이동하여 +를 누른 후 I/O로 다음 세그먼트 시작/종료 시간 선택
  • 컷 후 모든 선택된 세그먼트를 하나의 파일로 다시 병합하려면 Separate files 버튼을 Merge cuts로 전환
  • 특정 출력 폴더로 내보내려면 Working dir unset 버튼을 누름 (기본값: 입력 파일 폴더)
  • 방향을 변경하려면 회전 버튼을 누름
  • 기본적으로 입력 파일의 오디오, 비디오 및 자막 트랙이 잘리고 내보내짐. Tracks 버튼을 눌러 사용자 정의 및/또는 다른 파일에서 새 트랙 추가 가능
  • 새로운 출력 포맷 선택 가능
  • 오른쪽 세그먼트 패널에서 세그먼트를 오른쪽 클릭하여 옵션 선택 또는 드래그 앤 드롭하여 재정렬. 병합된 출력에서 이 순서대로 나타남
  • 완료되면 Export 버튼 (또는 E)을 눌러 내보내기 옵션 개요 표시
  • 내보내기 옵션 조정 가능
  • 내보내기를 다시 눌러 내보내기 확인
  • 현재 시간에서 JPEG/PNG 스냅샷을 찍으려면 카메라 버튼 (또는 C)을 누름
  • 원본 파일을 휴지통으로 이동하려면 휴지통 버튼을 누름
  • 최상의 결과를 위해 다른 출력 포맷 (Matroska는 거의 모든 것을 수용)으로 시도하거나, 키프레임 컷 모드를 변경하거나 일부 트랙을 비활성화해야 할 수 있음
  • 모든 키보드 및 마우스 단축키를 보려면 SHIFT + /를 누름
  • 참고: 원본 비디오 파일은 수정되지 않음. 대신 원본 파일과 동일한 디렉토리에 from/to 타임스탬프가 포함된 파일이 생성됨

GN⁺의 의견

  • LosslessCut은 비디오 및 오디오 파일을 손실 없이 빠르게 편집할 수 있는 도구로, 특히 대용량 파일을 다루는 사용자에게 유용함.
  • FFmpeg 기반으로 작동하여 매우 빠른 속도를 제공하며, 다양한 포맷과 코덱을 지원함.
  • 스마트 컷, 다중 파일 워크플로우, 키보드 단축키 등 다양한 기능을 제공하여 사용자 편의성을 높임.
  • 비슷한 기능을 제공하는 도구로는 Avidemux, Shotcut 등이 있으며, 각 도구의 장단점을 비교해보는 것이 좋음.
  • 새로운 기술이나 오픈 소스를 채택할 때는 지원되는 포맷과 코덱, 사용자 인터페이스의 직관성 등을 고려해야 함.
Hacker News 의견
  • VideoReDo와 같은 오픈 소스 경쟁자처럼 보임

    • VideoReDo는 독립 개발자가 만든 독점 소프트웨어였으며, 최근 개발자가 사망했음
    • "무손실" 비디오 편집은 재인코딩 없이 비디오의 특정 부분을 잘라내는 것임
  • 무손실 편집은 원본 컨테이너를 새로운 컨테이너로 리믹스하는 것임

    • FFMpeg를 사용하여 작업을 수행함
    • 모든 현대 비디오 형식은 여러 비디오 및 오디오 트랙을 포함하는 컨테이너의 확장임
    • 트랙은 Elementary Streams (ES)로 적절한 코덱으로 인코딩됨
    • "muxing" 과정에서 컨테이너에 결합되고 각 샘플/프레임에 타임스탬프가 부여됨
  • ES는 인코딩되어 있어 프레임 수준의 정확도를 제공하지 않음

    • I-Frame만 완전히 디코딩 가능함
    • IPPBPPB... 시퀀스는 GOP (Group of Pictures)라고 불림
    • NAL 유닛을 통해 프레임 유형을 식별할 수 있음
  • ES 비트스트림을 분석하여 GOP 경계를 감지할 수 있음

    • GOP 중간을 자를 수 없으므로 <1초 정확도 또는 전체 GOP를 디코딩하여 I-Frame을 삽입하는 방법이 있음
    • 매우 빠른 비트 조작과 컨테이너 간 복사로 효율적인 과정임
  • LosslessCut을 사용하여 다이빙 대회 영상을 개별 다이빙 클립으로 나누는 데 유용했음

    • 3시간 대회를 1시간 이내에 나눌 수 있었음
  • 관련 링크 제공

    • LosslessCut: 무손실 비디오/오디오 편집
    • Lossless-cut: 무손실 비디오/오디오 편집의 스위스 군용 칼
    • LosslessCut – 비디오 파일을 빠르고 무손실로 자르기
    • Show HN: LosslessCut – 빠르고 무손실 비디오 자르기를 위한 크로스 플랫폼 GUI 도구
  • 유용한 bash 스크립트 공유

    • ffmpeg를 사용하여 비디오를 자르는 스크립트임
    • 시작/종료 시간을 초 단위로 입력받아 처리함
  • AVIDemux는 비슷한 기능을 제공하는 네이티브 앱임

    • Electron 앱이 100MB 이상이라는 불만을 사전에 방지하기 위함
  • GitHub에는 GPL-2.0 라이선스, snap store에는 MIT 라이선스, Mac OS APP store에는 $19임

  • ffmpeg와 무손실 자르기 기술 간의 문서화가 있는지 궁금함

  • LosslessCut의 큰 팬이며 거의 매일 사용함

    • 화면 녹화를 자르거나 편집하는 데 사용함
    • 무손실이기 때문에 저장이 거의 즉시 이루어짐
    • 필요시 Permute로 재압축하거나 Davinci Resolve로 효과를 추가함
  • 원격 서버에서 비디오를 무손실로 다운로드하고 자를 수 있는지 궁금함

    • 현재는 ffmpeg를 사용하여 YouTube와 같은 사이트에서 비디오를 다운로드하고 자름
    • 비디오를 다운로드하면서 실시간으로 재인코딩해야 함
    • 로컬에 비디오 정보가 없기 때문에 무손실 다운로드 및 자르기가 불가능하다고 생각함