Я намагаюся конвертувати 20+ .avi файли в пакет, використовуючи ffmpeg.
У мене таке
@echo off.
for file in *.avi
do
ffmpeg -i "$file" -s 640x480 -vcodec msmpeg4v2 "'basename "$file" .avi'.mpg';
done
у моєму файлі .bat, але він не працює. Як змусити його працювати в ОС Windows. О, і так, всі файли знаходяться в одній папці.
Я отримую повідомлення про помилку:
Файл наразі був несподіваним
А що саме в цьому не працює?
—
slhck
Якщо ви можете вказати мені, як отримати повідомлення про помилку, оскільки cmd зникає дуже швидко, я зможу сказати вам, з чим у мене проблеми.
—
Дарій
Ви повинні мати можливість просто відкрити командне вікно раніше ( Пуск »Виконати…»
—
slhck
cmd
), а потім запустити пакетний файл, використовуючи повний шлях звідти. Що ви насправді хочете зробити з відео? Що це за відео? Вам просто потрібно перемістити їх у контейнер MPG? Або вам потрібно змінити їх розмір? Або вам конкретно потрібен msmpeg4v2
кодек?
Файли знімаються з відеореєстратора та мають відеокліпи понад 5 Гб за 5 хвилин. Так, програмне забезпечення DVR є жалючим при стисненні. Кодек працює, оскільки для нього потрібні 1 Гб файли приблизно 7 МБ файлів, які є більш керованими. І при спробі запустити цю партію я отримую повідомлення "Файл був несподіваний на цей час".
—
Дарій
Я бачу. Якщо вас не цікавить отриманий відеокодек та контейнер, я б запропонував використовувати x264 як кодер, що призводить до набагато кращої якості, ніж MPEG-4. Команда буде чимось на зразок,
—
slhck
ffmpeg -i input.avi -c:v libx264 -crf 23 -s 640x480 output.mp4
коли значення CRF встановлює якість (менше краще, більше гірше, здорові значення від 19 до 24). Дивіться також: Перетворення старих відео в менші розміри та Які параметри слід дивитись, щоб зменшити розмір файлу .MOV?