У меня есть программа-медиаплеер, которая тормозит при воспроизведении одного конкретного файла. Я предполагаю, что это из-за слишком высокого битрейта видео (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-й пиксель в плоскости). Если это поможет, поиграйтесь с желаемым разрешением и программным алгоритмом масштабирования, чтобы добиться наилучшего, но все еще смотрибельного результата.
И последнее, но не менее важное: вы не упоминаете, какая у вас система. В наши дни многие поставляются с аппаратными возможностями декодирования (и кодирования) — вы уверены, что в вашей системе их нет или они включены?