Конвертировать видео, меняя только битрейт

Конвертировать видео, меняя только битрейт

У меня есть программа-медиаплеер, которая тормозит при воспроизведении одного конкретного файла. Я предполагаю, что это из-за слишком высокого битрейта видео (41,3 Мбит/с) и слишком медленного процессора (это встроенная система). Поэтому я хочу быть уверен, что дело в битрейте.

Вопрос: как мне конвертировать видеофайл, изменивтолькобитрейт видео? Я могу использовать avconv или любой другой пакет из репозиториев Debian.

решение1

Чтобы сохранить поток в файле нетронутым при его преобразовании avconv(в вашем случае это аудио), используйте -codec:[stream_specifier] copy-so -codec:a copyили -acodec copyв вашем конкретном случае (см. avconv(1)страницу руководства).

Однако, изменение битрейта означает перекодирование всего видео - я полагаю, что вы воспроизводите что-то вроде FullHD. Перекодирование с минимальной потерей качества изображения займет значительное время даже на быстрой машине. Я бы посоветовал сначала попробовать исключить другие вещи, такие как поврежденный файл, скорость драйвера дисплея и т. д. Сначала попробуйте другие файлы с похожим битрейтом. Затем попробуйте уменьшить масштаб изображения: на медленных настольных системах я обнаружил, что часто помогает уменьшение разрешения кадра. В mplayerили mpvэтого можно добиться с помощью:

$ mpv -vf scale=480 -sws=4

что для FullHD просто отбрасывает каждые три из четырех пикселей (в каждом направлении - следовательно, вы получите каждый 16-й пиксель в плоскости). Если это поможет, поиграйтесь с желаемым разрешением и программным алгоритмом масштабирования, чтобы добиться наилучшего, но все еще смотрибельного результата.

И последнее, но не менее важное: вы не упоминаете, какая у вас система. В наши дни многие поставляются с аппаратными возможностями декодирования (и кодирования) — вы уверены, что в вашей системе их нет или они включены?

Связанный контент