Я нашел командный файл, который может конвертировать rmvb в mp4 с помощью команды ffmpeg, но размер файла становится очень большим после преобразования (700 МБ становится 3 ГБ), поэтому могу ли я что-то изменить в приведенном ниже сценарии, чтобы уменьшить размер файла и сохранить такое же качество?
FOR /F "tokens=*" %%G IN ('dir /b *.rmvb') DO ffmpeg -i "%%G" -vcodec mpeg4 -qscale:v 2 -acodec aac "%%~nG.mp4"
И еще почему я продолжаю получать это сообщение? Что-то не так со сценарием?
Вы можете упростить цикл для до:
for %%G in (*.rmvb) do ffmpeg -i "%%~G" -c:v h264 -c:a aac "%%~nG.mp4"
Это преобразуется в видео h264 и аудио aac. Эти кодеки в настоящее время довольно распространены.
По умолчанию для видео используется CRF 23, а для звука - 128k.
Это должно дать приемлемое качество, возможно, с одной десятой битрейта, показанного в вашем изображении 9300 тыс., вплоть до, возможно, ниже 1000 тыс..
Ошибки продолжительности случаются иногда и могут показаться очень большими, хотя конечное видео все равно может выглядеть так же хорошо, как оригинал.
попробуйте установить более высокое значение qscale, что должно значительно уменьшить размер файла за счет более низкого качества видео. попробуйте
qscale:v 17
, все равно должно быть довольно хорошее качество, см. trac.ffmpeg.org/wiki/Encode/H.264#FAQ