/ / ffmpeg batch zachowuje stary typ pliku w nazwie - plik wsadowy, ffmpeg, nazwy plików

Partia ffmpeg zachowuje stary typ pliku w nazwie - plik wsadowy, ffmpeg, nazwy plików

Używam następujących ffmpeg skrypt do konwersji wszystkich plików .mp4 w folderze na .webm.

for %%A IN (*.mp4) DO ffmpeg -i "%%A" -c:v libvpx -crf 4 -b:v 3M -c:a libvorbis "%%A.webm"

Próbuję to zmienić "xxx.mp4" do "xxx.webm"

Jednak po uruchomieniu skryptu nazwa pliku pochodzi od "xxx.mp4" do "xxx.mp4.webm"

Wszelkie sugestie są bardzo cenne.

Odpowiedzi:

1 dla odpowiedzi № 1

Posługiwać się %%~nA.webm aby wybrać nazwę-nazwy pliku.

widzieć for /? z podpowiedzi lub dokumentacji.


0 dla odpowiedzi nr 2

Aby rekursywnie konwertować w sieci wszystkie pliki wideo MP4 w zagnieżdżonych folderach, możesz spróbować tego polecenia:

find "~/Video/" -iname "*.mp4" -exec bash -c "D=$(dirname "{}"); B=$(basename "{}"); mkdir "$D/webm/"; ffmpeg -i "{}" -c:v libvpx -crf 4 -b:v 3M -c:a libvorbis "$D/webm/${B%.*}.webm"" ;

Utworzy on folder o nazwie "webm" w środku z plikami wideo MP4, a wewnątrz folderu "webm" zapisze względne pliki webm bez zachowania starego rozszerzenia pliku w nazwie.