저는 FFMPEG를 처음 접했고 이에 대해 구체적으로 명확한 문서를 찾을 수 없습니다.
3개의 mp3를 연결하려고 합니다(인코딩/트랜스코딩이 아닌 다중화만 원합니다).
이 두 명령 모두 제대로 작동하는 것 같습니다. '-c'와 '-acodec'을 사용하는 것 사이에 차이점이 있나요?
ffmpeg -i "concat:a.mp3|b.mp3|c.mp3" -acodec copy out.mp3
ffmpeg -i "concat:a.mp3|b.mp3|c.mp3" -c copy out.mp3
몇 시간 동안 Google을 검색했는데 ffmpeg에 대한 다양한 문서를 찾았지만 -c 또는 -acodec이 실제로 수행하는 작업을 설명하는 문서는 없습니다. -c는 '코덱'을 의미하고 -acodec은 '오디오 코덱'을 의미한다고 생각하시나요?? 각각은 무엇을 합니까 / 차이점이 있습니까 / 어느 것이 더 낫습니까?
내가 찾은 문서는 도움이 되지 않습니다.
https://ffmpeg.org/ffmpeg-all.html
https://gist.github.com/tayvano/6e2d456a9897f55025e25035478a3a50
또한 이를 개선하는 방법에 대한 제안도 환영합니다(3개의 mp3를 순차적으로 결합하면 됩니다).
감사해요.
답변1
귀하의 직함을 다루기 위해.
이렇게 하면 -c copy
오디오 코덱(acodec)과 비디오 코덱(vcodec)이 모두 복사됩니다.
-c copy
와 같다 -acodec copy -vcodec copy
-c:a copy
와 같다 -acodec copy
.
-c:v copy
와 같다-vcodec copy
물론 코덱을 지정할 수도 있습니다. 예를 들어 -vcodec libx264
또는-c:v libx264
-c는 코덱을 나타냅니다. 또는 -codec을 쓸 수도 있습니다. https://ffmpeg.org/ffmpeg.html 예를 들어 -codec:a copy
-acodec copy
예를 들어 또는 -acodec blahblah
또는 를 지정하지 않으면 -codec:a ...
일부 기본 코덱이 선택됩니다. -vn
비디오가 없다고 말할 수도 있습니다 .https://stackoverflow.com/questions/9913032/how-can-i-extract-audio-from-video-with-ffmpeg 그래서 영상은 복사하지 않습니다. 또는 -an
오디오가 없는 경우FFmpeg를 사용하여 비디오 파일에서 오디오 제거
추가됨
-acodec
및 구문은 이제 더 이상 사용되지 않습니다. 그리고 구문( 및 의 별칭 ) 을 -vcodec
사용하는 것이 좋습니다.-c:a
-c:v
-codec:a
-codec:v
답변2
-c
또는 -codec
일반 스트림 선택기이므로 이를 사용하여 오디오 또는 비디오 스트림에 대한 코덱을 설정할 수 있습니다.
-acodec
오디오 스트림으로 범위를 자동으로 지정하는 기능의 하위 집합입니다.
-acodec:1
와 동일하며 -codec:a:1
두 번째 오디오 스트림(첫 번째 오디오 스트림은 0)에 대한 코덱을 설정하고 있음을 나타냅니다.
링크된 문서에서: -c, -codec
-c[:stream_specifier] 코덱(입력/출력, 스트림당) -codec[:stream_specifier] 코덱(입력/출력, 스트림당)
Select an encoder (when used before an output file) or a decoder (when used before an input file) for one or more streams. codec is the
스트림이 다시 인코딩되지 않음을 나타내는 디코더/인코더의 이름 또는 특수 값 복사본(출력 전용)입니다.
-아코덱
-acodec 코덱(입력/출력)
오디오 코덱을 설정합니다. 이는 -codec:a의 별칭입니다.
비디오 스트림에 대해 동일한 방식으로 작동하는 -vcodec도 있습니다.
그래서 그것을 모두 합치려면 문서에서 이 명령을 고려하십시오.
ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT
이는 모든 스팀( -c copy
)에 원본 코덱을 사용한다는 뜻이지만, 두 번째 비디오 스트림에는 libx264( -c:v:1 libx264
)를 사용하고, 138번째 오디오 스트림에는 libvorbis( -c:a:137 libvorbis
)를 사용한다는 의미입니다.
따라서 를 사용하면 -c
모든 유형의 스트림을 제어할 수 있는 반면 -acodec
및 는 -vcodec
해당 오디오 또는 비디오 하위 집합에 대한 바로 가기일 뿐입니다.