컨테이너 및 코덱

Derek Herman
Derek Herman
Joe Medley
Joe Medley

여러 브라우저를 지원하려면 FFmpeg를 사용하여 .mov 파일을 2개의 다른 컨테이너, 즉 MP4 컨테이너와 WebM 컨테이너에 연결합니다. 포함 동시에 코덱을 지정할 수 있습니다. 지금은 FFmpeg가 기본값을 사용하도록 합니다.

이러한 개념을 처음 접하는 경우 미디어 파일 기본사항 진행하시기 바랍니다. 또한 FFmpeg가 설치되어 있지 않은 경우 미디어 애플리케이션 기본사항 Docker로 설정할 수 있습니다

제안된 Docker 설치를 사용하고 웹용 미디어 파일 준비glocken.mov 파일 media 디렉터리 내에 추가됩니다. 우리는 모든 ICS 프로세스를 위해 FFmpeg 버전 4.3.2를 명령어에 대해 자세히 알아보세요.

컨테이너

먼저 .mp4를 사용하여 .mov 파일에서 두 개의 컨테이너를 만들어야 합니다. 및 .webm 파일 확장자를 포함해야 합니다. 미디어 파일 기본사항 검토 어떻게 다른지 모르는 경우 컨테이너와 스트림에 대해 자세히 알아보세요. 있습니다.

  1. MP4

    /media # ffmpeg -i glocken.mov glocken.mp4
    
  2. WebM

    /media # ffmpeg -i glocken.mov glocken.webm
    

WebM은 MP4보다 생성 시간이 오래 걸립니다. 여러분이 이 기술을 살펴보면 확인할 수 있습니다 MP4는 원본 파일의 약 83%로 압축되지만 WebM은 원래 크기의 78%까지 줄어들지만 훨씬 이보다 작을 수 있습니다. 실제 결과는 다를 수 있습니다. FFmpeg 4.2.2가 기본 동영상 비트 전송률이 200k로 설정되고 4.3.2에서는 기본 비트 전송률이 설정되지 않습니다. 따라서 이 동영상은 더 이상 원본의 4%에 불과하지 않습니다. 직접 확인할 수 있습니다 미디어 파일이 있는 폴더에서 ls -a bash 명령어를 사용합니다.

예를 들면 다음과 같습니다.

/media # ls -l
-rw-r--r-- 1 root  root  12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root  root  10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root  root   9503301 Mar 7 18:30 glocken.webm

작은 파일을 가져오려면 다음과 같이 하면 됩니다.

/media # ffmpeg -i glocken.mov -b:v 200k glocken.webm
...
frame=  300 fps=3.6 q=0.0 Lsize=     483kB time=00:00:10.01 bitrate= 395.0kbits/s speed=0.121x
video:359kB audio:117kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.356068%
/media # ls -l
-rw-r--r-- 1 root  root  12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root  root  10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root  root    494497 Mar 7 18:45 glocken.webm

학습 내용 확인

결과를 확인하려면 FFmpeg 및 Shaka Packager를 사용합니다. 미디어 애플리케이션 기본사항:

/media # packager input=glocken.mp4 --dump_stream_info
/media # ffmpeg -i glocken.mp4

코덱

다음은 코덱입니다. 미디어 파일 기본사항에 설명된 대로 코덱은 컨테이너 (파일 형식)와 같지 않습니다. 동일한 컨테이너의 두 파일 유형은 다른 코덱을 사용하여 압축된 데이터를 보유할 수 있습니다. WebM 형식의 예는 Vorbis 또는 Opus를 사용하여 오디오를 인코딩할 수 있습니다. 코덱을 변경하려면 FFmpeg를 사용하세요. 예를 들어 이 명령어는 vorbis 오디오가 포함된 .mkv 파일을 출력합니다. 코덱 및 av1 동영상 코덱을 포함합니다.

/media # ffmpeg -i glocken.mov -c:a vorbis -c:v av1 glocken.mkv

이 예시에서 -c:a 플래그와 -c:v는 오디오와 각각 동영상 코덱을 지원합니다.

미디어 전환 페이지에는 명령어를 사용하여 코덱을 변환하는 데 필요한 명령을 실행합니다. 아래 표에는 Google Kubernetes Engine에서 FFmpeg를 사용하여 WebM 및 MP4 파일의 코덱 변환을 수행합니다. 다음은 DASH 및 HLS에 각각 권장되는 형식입니다.

동영상

코덱 확장 라이브러리
av1 WebM, mkv libaom-av1
h264 MP4 libx264
vp9 WebM libvpx-vp9

오디오

코덱 확장 라이브러리
aac MP4 aac
오푸스 WebM 리보푸스
Vorbis WebM libvorbis

다음으로 새로 만든 파일의 비트 전송률을 변경하는 방법을 보여드리겠습니다.