ffmpeg를 사용하여 컨테이너에서 오디오 추출


2

사용하는 방법이 있나요 -acodec copy과 -vn로는 :

  • mp4와 같은 컨테이너에서 오디오 스트림 추출
  • 없이 미리 오디오 코덱을 알고
  • 그리고 적절한 확장자를 가진 오디오 파일로 저장하십시오

2
"적절한 확장"이란 무엇입니까? Matroska (.mka) 또는 NUT (.nut)를 대부분의 오디오 형식과 함께 사용할 수 있지만 원하는 것이 아닌 것 같습니다.
— llogan

답변:


0

이것이 ffmpeg에서 간단한 옵션이 아닌 이유는 출력에 사용할 컨테이너를 결정하는 방법이 필요하기 때문입니다.

각 코덱에 사용할 파일 확장자를 결정하고 해당 확장자를 가진 파일 이름을 지정한 경우 ffmpeg는 출력 파일을 올바른 컨테이너에 작성합니다. 내가 생각할 수있는 가장 불행한 방법은 Python 2 스크립트입니다.

import re
import subprocess
import sys

EXTENSIONS_BY_CODEC = {'mp3': '.mp3', 'aac': '.m4a'}
# Add more codecs as desired

_, infile, outfile = sys.argv
_, detect_data = subprocess.Popen(('ffmpeg', '-i', infile),
                                  stderr=subprocess.PIPE).communicate()
codec = re.search(r'Audio: ([^,]+),', detect_data).group(1)
if codec in EXTENSIONS_BY_CODEC:
    sys.exit(subprocess.call(('ffmpeg', '-i', infile, '-acodec', 'copy', '-vn',
                              outfile + EXTENSIONS_BY_CODEC[codec])))
else:
    print >>sys.stderr, 'Extension not found for codec:', codec
    sys.exit(2)

-4

커맨드 라인 (및 명령) 출력이있는 ffmpeg에 대한 핸드 브레이크, GUI를 살펴보십시오 (어떤 종류의 스크립트로 이식하려는 경우)


2
이것이 어떻게 도움이됩니까? 그것은 OP가 요구하는 것이 아닌 gui와 함께 ffmpeg와 동일한 작업을 수행합니다.
— Lily Hahn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.