LINUX.ORG.RU

Сообщения poganoe_lamerishe

 

Откуда берется задержка при стриминге видео?

Ситуация такая: - Есть комп с линуксом, на нем запущен gstreamer (v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=30/1 ! jpegenc quality=85 ! rtpjpegpay ! udpsink host=x.x.x.x port=xxxx). - Есть комп-приемник с виндой, на нем запущен vlc c опцией :network-caching=0. - Оба компа подключены к одной wifi точке доступа и находятся на расстоянии нескольких метров от нее.

Проблема: через некоторое время появляется задержка в видео и через некоторое время достигает совершенно неприемлемых ~20 секунд. На первый взгляд, задержка появляется совершенно рандомно.

Рабочее предположение - пропускной способности канала в какой-то момент перестает хватать и видео начинает буферизоваться где-то.

Вопрос: как от этой задержки избавиться?

Что я пробовал: ставил границы в /proc/sys/net/ipv4/udp_mem поменьше (особой разницы не увидел), добавлял в пайплайн sync=false (безрезультатно)

 ,

poganoe_lamerishe ()

Как отлаживать segfault/утечки памяти?

Ситуация такова: я впервые в жизни пытаюсь что-то писать под Линукс и очень смутно представляю, что вообще происходит. GObject'ы впервые вижу.

Задача - получать видео с промышленной GigE камеры и прокидывать его в gstreamer. Нашел библиотеку для камеры (aravis), полистал код демонстрационной программки aravis viewer, выкинул весь UI, заменил вызов gtk_main на g_main_loop_run. Запустил, работает. Отлично.

Дальше я попробовал видео остановить и запустить еще раз. Прибил петлю через g_main_loop_quit, скопировал деиницализацию из примера. Окей. Но вот если видео запустить еще раз - segmentation fault в malloc_consolidate. При попытке вызвать любую функцию из aravis.

И вот тут я просто в тупике. Valgrind сказал, что есть утечка памяти, но что делать с этой информацией? Где течет - непонятно. mtrace сгенерил пятиметровый файл, в котором просто каждая аллокация-деаллокация отмечена, без инфы об утечках. Демонстрационная прога деинициализацию делает только при закрытии окна, то есть может и в ней тоже память течет, просто это не заметно.

Функции из aravis возвращают разнообразные объекты, которые явно выделяются динамически, только нигде я не нашел никаких упоминаний, как их потом надо освобождать и в каком порядке.

gdb info threads показывает, что после выхода из петли и остановки pipeline gstreamer'а все еще существуют два треда, что, как мне кажется, не нормально.

В принципе, я уже подобрал костыль, но мне он не нравится. И я хочу понять, как вообще такого рода ошибки отлавливать.

«Демонстрационный» код целиком http://paste.org.ru/?uhmxhq на всякий случай привожу.

 , , ,

poganoe_lamerishe ()

Сдох раздел

И в третий раз вопрошаю я!
Один из разделов на винте неожиданно перестал монтироваться. Винда предлагает его отформатировать, линь говорит:
mount: неверный тип ФС, неверная опция, неверный суперблок
на /dev/sdc1, отсутствует кодовая страница или другая ошибка
В некоторых случаях полезная информация может быть
найдена в syslog - попробуйте dmesg | tail или что-то
в этом роде

Раздел был ntfs. Все остальные разделы с этого винта живут и здравствуют.
Скачал mhdd, сделал scan - ошибок нет.

Сделал gpart -c /dev/sdc, он ответил следующее:
Begin scan...
Possible extended partition at offset(19171mb)
Possible partition(Linux ext2), size(21422mb), offset(19171mb)
Possible partition(DOS FAT), size(25289mb), offset(42649mb)
End scan.

Checking partitions...
Partition(Linux ext2 filesystem): logical
Partition(DOS or Windows 95 with 32 bit FAT, LBA): invalid logical
Ok.

Guessed primary partition table:
Primary partition(1)
type: 015(0x0F)(Extended DOS, LBA)
size: 23477mb #s(48082545) s(39262860-87345404)
chs: (1023/254/63)-(1023/254/63)d (2444/0/1)-(5436/254/63)r

Primary partition(2)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(3)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(4)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
----
А когда винт разбивался партишн маджиком (несколько лет назад), на нем было http://ipicture.ru/uploads/080501/RFmd8ybV7c.jpg
То бишь, так должно быть.

Эти две таблицы разделов я чото никак связать не могу.

Вопрос - как этот самый раздел восстановить?

>>>

poganoe_lamerishe ()

Что с моим разделом?

Один из разделов на винте неожиданно перестал монтироваться. Винда предлагает его отформатировать, линь говорит:
mount: неверный тип ФС, неверная опция, неверный суперблок
на /dev/sdc1, отсутствует кодовая страница или другая ошибка
В некоторых случаях полезная информация может быть
найдена в syslog - попробуйте dmesg | tail или что-то
в этом роде

Раздел был ntfs. Все остальные разделы с этого винта живут и здравствуют.
Скачал mhdd, сделал scan - ошибок нет.

Сделал gpart -c /dev/sdc, он ответил следующее:
Begin scan...
Possible extended partition at offset(19171mb)
Possible partition(Linux ext2), size(21422mb), offset(19171mb)
Possible partition(DOS FAT), size(25289mb), offset(42649mb)
End scan.

Checking partitions...
Partition(Linux ext2 filesystem): logical
Partition(DOS or Windows 95 with 32 bit FAT, LBA): invalid logical
Ok.

Guessed primary partition table:
Primary partition(1)
type: 015(0x0F)(Extended DOS, LBA)
size: 23477mb #s(48082545) s(39262860-87345404)
chs: (1023/254/63)-(1023/254/63)d (2444/0/1)-(5436/254/63)r

Primary partition(2)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(3)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(4)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
----
А когда винт разбивался партишн маджиком (несколько лет назад), на нем было http://ipicture.ru/uploads/080501/RFmd8ybV7c.jpg
То бишь, так должно быть.

Эти две таблицы разделов я чото никак связать не могу.

Вопрос - как этот самый раздел восстановить?

>>>

poganoe_lamerishe ()

Экран отключается (хфсе)

Собственно, сабж. Вырубается где-то через пять минут бездействия. В xorc.conf уже есть опции SuspendTime и т.д. Вопрос - как это убрать?!

>>>

poganoe_lamerishe ()

Не монтируется NTFS раздел

Фигня какая-то.
Три винта, на них штук пять нтфс-разделов. Все маунтятся с одинаковыми опциями.
Но один почему-то не маунтится (и с нтфс-3г и без него). Маунт пишет следующее:
mount -a
mount: неверный тип ФС, неверная опция, неверный суперблок
на /dev/sdc1, отсутствует кодовая страница или другая ошибка
В некоторых случаях полезная информация может быть
найдена в syslog - попробуйте dmesg | tail или что-то
в этом роде

Соответственно dmesg | tail:
NTFS-fs warning (device sdc1): is_boot_sector_ntfs(): Invalid boot sector checksum.
NTFS-fs error (device sdc1): read_ntfs_boot_sector(): Primary boot sector is invalid.
NTFS-fs error (device sdc1): read_ntfs_boot_sector(): Mount option errors=recover not used. Aborting without trying to recover.
NTFS-fs error (device sdc1): ntfs_fill_super(): Not an NTFS volume.
---
Линь переставил буквально на днях, фстаб взял старый (то бишь, раньше все работало), в винде разделы не трогал вроде бы..

>>>

poganoe_lamerishe ()

Глюки с mplayer

1) После запуска - выключения мплеера, весь звук в системе становится каким-то глухим, будто колонки древние и шипят. Запуск alsaconf все исправляет, но это как-то поднадоело уже 2) Криво отображаются субтитры. Причем даже английские. Через строчку или через слово буквы отображаются как _____. Сабы нормальные, в винде все видно.

>>>

poganoe_lamerishe ()

Проблемы с частотой обновления экрана

В общем проблемы совершенно жуткие.
Цель: 1024х768 100 гц. И чтобы экран был растянут "как в винде" - поэтому поигратся кнопками монитора не катит, в винде придется играться обратно.
--
Если юзать драйвер nv + добытый тяжелым потом моделайн " "1024x768_100" 113.31 1024 1112 1224 1392 768 769 772 814 -hsync +vsync" - то все работает, но графика идет просто ужасающе медленно.
--
Если юзать дрова от нвидиа, то путем большого количества секса было выяснено, что они все таки способны хавать мои моделайны, если включить опцию Option "ModeValidation" "NoEdidModes,NoDFPNativeResolutionCheck, NoPredefinedModes, NoMaxSizeCheck, NoHorizSyncCheck, NoVertRefreshCheck, NoWidthAlignmentCheck" - иначе они как-то очень поумному их проверяли на валидность и неизменно отвергали.
Но вышеуказаный моделайн, прекрасно работающий с нв, у нвидиевских дров вызывает смерть. Для них катит другой моделайн - однако на экране остаются полоски незаполненные, которые заполнить не удается, изменение соответствующих значений в моделайне вызывают мучительную смерть.
---
Т.о. варианты: юзать нв с нормальны заполнением и тормозами, или нвидию без тормозов, но не заполненым до конца экраном.
Вопрос: как бы мне вот так оп-оп чтобы нвидией экран заполнить? Ну или подскажите еще какой-нибудь метод, другой драйвер, бубен, жертвоприношение etc. чтобы все было как надо?

>>>

poganoe_lamerishe ()

Линукс на динозавре.

Имеется довольно-таки динозаврический комп: пень 2, 128 метров оперативы, видюха Трайдент СуперВГА(2 метра видеопамяти, максимум 256 цветов и 800х600). Вопрос: какой бы линупс на это дело поставить? В отдаленном светлом будущем предполагается использовать это ржавое ведро в качестве фтпшника в локалке.

ЗЫ Да, да я понимаю что слаку - а еще варианты есть?

>>>

poganoe_lamerishe ()

Арч на втором пне

Пытаюсь поставить арч на второй пень. После загрузки образа появляется надпись Ready и комп уходит в перезагрузку. Опции типо acpi=off, noapic, nolapic - не помогают. Чо делать?

>>>

poganoe_lamerishe ()

Многокнопошная мыш в линухе

Вот купил я себе такую залихвацкую восьмикнопошную гениус ерго 525 Как бы заставить линух 5 лишних кнопок ощутить?

(для виндеы на нее прилагались совершенно ужасающие дрова из 10 отдельных экзешников =) не думает гениус о народе, ой не думает)

>>>

poganoe_lamerishe ()

Красивости для кед

А какие вообще существуют красивости и улучшалки для кедов? А то кроме карамбы и кулдока я чот ничего не нашел толком..

>>>

poganoe_lamerishe ()

Криво пересобрал ядро

Решил я значит, ядро пересобрать. /boot копирнул - типо бекап сделал, на всякий случай. Ядро, той же версии, что и стояло. Собрал, поставил. Загрузилось даже! Но какие-то ошибки все-таки выползали. Поэтому я /boot на место засунул. И типо гружусь в старое ядро - а оно мне kernel panic выдает. :() И чо теперь делать?

poganoe_lamerishe ()

Не работает xvidtune

При попытке протестить или сохранить любую конфигурацию (даже исходную) - пишет "You have requester a mode-line. That is not possible, or not supported on your hardware" В консоли при этом возникает: Warning: XtRemoveGrab asked to remove a widget not on the list

Все делается из под рута. Как бороться?

poganoe_lamerishe ()

Установка KDE 3.5

При установке либсов ругается следующим образом: make[4]: Entering directory `/home/noman/KDE 3.5.0/kdelibs-3.5.0/dcop' /bin/sh ../libtool --silent --tag=CXX --mode=link g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -o dcopserver.la -rpath /usr/local/kde/lib/kde3 -module -avoid-version -L/usr/local/kde/lib -L/usr/lib/qt3//lib -L/usr/X11R6/lib dcopserver_dummy.lo libkdeinit_dcopserver.la ../libtool: line 1: cd: 3.5.0/kdelibs-3.5.0/dcop: No such file or directory libtool: link: warning: cannot determine absolute directory name of `3.5.0/kdelibs-3.5.0/dcop' grep: 3.5.0/kdelibs-3.5.0/dcop/libDCOP.la: No such file or directory /bin/sed: ошибка чтения 3.5.0/kdelibs-3.5.0/dcop/libDCOP.la: No such file or directory libtool: link: `3.5.0/kdelibs-3.5.0/dcop/libDCOP.la' is not a valid libtool archive make[4]: *** [dcopserver.la] Ошибка 1 make[4]: Leaving directory `/home/noman/KDE 3.5.0/kdelibs-3.5.0/dcop' make[3]: *** [all-recursive] Ошибка 1 make[3]: Leaving directory `/home/noman/KDE 3.5.0/kdelibs-3.5.0/dcop' make[2]: *** [all] Ошибка 2 make[2]: Leaving directory `/home/noman/KDE 3.5.0/kdelibs-3.5.0/dcop' make[1]: *** [all-recursive] Ошибка 1 make[1]: Leaving directory `/home/noman/KDE 3.5.0/kdelibs-3.5.0' make: *** [all] Ошибка 2

Что делать?

poganoe_lamerishe ()

Сдвиг экрана

Скомпилил два разных ядра - 2.6.5 и 2.6.16.16. Видеодрайвер один и тот же, настройки Х11 не менял, однако в 2.6.16 изображение сползает вправо %)

poganoe_lamerishe ()

Ice-wmные темы в КДЕ

Собственно возможно ли надеть на КДЕ Ice-wmные темы? У меня как-то вышло, только как.........

poganoe_lamerishe ()

Framebuffer

Вот уже вторую неделю пытаюсь настроить framebuffer =) мне нужно (НУЖНО!) чтобы в консоли было 1024x768 на 100 герц. Через vesafb (путем параметра vga=1304 в lilo.conf) удалось сделать 1024x768 и гдето 75 герц. fbset не пашет. Ругается на cannot allocate memory или воопще ничего не говорит. Буфер вроде бы для моей видяхи (Geforce fx5200) - rivafb - вопще не пашет... ШТО ДЕЛАТЬ??

poganoe_lamerishe ()

framebuffer и видеодрова от nvidia

Возможно этот вопрос уже мелькал здесь - не наю.. но! трабл вот в чем - поставил я себе в линухе нвидиевские дрова, и после выхода из иксов обратно в консоль с изображением ШТОТО не впорядке =) что делать?

poganoe_lamerishe ()

RSS подписка на новые темы