비디오에서 오디오를 추출하는 다음 명령을 시도 :ffmpeg -i Sample.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 Sample.mp3
하지만 출력은 다음과 같습니다.
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
SamplE.avi: Invalid data found when processing input
아무도 도와 줄 수 있니?
다시 인코딩하지 않고 오디오 스트림을 추출하려면 :
ffmpeg -i input-video.avi -vn -acodec copy output-audio.aac
-vn
은 (는) 비디오가 아닙니다.-acodec copy
는 이미 거기에있는 동일한 오디오 스트림을 사용한다고 말합니다.출력을 읽고 올바른 코덱 확장자를 설정하십시오.
AVI에서 고화질 MP3를 인코딩하려면 가변 비트 전송률을 위해 - q : a를 사용하십시오.
ffmpeg -i sample.avi -q:a 0 -map a sample.mp3
비디오에서 오디오 부분 추출- ss 옵션을 사용하여 시작 시간 소인을 지정하고 - t 옵션을 사용하여 인코딩 지속 시간을 지정하십시오 (예 : 3 분 5 초에서 45 초).
ffmpeg -i sample.avi -ss 00:03:05 -t 00:00:45.0 -q:a 0 -map a sample.mp3
시간 소인은 HH : MM : SS.xxx 형식 또는 초 단위 여야합니다.
- t 옵션을 지정하지 않으면 끝으로갑니다.
ffmpeg -i sample.avi
는 파일에 대한 오디오/비디오 형식 정보를 제공합니다. 입력 스트림을 구문 분석하도록 적절한 라이브러리를 구성했는지 확인하십시오. 또한 파일이 손상되지 않았는지 확인하십시오.
명령 줄이 올바르며 유효한 비디오 파일에서 작동합니다. mp3로 작업 할 수있는 올바른 라이브러리를 설치했는지 확인하고 다른 오디오 코덱과 함께 lame o 프로브를 설치하십시오.
보통
ffmpeg -formats
또는
ffmpeg -codecs
당신이 더 많이 알 수 있도록 충분한 정보를 제공 할 것입니다.
Mp3 오디오를 인코딩하려면 ffmpeg.org 는 다음 예제를 보여줍니다.
ffmpeg -i input.wav -codec:a libmp3lame -qscale:a 2 output.mp3
input.wav
를 비디오 파일 이름으로 바꾸면 비디오에서 오디오를 추출했습니다. 2
는 190 kb/sec를 의미합니다. 위의 링크에서 다른 품질 수준을 볼 수 있습니다.
그냥 추측 :
-ab 192
해야한다
-ab 192k
문제가 될 수 있지만 어쩌면 ffmpeg 그것을 해결할만큼 똑똑한 것 같습니다.
Avi로 랩핑 된 오디오가 mp3 형식이 아닌 경우, 추가 매개 변수로 -acodec mp3
를 지정해야 할 수도 있습니다. 또는 mp3 코덱이 무엇이든간에 (Linux 시스템에서는 아마 -acodec libmp3lame
). ffmpeg의 모든 버전이 여전히 해당 스위치를 지원하지는 않지만 -f mp3
를 지정하여 mp3에 형식을 "강제 적용"하는 대신 동일한 효과 (플랫폼에 독립적)를 얻을 수도 있습니다. 귀하의 마일리지가 다를 수 있습니다.
-b:a
대신 -ab
를 사용하십시오. -ab
는 구식입니다. 입력 파일 경로가 올바른지 확인하십시오.
비디오에서 오디오를 추출하려면 아래 명령을 사용하고 정상적으로 작동합니다.
String[] complexCommand = {"-y", "-i", inputFileAbsolutePath, "-vn", "-ar", "44100", "-ac", "2", "-b:a", "256k", "-f", "mp3", outputFileAbsolutePath};
이리,
-와이
묻지 않고 출력 파일을 덮어 씁니다.
-나는
ffmpeg는 -i 옵션으로 지정된 임의의 수의 입력 "파일"에서 읽습니다.
-vn
동영상 녹화 사용 중지
-ar
인코딩 된 경우 오디오 스트림의 샘플링 속도를 설정합니다.
맥
오디오 채널 수를 설정하십시오.
-b : a
오디오 비트 전송률 설정
-에프
체재
체크 아웃 this 내 전체 샘플 ffmpeg 안드로이드 프로젝트 github에 대해.
변환하지 않고 추출하려면 Linux에서 파일 관리자 사용자 지정 작업으로 컨텍스트 메뉴 항목을 사용하여 다음을 실행합니다 (비디오에 포함 된 오디오 유형을 확인한 후 ogg
오디오가 포함 된 비디오의 예).
bash -c 'ffmpeg -i "$0" -map 0:a -c:a copy "${0%%.*}".ogg' %f
ffmpeg 명령 ffmpeg -i INPUT -map 0:a -c:a copy OUTPUT
을 기반으로합니다.
@LordNeckbeard 의 주석에서 말했듯이 문제없이 -map 0:1
를 사용했습니다. "스트림 0:1
은 항상 오디오로 보장되지 않습니다. -map 0:a
대신 -map 0:1
를 사용하면 모호함을 피할 수 있습니다."
여기 내가 방금 사용한 내용 :
ffmpeg -i input.mkv -ss 01:06:57 -to 01:21:07 -c:v copy -c:a copy output.mp4
여기 내가 방금 사용한 내용 :
ffmpeg -i my.mkv -map 0:3 -vn -b:a 320k my.mp3
옵션 설명 :
-map 0:3
는 비디오 파일에서 3 번째 스트림을 원합니다. 거기에 N 파일을 넣으십시오 - 비디오 파일에는 종종 여러 개의 오디오 스트림이 있습니다. 그것을 생략하거나 -map 0:a
를 사용하여 기본 오디오 스트림을 가져올 수 있습니다. ffprobe my.mkv
를 실행하여 비디오 파일의 스트림을 확인합니다.