Налаштування якості кодування в ffmpeg змінний і постійний бітрейт для mpeg4

ffmpeg -i input.avi -c: v libxvid output.avi

і вбудований енкодер Mpeg-4:

ffmpeg -i input.avi -c: v mpeg4 -vtag xvid output.avi

Вбудований енкодер має ту перевагу, що не вимагає додаткових бібліотек. Обидва енкодера забезпечують вихідний потік приблизно однакової якості, але для більш низьких бітрейтів (наприклад, на 1000 КБІ / сек для формату 720p), libxvid буде давати більш кращу якість ніж mpeg4.

За замовчуванням, чотирьохбайтового сигнатура стандарту FourCC, прописується в файл формату Mpeg4, буде FMP4. Якщо необхідно прописати інший код FourCC, можна скористатися опцією -vtag. Наприклад, опція -vtag xvid змусить FFmpeg зберегти в сигнатурі FourCC формат XVID, а не формат за замовчуванням.

Налаштування змінного бітрейта через опцію qscale

Так само, можна вказувати рівень якості для аудіо-потоку за допомогою опції -qscale: a n (або, використовуючи скорочення, -q: a n). Значення n змінюється в залежності від використовуваного енкодера. Для кодування звуку в MP3 потрібно вказувати значення, сприймається Енкодери libmp3lame. Дані значення можна знайти в керівництві MP3 Encoding Guide.

ffmpeg -i input.avi -c: v mpeg4 -vtag xvid -qscale: v 3 -c: a libmp3lame -qscale: a 4 output.avi

(50 MB * 8192) / 600 seconds =

683 kilobits / s total bitrate

де 8192 - це конвертація Мб в кілобітах. З огляду на, що потік аудіо приблизно 128 Кбіт / сек, маємо:

683k - 128k (desired audio bitrate) = 555k video bitrate

Приклад використання кодування в два проходи для FFmpeg:

ffmpeg -y -i input.avi -c: v mpeg4 -vtag xvid -b: v 555k -pass 1 -an -f avi / dev / null

ffmpeg -i input.avi -c: v mpeg4 -vtag xvid -b: v 555k -pass 2 -c: a libmp3lame -b: a 128k output.avi

Невеликий трюк для користувачів Windows: замість / dev / null можна писати NULL.

На певом етапі буде створено спеціальний індексний файл, який буде використовуватися при кодуванні на другому етапі.

Схожі статті