비디오 인코더에 대한 많은 질문이 있다는 것을 알고 있지만 워크 플로 / 효율에 대한 질문입니다.
하루 종일 일을하려면 비디오를 자주 임의의 형식 (대개 AVI , M4V 등)에서 변환하고이를 변환하여 인터넷에서 사용할 수있는 효율적인 파일로 압축하여 업로드해야합니다. 내가 생성해야하는 형식은 다음과 같습니다.
- WMV ( Windows Media 비디오 9)
- MOV ( H.264 )
- MP4 (H.264)
몇 가지 유스 케이스 (동일 소스, 1080p 또는 720p 로 변환)에 대한 공통 템플릿을 작성 하고 신속하게 처리하고 대기열에 넣을 수 있어야합니다.
우분투 에서이 프로세스를 가장 잘 수행하는 방법에 대한 아이디어가 있습니까?
답변
명령 줄을 선호한다면 ffmpeg
(또는 handbrake-cli
)를 사용할 수 있습니다 .
MP4
최신 버전을 사용한다고 가정합니다 ffmpeg
.
ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
-
-crf
: 품질. 범위는 로그 0 (무손실) ~ 51 (최저 품질)입니다. 기본은 23입니다. 주관적인 제정 범위는 ~ 18-28 정도입니다. 여전히 허용 가능한 품질을 제공하는 가장 높은 값을 사용하십시오. YouTube 등으로 업로드하기 위해 비실용적으로 큰 입력을 다시 인코딩하는 경우 이러한 비디오 서비스가 다시 인코딩되므로 17 또는 18의 값을 시도하십시오. -
-preset
: 인코딩 속도. 사전 설정 속도가 느리면 압축률 (파일 크기 당 품질)은 향상되지만 속도는 느려집니다. 초고속, 초고속, 매우 빠름, 빠름, 빠름, 중간 (기본값), 느리게, 느리게, 매우 느리게 인내심이 가장 느린 것을 사용하십시오. -
-movflags +faststart
: 점진적 다운로드보기의 경우 비디오를 완전히 다운로드하기 전에 비디오를 재생할 수 있습니다. 비디오를 호스팅하는 경우 유용하며, YouTube와 같은 비디오 서비스에 업로드하는 경우 불필요한 것입니다. -
-vf scale=-2:720,format=yuv420p
: 스케일 및 포맷 비디오 필터를 사용하는 필터 그래프 . 높이를 720 픽셀로 조정하고 화면비를 유지하는 너비를 자동으로 선택한 다음 픽셀 형식이 멍청한 플레이어와 호환되는지 확인하십시오. -
-b:a 128k
: 오디오 비트 전송률.ffmpeg
구식 인 경우-strict experimental
를 사용 하여 추가 해야합니다-c:a aac
.
MOV
MOV 및 MP4 파일에는 동일한 비디오 및 오디오 형식이 포함되어 있기 때문에 MP4를 인코딩하고 다시 인코딩하는 대신 리스트 림 ( 스트림 복사 모드 사용) 하여 MOV를 만들 수 있습니다 .
ffmpeg -i input.mp4 -codec copy output.mov
WMV
FFmpeg는 WMV 7 및 8 만 지원합니다. 버전 9의 오픈 소스 인코더를 알지 못합니다.
$ ffmpeg -encoders | grep -i windows
[...]
V..... = Video
A..... = Audio
------
V..... wmv1 Windows Media Video 7
V..... wmv2 Windows Media Video 8
A..... wmav1 Windows Media Audio 1
A..... wmav2 Windows Media Audio 2
이 인코더에 익숙하지 않으므로 테스트되지 않은 예만 제공 할 수 있습니다.
ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv
ffmpeg 받기
ffmpeg 의 Linux 빌드를 다운로드 하거나 단계별 ffmpeg 컴파일 안내서 에 따라 빌드를 사용자 정의 할 수 있습니다.
bash “for loop”를 사용하여 배치 인코딩 수행
디렉토리의 모든 비디오를 인코딩하려면 :
$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
-c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
"encoded/${f%.avi}.mp4"; done
참조
답변
HandBrake를 시도 하십시오 .
HandBrake는 거의 모든 형식의 비디오를 널리 지원되는 최신 코덱으로 변환하는 도구입니다. 설치하려면 키보드에서 Ctrl+ Alt+ T를 눌러 터미널을 엽니 다. 열리면 아래 명령을 실행하십시오.
sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake