Решения тех проблем, с которым мне приходилось сталкиваться.

Показаны сообщения с ярлыком видео. Показать все сообщения
Показаны сообщения с ярлыком видео. Показать все сообщения

суббота, 1 декабря 2007 г.

"Гладкое" (билинейное) масштабирование видео в totem

Для просмотра видео я почти всегда использую totem. Почему? It just works! :) Единственное что мне не нравилось, что при полноэкранном просмотре картинка масштабируется некрасиво. Видимо, по принципу "ближайший сосед" (nearest neighbour), и, таким образом, присутствует эффект "пикселизации" изображения. Меня это обстоятельство перестало устраивать, и я начал копать.
Оказалось, что несмотря на то, что "движок" GStreamer поддерживает "гладкое" масштабирование, включить его не так-то просто. В-принципе, можно сформировать конвеер комманд напрямую:


gst-launch-0.10 filesrc location=video.avi ! avidemux !
xviddec ! ffmpegcolorspace ! videoscale method=1 ! ximagesink

(это пример для Xvid-фильмов)
Тогда все работает. Но вот как объяснить totem'у, что он должен передать в конвеер videoscale method=1? Вроде бы можно переопределить подсистему вывода видео, прописав там тоже конвеер комманд. Т.е. запускаем gstreamer-properties, выбираем в модуле вывода видео "Другой" и пишем в строке "Канал"
videoscale method=1 ! ximagesink

Но у меня это почему-то не заработало.
Все это я нашел на launchpad'е.

Есть еще один способ, использовать для вывода видео xvimagesink (настраивается в тех же gstreamer-properties). Тогда задействуется аппаратный overlay и масштабирует картинку уже видеокарточка. Но, оказалось, что этот оверлей еще надо и включить.
Проверить включен этот режим или нет можно командой:
xvinfo

У меня был выключен. Чтобы включить нужно в секцию Device файла конфигурации xorg (/etc/X11/xorg.conf) прописать строчку:
Option          "VideoOverlay" "on"

Ну и перезапустить X'ы. Наверное, не все карточки/драйверы такое поддерживают, но у меня ATI и все заработало. Картинка стала гладкой.

понедельник, 21 мая 2007 г.

Внешние субтитры в totem

Наверное, немногие из опытных linux-гуру пользуются такой достаточной простой программкой для воспроизведения видео, но по умолчанию в ubuntu применяется именно она.
На самом деле totem не так уж и прост, он максимально облегчен для пользователя и в этом его особенность. Так вот, речь о субтитрах. Если они находятся внутри самого файла, то проблем нет, включение-отключение производится через меню. Если же субтитры находятся в отдельном srt или sub файле, то есть два способа:


  • totem автоматически подгружает субтитры из файла с одноименным именем, но другим расширением, расположенным рядом с видео-файлов. Т.е. если у вас есть film.avi и film.srt в одном каталоге, то при открытии фильма будут загружены субтитры и управлением ими будет также доступно через меню, как если бы они были встроены в файл;

  • указать файл субтитров в командной строке. Формат таков:

    totem file:///path/to/video.avi#subtitle=video.srt