오디오 코덱을 변경하고 싶지만 ffmpeg를 사용하여 비디오 설정을 유지하십시오


26

오디오 코덱을 AAC 320 kbps / 44.100 kHz로 변환하려는 비디오가 있습니다. 모든 비디오 설정과 코덱이 동일하게 유지되지만 오디오 코덱과 설정 만 변경되도록 ffmpeg 스위치에 무엇을 사용 하시겠습니까?

여기 내 비디오가 있습니다 :

$ ffmpeg -i Winnipeg.rb\ Scala-Talk.mov 
FFmpeg version SVN-r25375, Copyright (c) 2000-2010 the FFmpeg developers
  built on Oct  6 2010 13:02:41 with gcc 4.2.1 (Apple Inc. build 5664)
  configuration: --enable-libmp3lame --enable-shared --disable-mmx --arch=x86_64
  libavutil     50.32. 2 / 50.32. 2
  libavcore      0. 9. 1 /  0. 9. 1
  libavcodec    52.92. 0 / 52.92. 0
  libavformat   52.80. 0 / 52.80. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.48. 0 /  1.48. 0
  libswscale     0.12. 0 /  0.12. 0

Seems stream 0 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 10.00 (10/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Winnipeg.rb Scala-Talk.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
  Duration: 01:10:53.00, start: 0.000000, bitrate: 283 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 800x598, 94 kb/s, 10 fps, 10 tbr, 1k tbn, 2k tbc
    Stream #0.1(eng): Audio: adpcm_ima_qt, 22050 Hz, 1 channels, s16
    Stream #0.2(eng): Audio: adpcm_ima_qt, 22050 Hz, 1 channels, s16
At least one output file must be specified

미리 감사드립니다! ffmpeg와 함께 한 번도 알아볼 수 없었던 한 가지는 변경하고 싶지 않은 사항에 대해 모든 작은 설정을 취소하지 않고 파일을 "조정"하는 방법입니다.


오디오는 물론 비디오의 품질이 매우 낮습니다. 실제로 형식을 변경하고 샘플링 속도를 높이고 비트 전송률을 높여 오디오 품질을 향상 시키지는 않습니다.
강제 흐름

답변:


34

Ehsan의 답변과 fletom의 의견이 모두에게 도움이됩니다.

ffmpeg -i input.avi -acodec mp3 -vcodec copy out.avi

나는 항상이 -vcodec copy부분을 잊었 기 때문에 자기 참조를 위해
igorushi

2
대답을 조금만해도 설명 할 수 있습니까? 감사.
fixer1234

2
-i input.avi변환하려는 파일을 지정합니다. out.avi변환 된 파일입니다. -acodec mp3출력 파일에 쓰는 동안 오디오 스트림을 mp3로 변환한다고 말합니다. vcodec copy비디오 스트림을 변경하지 않고 출력 파일로 복사한다고 말합니다.
Wodin

8

ffmpeg 명령이 게시물에 약간 왜곡되어 있기 때문에 수행중인 작업을 판단하기가 어렵습니다.

오디오 트랙을 교체하려면

ffmpeg -i test.avi -i normalized.mp3 -map 0:0 -map 1:0 -vcodec copy -acodec copy new_test.avi

위의 매개 변수에 대한 자세한 정보는 FFmpeg Documentation 에서 찾을 수 있습니다.


1
감사. 이것은 내 문제를 해결했습니다. 내가 실행 ffmpeg -i old.mkv -i onlySound.m4a out.mkv하면 작업 시간이 길어집니다. 그게 왜?
Zeta.Investigator

6

오디오 및 / 또는 비디오 코덱을 변경하려는 경우 다음과 같이 매개 변수로 추가하면됩니다.

오디오 코덱을 mp3 (원래 코덱이었던 것)으로 변경하면됩니다.

ffmpeg -i input.avi -acodec mp3 out.avi

비디오 코덱을 h264로 변경하십시오.

ffmpeg -i input.avi -vcodec h264 out.avi

ffmpeg는 새 코덱의 인코딩을 지원해야합니다. /programming/3377300/what-are-all-codecs-supported-by-ffmpeg를 참조 하십시오.


5
이것은 나를 위해 일했지만 -vcodec copy비디오를 h.264로 코드 변환하지 못하게하기 위해 추가해야 했습니다. Dunno 왜 기본적으로 그렇게 했습니까?
fletom

-1

비디오를 유지하고 오디오를 변경할 수있는 핸드 브레이크를 사용하지 마십시오. 이것은 FFmpeg의 GUI이며 매력처럼 작동합니다.


3
핸드 브레이크는 실제로이 작업을 수행 할 수 없습니다. 오디오 또는 자막 스트림의 간단한 사본을 수행 할 수 있지만 항상 비디오를 다시 인코딩합니다.
evilsoup
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.