설명과 함께 더 나은 대답 은 slhck와 Mulvya의 스마트 제안을 포함하여 필수적이지 않은 매개 변수를 제거했습니다.
ffmpeg -i video.mp4 -i cover.jpg -acodec libmp3lame -b:a 256k -c:v copy -map 0:a:0 -map 1:v:0 output.mp3
ffmpeg
오디오 / 비디오 조작 도구 : OP에서 이미 선택한이 작업에 특히 적합합니다.
-i video.mp4
첫 번째 입력 파일 : 추출하려는 일부 오디오가있는 비디오
-i cover.jpg
두 번째 입력 파일, 결과 오디오 파일을 재생할 때 표시하려는 이미지.
-acodec libmp3lame
LAME 인코더를 사용하여 .mp3 파일을 만들고 싶습니다.
-b:a 256k
오디오 트랙의 비트 전송률이 일정한 256Kb / s로 설정됩니다. 더 똑똑한 옵션은 품질 매개 변수를 지정하여 가변 비트 전송률로 인코딩하는 것 -q:a 0
입니다. 최대 품질을 요구하는 반면 -q:a 4
인식되는 오디오 품질과 비트 전송률 (따라서 파일 크기) 사이의 좋은 절충안을 나타냅니다.
-c:v copy
이는 비디오 스트림 (.jpg 이미지)을 다시 인코딩하지 말고 그대로 복사해야 함을 나타냅니다. 손실이있는 형식으로 재 인코딩 할 때 불필요한 처리 및 잠재적 인 품질 손실을 피하는 데 유용합니다. 이 경우이 매개 변수가 없으면 이미지가 .jpg에서 디코딩되고 .png로 인코딩됩니다.이 형식은 기본적으로 기본 형식으로 선택됩니다. 이것은 .png가 손실이기 때문에 품질의 손실을 나타내지는 않지만 .jpg (손실 됨)가 일반적으로 더 나은 압축률을 제공하기 때문에 파일 크기가 증가하지 않는 경우가 많습니다.
-map 0:a:0
이렇게하면 첫 번째 ( 0:
) 입력 파일 에서 사용할 스트림이 선택 됩니다. 포함 된 첫 번째 ( :0
) 오디오 ( a
) 스트림 이어야합니다 .
-map 1:v:0
이렇게 하면 두 번째 ( ) 입력 파일 에서 첫 번째 ( :0
) 비디오 ( v
) 스트림 이 선택 1:
됩니다.
output.mp3
이 매개 변수의 이름은 우리가 만들고자하는 통합 된 이미지와 함께 출력 오디오 (.mp3) 파일에 제공 될 이름이어야한다는 것을 제안하기 위해 교대로 선택되었습니다.
원래 답변
이것은 결혼식에서 비디오 (.mp4)와 사진 (.jpg)을 결합하여 정적 이미지가있는 오디오 (.mp3) 파일을 만듭니다.
ffmpeg -i video.mp4 -i cover.jpg -acodec libmp3lame -metadata title=video -b:a 256k -map_metadata 0 -map 0:1 -map 1 output.mp3
를 사용하여 입력 스트림을 선택하는 방법에 대한 ffmpeg 설명서 를 참조 -map
하십시오.
나는 먼저 명령을 간단하게 실행 -map 0 -map 1
하고이 정보를 얻었습니다.
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> png (native))
Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
Stream #1:0 -> #0:2 (mjpeg (native) -> png (native))
따라서 1
색인 번호가 0
인 파일, 즉 비디오 파일 에서 스트림 (aac 오디오)을 원한다는 것을 알았습니다 . 따라서로 명시 적으로 선택해야했습니다 -map 0:1 -map 1
.