Linux에서 neroAacEnc를 사용하여 파이프를 사용하여 M4A를 만들 수 있습니다.
ffmpeg -i input.mp4 -vn -f wav - | neroAacEnc -if - -ignorelength -q 0.5 -of output.m4a
당신은 wine neroAacEnc.exe
거기에, 그리고 와인을 실행하는 Windows 버전이 파이프를 사용할 수 있는지 전혀 모르겠다. 이론에 의하면 다음 명령은 하나의 명령으로 모든 작업을 수행 할 수 있어야합니다 (최신 ffmpeg가 있다고 가정).
ffmpeg -i input.mp4 -vn -f wav - | neroAacEnc -if - -ignorelength -q 0.5 -of - | ffmpeg -i - -i input.mp4 -map 1:v -map 0:a -c:a copy -c:v libx264 -crf 22 -preset veryfast output.mp4
그러나 불행하게도 neroAacEnc는 파이프를 입력으로 사용하거나 파이프로 출력 할 수 있지만 한 번에 모두 사용할 수없는 것 같습니다. 따라서 위의 코드는 작동하지 않으며 다음과 같은 두 가지 명령을 사용해야합니다.
ffmpeg -i input.mp4 -vn -f wav - | neroAacEnc -if - -ignorelength -q 0.5 -of temp-audio.m4a
ffmpeg -i input.mp4 -i temp-audio.m4a -map 0:v -map 1:a -c:a copy -c:v libx264 -crf 22 -preset veryfast output.mp4
이것을 기본 bash 스크립트 (AFAIK는 OSX에서 작동해야 함)에 넣을 수 있습니다.
#!/bin/bash
ffmpeg -i "$1" -vn -f wav - | neroAacEnc -if - -ignorelength -q 0.5 -of "temp.${1%.*}.m4a"
ffmpeg -i "$1" -i "temp.${1%.*}.m4a" -map 0:v -map 1:a -c:a copy -c:v libx264 -crf 22 -preset veryfast "output.${1%.*}.m4v"
rm "temp.${1%.*}.m4a
exit 0
$ PATH 어딘가에 convert-to-M4V로 저장하고 실행 파일로 표시하려면 다음과 같이 사용하십시오.
convert-to-M4V input.mov
디렉토리에서 모든 mov 작업을 수행하려면 :
for f in *.mov; do convert-to-M4V "$f"; done
참고 : 저는 OSX가 아니기 때문에 OSX에서 명령 행을 실제로 사용한 적이 없습니다. 따라서이 중 일부는 작동하지 않을 수도 있고 적응이 필요할 수도 있습니다.
roAA
편집 : 당신은 OSX에있어, 당신은 (일부 테스트 neroAacEnc 우수한) 퀵타임 AAC는 인코더, qac, 더 잘 파이프에 대한 지원을 할 수 있습니다 사용할 수 있어야합니다. 그리고 그것은 원시적 인 해결책입니다.
덧붙여서 : 유용 할 수도 있습니다. 이 ffmpeg에서 x264로 인코딩하는 방법과 이 neroAacEnc 안내.