오래된 비디오를 더 작은 크기로 변환

오래된 비디오를 더 작은 크기로 변환

avi, mpg, wmv, rm, rmvb 등과 같은 다양한 형식의 몇 년 전 비디오가 있습니다. 크기가 엄청납니다(500MB 이상, 때로는 1GB 이상).

  1. 데이터 압축이 어느 정도 발전할 가능성이 있다는 점을 감안할 때, 명백한 데이터를 잃지 않으면서 큰 크기 감소를 달성한다는 표준에 따라 요즘 어떤 파일 형식과 압축 방법이 권장되는지 알고 싶습니다.
  2. Ubuntu 12.04에서 파일 형식 변환 및 데이터 압축을 어떻게 수행할 수 있나요? 명령줄과 배치 방식이 가장 편리하지만 GUI 방식도 좋습니다.

감사합니다!

답변1

Ubuntu 및 번들 FFmpeg

글쎄, FFmpeg가 더 이상 Ubuntu와 함께 제공되지 않는 문제에 직면했지만 apt-get.

이 프로그램은 더 이상 개발되지 않으며 호환성을 위해서만 제공됩니다.

이것은 단순히 거짓말입니다. FFmpeg가 활발히 개발되고 있지만 Ubuntu 패키지가 오래되어 Ubuntu 패키지로 전환했습니다. libav. 자세한 내용은 여기를 참조하세요.문구를 논의하는 버그 보고서메시지의.

소스에서 설치 또는 정적 빌드 사용

직접 컴파일하는 것이 아니라면 다음에서 정적 빌드를 가져오면 됩니다.다운로드 페이지.

최신 상태를 유지하고 도구를 직접 구성하려면 다음을 수행해야 합니다.소스에서 컴파일. 확인하다우분투 컴파일 가이드자세한 설치 방법을 알아보세요. 이 단계를 따르면 FFmpeg(인코딩 도구)와 x264(특정 비디오 인코더)의 최신 버전을 얻게 됩니다.

크기를 줄이려면 무엇이 필요합니까?

물어 …

요즘 권장되는 파일 형식과 압축 방법은 무엇입니까?

실제로 모든 사람이 권장하는 압축 방법("코덱")은 단 하나뿐입니다. 이는 저대역폭 비디오에 대한 압축 방법을 지정하는 H.264 또는 MPEG-4 Part 10/AVC 표준입니다. H.264는 또한 더 높은 대역폭에 대해 뛰어난 결과를 달성합니다. 이를 위한 매우 일반적인 인코더는 위에서 설치한 "x264"입니다.

이는 "DivX" 및 "XviD" 인코더를 유명하게 만든 비디오 코덱 표준인 MPEG-4 Part 2를 대체합니다. 이것도 좋지만 동일한 품질을 유지하려면 더 많은 대역폭이 필요합니다.

실제 파일 형식은 중요하지 않습니다. H.264 비디오는 AVI부터 MP4, MOV, MKV까지 거의 모든 컨테이너에 저장될 수 있습니다. 비디오 코덱의 차이점을 아는 것이 중요합니다.그 자체로, 그리고 이를 단순히 캡슐화하는 컨테이너입니다. 자세한 내용은 여기를 참조하세요.코덱(예: DivX?)이란 무엇이며 파일 형식(예: MPG)과 어떻게 다릅니까? 요즘에는 MP4나 MKV를 출력 컨테이너로 선택합니다. AVI는 너무 오래되어 비디오로 많은 작업을 수행할 수 없으며 앞서 언급한 컨테이너에는 사용할 수 있는 재다중화를 위한 더 나은 도구가 있습니다.

크기를 줄이려면 비디오의 평균 비트 전송률을 낮추고 싶습니다. 가장 간단한 경우 이는 인코더가 1.5MBit/s의 일정한 비트 전송률을 갖도록 강제하는 것을 의미합니다. 이는 효과가 있지만 몇 가지 단점이 있습니다. 고정된 비트 전송률로 인코딩하는 대신 인코더에서 지출할 금액을 선택하도록 합니다. 결과적으로 비디오 콘텐츠에 맞게 조정된 평균 비트 전송률이 생성됩니다. 다음을 사용하여 이 작업을 수행합니다.일정한 비율 인자옵션.

x264의 경우 이는 이 CRF에 대해 18에서 26 사이의 값을 설정하는 것을 의미합니다. 기본값은 23이며, 값이 높을수록 품질이 저하되고 그 반대의 경우도 마찬가지입니다. 그것이 무엇을 하는지 정확히 알 필요는 없지만, 관심이 있다면 이것을 보십시오.CRF 가이드.

변환을 어떻게 수행합니까?

FFmpeg를 실행하고 나면 192kBit/s 고정 비트 전송률의 AAC 오디오를 사용하여 비디오를 x264/MP4로 간단히 변환할 수 있습니다.

ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -b:a 192k output.mp4

그게 다야. CRF 값을 조정하여 출력 크기와 품질을 변경할 수 있습니다. 낮을수록 품질이 향상되고 크기가 커집니다. 높을수록 품질이 떨어지고 크기가 작아집니다. 내가 말했듯이 정상적인 값은 18에서 26 사이, 어쩌면 그 이상일 수도 있습니다. 입력 비디오의 크기를 정말로 줄이고 싶다면 파일 크기를 줄여도 허용 가능한 비디오 품질을 제공하는 CRF 값을 선택하십시오.

비디오가 어떻게 보이는지 테스트하려면 Q변환 중에 언제든지 누르시면 됩니다. 그래도 여전히 재생할 수 있는 잘린 파일이 남습니다. 인코딩할 기간을 지정하는 -t <seconds>옵션을 제공할 수도 있습니다 (예: 처음 30초만).<seconds>

자세한 설정은 다음을 참조하세요.H.264 인코딩 가이드.

일괄 처리

변환하려는 AVI 파일 배치가 있는 경우 Bash와 같이 모든 파일을 재귀적으로 트랜스코딩하는 다음과 같은 작업을 수행할 수 있습니다.

while IFS= read -d '' -r file; do 
  ffmpeg -i "$file" -c:v libx264 -crf 23 -c:a aac -b:a 192k ${file%%.avi}-converted.mp4 
done < <(find . -iname "*.avi" -print0)

이 명령에서 접미사를 변경 .avi하고 다른 파일에 대해 다시 실행되도록 할 수 있습니다.

비디오 인코딩은 시간이 많이 걸리는 작업이며 소스 파일에 대한 완벽한 설정을 찾는 데 시간이 걸립니다.

답변2

또 다른 다목적(매우 실용적인 GUI 포함) 도구는 다음과 같습니다.Avidemux.

일괄 처리 작동 방식에 대한 자세한 정보는 다음과 같습니다.Avidemux DocuWiki - 일괄 처리

관련 정보