ffmpeg 명령은 비디오 파일의 일부를 오디오 파일로 변환합니다.

ffmpeg 명령은 비디오 파일의 일부를 오디오 파일로 변환합니다.

동영상 파일(1시간 분량)이 있습니다. 오디오 파일로 변환하려면 비디오 파일(30분)의 일부가 필요합니다.

ffmpeg -ss 00:30:00 -t 01:00:00 -i /opt/a.mp4 -vcodec copy -acodec copy /opt/b.mp4

그럼 내가 사용

ffmpeg -ss 00:30:00 -t 01:00:00 -i /opt/a.mp4 -acodec copy /opt/b.mp4

하지만 여전히 오디오와 함께 비디오를 볼 수 있습니다. 오디오 파일만 필요해요

답변1

오디오만 필요한 경우(제대로 이해했으면 좋겠습니다) 첫 번째 단계가 전혀 필요하지 않습니다. 다음을 사용하는 경우:

ffmpeg -ss 00:30:00 -t 01:00:00 -i /opt/a.mp4 -vn -acodec copy /opt/b.mp3

그것은 그것을 할 것이다제공원래 오디오 코덱은 mp3였습니다. 그렇지 않은 경우 어쨌든 강제로 다시 인코딩할 수 있습니다.

ffmpeg -ss 00:30:00 -t 01:00:00 -i /opt/a.mp4 -vn -acodec libmp3lame ...other_parameters.. /opt/b.mp3

비트 other_parameters전송률 등이 있습니다.

답변2

두 가지가 모두 포함된 파일에서 비디오나 오디오만 가져오는 두 가지 주요 방법이 있습니다. 기본적으로스트림 선택ffmpeg의 동작은 스트림 유형당 하나의 스트림을 선택합니다. 입력에는 비디오, 오디오, 자막, 데이터 등 다양한 스트림 유형이 포함될 수 있습니다. 일부 입력에는 이러한 각 스트림 유형이 여러 개 포함될 수도 있습니다. 두 개의 비디오 스트림과 같은.


-vn또는-an

이 옵션은 ffmpeg에 비디오( -vn) 또는 오디오( -an)를 생략하도록 지시합니다.

비디오를 생략하고 오디오를 복사하려면:

ffmpeg -i input -vn -codec:a copy output.mka

오디오를 생략하고 비디오를 복사하려면:

ffmpeg -i input -an -codec:v copy output.mkv
  • 이러한 예는스트림 복사원하는 스트림. 이는 ffmpeg가 다시 인코딩하는 대신 단순히 다시 다중화한다는 것을 의미합니다. 이는 매우 빠르며 본질적으로 "복사 및 붙여넣기"이므로 품질에 영향을 미치지 않습니다.

  • 자막이나 데이터 스트림과 같이 존재할 수 있는 다른 스트림을 사용 -vn하고 생략하지 않지만 오디오 전용 형식은 어쨌든 이러한 스트림을 무시합니다.-an


-map

그만큼-map옵션은 더 복잡해 보일 수 있지만 더 유연하고 유용합니다. 예를 들어, -vnffmpeg에 비디오 스트림만 생략하도록 지시하지만스트림 지정자 -mapffmpeg에 원하는 스트림을 제외한 모든 것을 생략하도록 지시할 수 있습니다.

비디오만 복사하려면:

ffmpeg -i input -map 0:v -codec copy output.mkv

오디오만 복사하려면:

ffmpeg -i input -map 0:a -codec copy output.mka
  • 이것은 ffmpeg에게 첫 번째 입력의 비디오 스트림 0:v만 포함하도록 지시하는 스트림 지정자입니다 . 이는 더 확장될 수 있습니다. 수단을 사용하면 입력에 여러 비디오 스트림이 포함되어 있고 첫 번째 스트림만 원하는 경우 유용합니다. 입력의 스트림 순서를 확인하려면 ffmpeg 콘솔 출력을 참조하세요.0v0:v:0first input:video:first video stream

  • 음수 매핑을 사용할 수도 있습니다. 을 사용하면 -map 0 -map -0:a:1두 번째 오디오 스트림을 제외한 모든 스트림이 매핑됩니다. ffmpeg에 입력 (첫 번째 입력) -map 0의 모든 스트림을 포함하도록 지시한 다음 ffmpeg에 첫 번째 입력의 첫 번째 오디오 스트림을 무시하도록 지시합니다.0-map -0:a:1

답변3

첫 번째 부분이 맞습니다. 두 번째 부분에서는 b.mp4 파일에 대해서만 오디오를 추출합니다.

ffmpeg -i b.mp4 -vn -acodec copy audio_b.mp3

관련 정보