Якщо ви віддаєте перевагу командному рядку, ви можете використовувати ffmpeg
(або handbrake-cli
).
MP4
Якщо припустимо, що ви використовуєте останню версію ffmpeg
:
ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
-crf
: Якість. Діапазон логарифмічний від 0 (без втрат) до 51 (найгірша якість). За замовчуванням - 23. Суб'єктивний діапазон здорового звуку становить ~ 18-28 або близько того. Використовуйте найвище значення, яке все ще дає прийнятну якість. Якщо ви повторно кодуєте непрактично великі входи для завантаження на YouTube чи подібні, тоді спробуйте значення 17 або 18, оскільки ці відео-послуги все одно перекодуються.
-preset
: Швидкість кодування. Більш повільне встановлення забезпечує кращу компресію (якість на розмір файлу), але повільніше. Використовуйте найповільніші, до яких у вас є терпіння: ультрашвидкий, надшвидкий, дуже швидкий, швидший, швидкий, середній (за замовчуванням), повільний, повільніший, найпотужніший.
-movflags +faststart
: Дозволяє відтворювати відео до повного завантаження у випадку прогресивного перегляду завантаження. Корисно, якщо ви розміщуєте відео, інакше зайвим, якщо ви завантажуєте до відео-сервісу, такого як YouTube.
-vf scale=-2:720,format=yuv420p
: Фільтр, що використовує фільтри масштабування та форматування відео. Масштабуйте до 720 пікселів у висоту та автоматично вибирайте ширину, яка збереже аспект, а потім переконайтесь, що формат пікселів сумісний із тупими плеєрами.
-b:a 128k
: Бітрейт аудіо Якщо ваш ffmpeg
застарів, то вам потрібно буде додати його -strict experimental
до використання -c:a aac
.
MOV
Оскільки ваші файли MOV та MP4, ймовірно, містять однакові формати відео та аудіо, ви можете кодувати MP4 та зробити MOV шляхом повторного відключення музики (у режимі потокової копії ) замість повторного кодування:
ffmpeg -i input.mp4 -codec copy output.mov
WMV
FFmpeg підтримує лише WMV 7 та 8. Я не знаю кодера з відкритим кодом для версії 9.
$ ffmpeg -encoders | grep -i windows
[...]
V..... = Video
A..... = Audio
------
V..... wmv1 Windows Media Video 7
V..... wmv2 Windows Media Video 8
A..... wmav1 Windows Media Audio 1
A..... wmav2 Windows Media Audio 2
Оскільки я не знайомий з цими кодерами, я можу навести лише неперевірений приклад:
ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv
Як отримати ffmpeg
Ви можете завантажити збірку Linux з ffmpeg або дотримуватися покрокового посібника з компіляції ffmpeg, щоб налаштувати збірку.
Використання bash "for loop" для виконання пакетного кодування
Для кодування всіх відео в каталозі:
$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
-c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
"encoded/${f%.avi}.mp4"; done
Також див