같은 위치에서 동일한 이름의 .avi 파일로 폴더 내에서 감지 한 모든 비디오 파일 (하위 폴더도 스캔 함)을 변환하는 일종의 스크립트를 만들려고합니다. 원본 파일을 제거하십시오. 나는 어떤 프로그래밍/스크립팅에 대해서도 cmd를 많이 사용하지 않았으므로 나는 꽤 단순한 구문 문제라고 의심되는 것을 넘어서고있다.재귀 ffmpeg 변환기 만들기
누구나 인코딩 및 ffmpeg에 익숙하면 인코딩 옵션이 잘못되었는지 (나는 현재 어둠 속에서 어렴풋이 보임) 지적 해주십시오. this thread를 사용
, 나는 무언가가 현재 닮은 함께 일하고 있어요 :
이dir/b/s *.(mkv|mp4|m4v|wmv) >listing.txt #Make a list of all the files with certain extensions, for reading.
for /F "delims=;" %%F in (listing.txt) do ffmpeg.exe -i "%%F" -c:v libx264 -preset slow -crf 20 -c:a libvo_aacenc -b:a 128k "%%~na.avi"
#Then to delete original files
for /F "delims=;" %%F in (listing.txt) do del %%F
del listing.txt
내가 가진 첫 번째 문제는 내가 모든 일반적인 비디오 형식으로 목록을 채울 수 있도록하고 싶습니다이다. cmd가 perl 문자열 매칭과 비슷한 구문을 가지고 있다고 상상하고 있습니다. A(B|C)
은 AB와 AC가 일치 할 것이며 모든 비디오 파일 확장자와 짝을 지을 수 있습니다. (요점을 설명하기 위해 위의 코드에서 작성했지만 작동하지 않는다는 것을 알고 있습니다).
나는 시도하고있는 것을 설명하기에 충분하다고 생각합니다.
H.264 비디오에서 일반적으로 사용되는 MP4와 같은 최신 컨테이너 형식이 아닌 이유는 무엇입니까? 또한, 원시 FFmpeg AAC 인코더 ('-c : a aac -strict experimental')는'libvo_aacenc'보다 128k에서 더 좋게 들립니다. – LordNeckbeard
순수하게 이러한 파일을 다른 장치 (즉, X360)로 스트리밍하고 mp4의 모든 인코딩 변형을 재생하지는 않지만 적어도 과거의 경험에서 볼 때 avi는 수행합니다. –