소스 커뮤니티
H264 비디오 코덱을 사용하여 "avi"를 "mp4"로 변환하는 동안 다음 요구 사항을 갖춘 ffmpeg 명령을 알아내려고 노력했습니다. 제가 시도한 명령 중 하나는 대부분의 포럼에서 권장되는 일반적인 명령입니다.
ffmpeg -I input.avi -acodec copy -vcodec copy output.mp4
하지만 이는 동일한 비디오 코덱을 복사하며 H264로 변환되지 않습니다. 아래 요청된 작업을 수행하기 위해 코드 줄을 작성하는 데 도움을 줄 수 있는 사람이 있습니까?
=> 비디오 옵션
코덱: H264 비디오 종횡비: 변경 없음 비디오 해상도: 변경 없음 비디오 FPS: 변경 없음
=> 오디오 옵션
코덱: AC 오디오 채널: 변경 없음 오디오 주파수: 변경 없음 오디오 정규화: 변경 없음
미리 감사드립니다!
답변1
매개변수를 열거해 보겠습니다 ffmpeg
.
-acodec
더 나은 작성-c:a
(오디오용 Menmonic 코덱)-vcodec
더 잘 작성하세요-c:v
(동일한 니모닉)-i
입력 파일입니다(이 아님-I
).
ffmpeg
파일 확장자를 기반으로 추측을 잘 하였으므로 다음을 수행하십시오.
ffmpeg -i file.wem file.mp4
뭔가가 변환되지만 품질이 좋지 않을 수 있습니다.
H264
코덱을 따르기 때문에 libx264
다음과 같아야 합니다.
ffmpeg -i file.avi -c:v libx264 -c:a copy file.mp4
테스트로 우리는 고전적인 webm
예를 사용합니다:
$ wget http://video.webmfiles.org/big-buck-bunny_trailer.webm
...
$ ffmpeg -i big-buck-bunny_trailer.webm -c:a copy -c:v libx264 bbb.mp4
...
$ ffprobe bbb.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.41.100
Duration: 00:00:32.50, start: 0.000000, bitrate: 414 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 341 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: vorbis (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 64 kb/s (default)
Metadata:
handler_name : SoundHandler
이는 유망해 보입니다. 스트림 #0:0은 H264로 인코딩된 비디오 스트림입니다.