Я использую ffmpeg с Windows 10, и мне нужно конвертировать все файлы в MOV

1

Я могу сделать один файл, используя эту строку, например:

ffmpeg -i LostInTranslation.mp4 -vcodec copy -acodec copy LostInTranslation.mov

Но я хочу конвертировать все mp4 на моем рабочем столе, поэтому я попробовал эту строку:

for i in *mp4; do ffmpeg -i $i -vcodec copy -acodec copy $i.mov; done

Все, что я получаю - i was unexpected at this time.обе эти линии работали на меня, когда я использовал Mac. Теперь с Windows 10 это просто не работает, и я ничего не знаю, ffmpegкроме просто скопировать и вставить строки. Любая помощь будет принята с благодарностью.


источник
Подсказка № 43: Вы можете сократить его, заменив -vcodec copy -acodec copyна -c copy.
Llogan

Ответы:

3

Вы используете BASH в Windows, и он не будет работать без надлежащей настройки.

Создайте командный файл со следующим:

for %%a in ("*.mp4") do ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~dpna.mov"

Это должно получить результаты, которые вы хотите.

Убедитесь, что вы используете прямой путь к ffmpeg, как d:\ffmpeg\bin\ffmpeg.exe

Например, вот некоторые из строк в моем encode.batфайле:

REM for /R %%c in ("*.mkv") do D:\ffmpeg\bin\ffmpeg.exe -i "%%c" -c:v copy -c:a copy -flags +global_header "%%~dpnc.mp4" && del "%%c"
REM for /R %%d in ("*.mpg") do D:\ffmpeg\bin\ffmpeg.exe -i "%%d" -c:v hevc_nvenc -rc vbr -qmin 16 -qmax 60 -cq 32 -preset hq -profile:v main -pix_fmt yuv420p -flags +global_header -c:a aac -b:a 128k -ar 44100 -movflags +faststart "%%~dpnd.mkv"
REM for /R %%a in ("*.mp4") do D:\ffmpeg\bin\ffmpeg.exe -y -i "%%a" -c:v hevc_nvenc -r 24 -rc vbr -qmin 16 -qmax 60 -q:v 1 -cq 28 -preset hq -profile:v main -pix_fmt yuv420p -flags +global_header -c:a aac -b:a 128k -ar 44100 -movflags +faststart "%%~dpna.mkv" && del "%%a"
REM for /R %%b in ("*.avi") do D:\ffmpeg\bin\ffmpeg.exe -i "%%b" -c:v hevc_nvenc -rc vbr -qmin 16 -qmax 60 -cq 32 -preset hq -profile:v main -pix_fmt yuv420p -flags +global_header -c:a aac -b:a 128k -ar 44100 -movflags +faststart "%%~dpnb.mkv"
REM for /R %%a in ("*.mp4") do D:\ffmpeg\bin\ffmpeg.exe -y -i "%%a" -c:v hevc_nvenc -rc vbr -qmin 16 -qmax 60 -cq 28 -preset hq -profile:v main -pix_fmt yuv420p -flags +global_header -c:a aac -b:a 128k -ar 44100 -movflags +faststart "%%~dpna.mkv" && del "%%a"

Я выбираю, какие строки я хочу использовать по мере необходимости, и делаю корректировки.

Имейте в виду, что /Rэто для рекурсивного, и del "%%a"удаляет исходный файл после преобразования. Будьте очень осторожны с этим.


источник
1
Вы можете удалить -movflags +faststartдля ваших выходов Matroska: это опция для MOV / MP4 / M4A muxer.
Llogan
Согласовано. Они - остатки от других, я просто так и не дошел до этого, и они не повредили процессу (читай "ленивый") :)
0

Вы можете использовать Kdenlive в Ubuntu для достижения аналогичных результатов.

Нажмите Fileи выберитеTranscode Clips

Диалог ниже будет представлен.

Транскодирование с графическим интерфейсом

Выберите ваш исходный и целевой файл (ы)

Выберите профиль, который вы хотите использовать

Нажмите Start

В качестве примечания, я лично считаю, что kdenlive выглядит действительно хорошо с темной темой.

userDepth
источник
Не забудьте комментировать downvoter
kdenlive доступен для Linux, однако он заявил, что использует Windows 10. Кроме того, было бы полезно добавить более подробное объяснение с пошаговым руководством. Это единственная причина, по которой я отказался. Рад объявить, если исправил :)
1
Хорошо, я добавлю скриншоты
1
Хорошая вещь. Повышение качества ответа делает его лучше для всех, предоставляя разные точки зрения и возможные исправления :)