Отправляет email-рассылки с помощью сервиса Sendsay

Видео в консоли

Здравствуйте!
Недавно поставил на ядро патч vesafb-tng, теперь режим в консоли -
1024x768-24@85, т.е. стало возможно находиться в ней продолжительное время.
Поэтому возникло желание попробовать смотреть видео в консоли, но пока не
очень получается...
Итак, имеем MPlayer-1.0pre5 и Xine-lib-1rc5 (в нем есть программа fbxine),
оба собраны из исходников с официальных сайтов. Дистрибутив - Fedora Core 2,

ядро 2.6.7 с kernel.org, SDL-1.2.7, DirectFB-0.9.20, драйверы nVidia 6111.
Видеокарта noname GeForce 2MX400.
mplayer, доступные консольные режимы:
fbdev,fbdev2,directfb,cvidix,vesa,sdl,aa(как оказалось, в реальности вывод
через aa выглядит далеко не так хорошо, как на скриншотах в Интернете :), так

что я его не рассматриваю).

Пробую от пользователя:
fbdev: все отлично (85 Гц), но не на полный экран, -fs и -zoom пробовал;
fbdev2: то же, что и fbdev, но внизу экрана строка с какими-то данными
(наверное, о воспроизведении);
directfb: все виснет насмерть (почему!?, preemtible kernel включено, это из-за

нее?), помогает только комбинация Ctrl-Alt-Reset :) ;
cvidix: не идет (не может загрузить драйвер, но это понятно - нет прав);
vesa: не идет;
sdl: не идет.

То же от root'а:
fbdev и fbdev2: то же самое, что и от пользователя;
directfb: все нормально, но 60 Гц;
cvidix: 85 Гц, нет изображения (звук идет, внизу экрана бегут данные о кадрах

в секунду и т.п.;
vesa: 60 Гц, при выходе из mplayer - черный экран, комп на команды реагирует,

после команды (не кнопки!) reset на этом черном экране появляются зеленые
квадратики, в итоге помогает
только перезагрузка;
sdl: в общем, все нормально, но 59 Гц.

fbxine, доступные консольные режимы: DirectFB, sdl, vidixfb, fb, aa.
DirectFB: пишет "Video port failed" и все (и от root'а тоже), опция -d (debug)

ничего не дает;
vidixfb: то же самое (от root'а);
fb: ничего (молча завершается, на консоль ничего не выдает, в т.ч. от
root'а);
sdl: "Video port failed" (см. выше).

Пересобрал из исходников sdl, directfb, затем xin-lib и mplayer - не помогло.
Когда не было патча vesafb-tng (это было на ядре 2.6.5 от Fedora Core 2)
отлично работал вывод через sdl в fbxine и vesa в mplayer (не считая 60 Гц,
конечно).
Под X'ами все нормально (в xine - через xv, в mplayer - через xvidix).

Отсюда вопрос: что нужно сделать, чтоб показывало при 85 Гц, на весь экран,
с
нормальными пропорциями и чтоб можно было нормально вернуться обратно в
консоль.
Вроде, вывод через fbdev в mplayer удовлетворяет, только бы растянуть его на

весь экран...

Спасибо за ответы-советы.

Ответить   9A4172 Fri, 3 Dec 2004 23:47:12 +0000 (#274635)

 

Ответы:

В сообщении от 1102110432 секунд после начала Эпохи Unix Вы написали:

А можно поподробнее? Для чего этот патч? Он только позволяет
регулировать частоту вертикальной развертки? Или позволяет устанавливать
произвольные видеорежимы на лету?

$ mplayer -vo fbdev -zoom -xy 1024 file.avi

Но про аппаратное масштабирование можно забыть.

Ответить   Konstantin Korikov Sat, 4 Dec 2004 01:50:37 +0200 (#274748)

 

В сообщении от Friday 3 December 2004 23:50 Konstantin Korikov написал(a):

Этот патч позволяет задействовать режим VESA 3.0, который поддерживают
современные видеокарты (обычный vesafb - только 2.0, т.е. 60 Гц). На ходу
менять нельзя, видеорежим передается ядру в параметрах при загрузке, у меня,

например, вот такое в lilo.conf:
append="video=vesafb:ypan,1024x768-32@85"
Домашняя страница: http://dev.gentoo.org/~spock/projects/vesafb-tng/ , там
можно скачать патч для своего ядра (только для 2.6.5 или выше, но где-то есть

и для более ранних, в т.ч. для 2.4).
Где-то на http://linuxforum.ru есть обсуждение этого патча.

Ура, работает! Спасибо! :)

А как это, "аппаратное"?

Ответить   9A4172 Tue, 7 Dec 2004 01:27:42 +0000 (#276381)

 

В сообщении от 1102375662 секунд после начала Эпохи Unix Вы написали:

Когда масштабированием занимается железо, т.е. видеокарта. В иксах с
методом вывода xv у меня именно так и происходит. А если я сделаю

$ mplayer -vo fbdev -zoom -xy 800 file.avi

то получаю слайд-шоу, приблизительно 1 кадр в секунду (машинка не из
новых), естественно при этом все ресурсы CPU пожирает mplayer. А в иксах
нормально, около 24 fps, при том же разрешении.

Еще хороший вариант - использовать метод вывода vesa, тогда тайминги
видеорежима подбираются под размер (ширину и высоту) видеопотока, при
этом масштабировать ничего не нужно, и следовательно получаем больше
fps. Но к сожалению mplayer выставляет неправильную (завышенную для
моего монитора) частоту вертикальной развертки для режимов меньше
640x480, даже когда я явно задаю диапазоны частот монитора опциями
-monitor-hfreq и -monitor-vfreq (попробуйте их, возможно удастся
получить частоту выше чем 60 Гц для метода vesa).

Ответить   Konstantin Korikov Tue, 7 Dec 2004 01:43:18 +0200 (#276432)

 

В сообщении от 1102376598 секунд после начала Эпохи Unix Вы написали:

А 1.0pre5 вообще отказывается работать с -vo vesa :(

Ответить   Konstantin Korikov Tue, 7 Dec 2004 04:53:00 +0200 (#276437)

 

В сообщении от Monday 6 December 2004 23:43 Konstantin Korikov написал(a):

А я так понял, что после -xy идет коэффициент масштабирования - почему 800?
У
меня на обычных фильмах достаточно -xy 1.5 или около того, а если задать
достаточно большое число (например, 4) - все виснет намертво :( Ничего не
понимаю...

Действительно, загрузка процессора высокая (хотя смотреть можно -
Duron 900), так что посмотреть фильм, пока что-нибудь компилируется не
получится :(

Надо попробовать... И что-то я не понимаю... А разве при выводе через vesa
менятся частота развертки?
Или vesafb (framebuffer) и вывод через vesa в mplayer это разные вещи?

Я думал, это у меня какие-то заморочки... А какой pre порекомендуете? Что-то

у меня MPlayer-1.0 вообще плохо работает - сильно грузит процессор, глючит,
порой падает, особенно если сравнить с MPlayer-0.9 из дистрибутива ASPLinux
9. Собирал с оптимизацией и без - одинаково.
Xine работает просто отлично, но только в X'ах, fbxine не работает :(

Ответить   9A4172 Wed, 8 Dec 2004 22:02:48 +0000 (#277045)

 

Доброго времени суток.

On Wed, 8 Dec 2004 22:02:48 +0000
9A4172 <whirlewi***@f*****.ru> wrote:

Так вы сами и ответили... Если нестабильная версия работает нестабильно - нужно
вернуться к последней стабильной версии (0.92 или 0.93 - не помню).

Ответить   Thu, 9 Dec 2004 01:08:26 +0200 (#277476)

 

В сообщении от 1102536168 секунд после начала Эпохи Unix Вы написали:

Если значение больше 8, то это ширина, а высота подбирается с
сохранением пропорции.

Разные. FrameBuffer - интерфейс, предоставляемый ядром. А при выводе
через vesa Mplayer взаимодействует с железом напрямую в соответствии со
стандартом VESA VBE 2.0 (вот почему нужны привилегии суперпользователя).
Чувствую что этот стандарт описывает не только способы установки
стандартных видеорежимов, но и произвольных, основанных на таймингах.
Вот Mplayer(vesa) и выставляет произвольный видеорежим при
воспроизведении видеопотока. А произвольный видеорежим означает и
произвольные частоты вертикальной и горизонтальной развертки.

Хотя на счет установки произвольных видеорежимов посредством VESA я могу
ошибаться. Возможно что Mplayer(vesa) выставляет стандартные
видеорежимы, которые просто не пережевывает мой монитор :). Но для чего
тогда -monitor-{h,v}freq ?... Которые fbdev and vesa only.

У меня 1.0pre3try2 работал с -vo vesa нормально.

У меня 1.0pre3try2 работал, и 1.0pre5 работает нормально, за исключением
что 1.0pre5 отказывается работать с -vo vesa. А так, больше глюков не
припоминаю.

Ответить   Konstantin Korikov Thu, 9 Dec 2004 01:51:38 +0200 (#277491)

 

В сообщении от Wednesday 8 December 2004 23:51 Konstantin Korikov написал(a):

Т.е., он (mplayer) все равно будет менять частоту развертки, даже невзирая на

85 Гц,
потом и кровью полученные с помощью vesafb-tng?
Что-ж, подожду, пожалуй, pre6 (или что там у них будет) :)

Ответить   9A4172 Fri, 10 Dec 2004 17:13:27 +0000 (#278427)

 

В сообщении от 1102691607 секунд после начала Эпохи Unix Вы написали:

Да (если выводить через -vo vesa).

Ответить   Konstantin Korikov Sat, 11 Dec 2004 22:19:44 +0200 (#279097)

 

В сообщении от Saturday 11 December 2004 20:19 Konstantin Korikov написал(a):

Н-да... :(
А насчет fbxine кто-нибудь может подсказать? Неужели им никто не пользуется?

Ответить   9A4172 Mon, 13 Dec 2004 00:01:06 +0000 (#279605)