Kaffeine и DVB-T - потери и мусор при воспроизведении

Люди, помогите справиться с просмотром DVB-T телевидения. Уже совершенно исчерпал силы в поисках решения - по всяким вики и форумам прочтено много, а результатов мало.

Имеем: USB тюнер - ASUS My Cinema-U3000Hybrid воткнутый в USB2 разъём. Фирмваре загружена, ядром опознаётся корректно. (Сейчас не могу приводить точные логи, если надо всё приведу вечером, когда буду дома)
Видео - Nvidia gts450 с vdpau, процессор Athlon64 X2 3800+, арч обычный, 32-х разрядный, со штатным ядром, рабочий стол XFCE, всё остальное железо работает нормально, система обновляется регулярно, “тестинг” реп не использую,
В виндовс тюнер чувствует себя прекрасно, сила сигнала убойная, помех и “квадратиков” нет даже намёков.

В линуксе перепробовал массу разного софта и нигде не добился полной победы. Ближе всего вроде бы каффеин…
Каналы в каффеине сканируются нормально, и даже запускаются на воспроизведение, но с какими-то колоссальными разрывами, потерями в изображении и в звуке тоже. Всё дёргается, “квадратится”, щёлкает, воспроизведение то совсем останавливается, то, с горем пополам, снова продирается сквозь мусор помех.
Тем не менее “scan” и “w_scan” отрабатывают нормально, эфир сканируется, список каналов получается вроде бы правильный.
Как известно, kaffeine у нас через xine играет. Пробовал ради проверки через UI от xine открывать видео файлы прямо с диска. Всё замечательно играется (включая h264) без каких либо проблем. На одном из форумов проскакивало, что всё дело в VDPAU. Пробовал ставить из AUR xine-lib-vdpau-hg, но результата нет - в этом случае xine просто падает.
Откатывался на kaffeine-kde3 0.8.8-1 (библиотеки - qt3 и проч. зависимости установлены) - тот каналы сканирует удачно, но проигрывать их совсем отказывается - пишет что-то про невозможность тюнинга на частоту (интересно, как он тогда сканировал?)
Ещё пробовал “me-tv”. Оно играет несколько лучше, но разрывы есть всё равно. Но самое хреновое, что оно напрочь выбивает модуль ядра отвественный за тюнер, так, что ни форсированный rmmod, ни втыкание-вытыкание из usb не помогают. Только перезагрузка (может есть решение и получше? Не знаю…)
VLC тоже и туда же, и по тому же месту. Файл каналов channels.conf воспринимает нормально (там 8 открытых телепрограмм на частоте 546 МГц, и три радио), но просто тупо не воспроизводит.
Логи все могу привести сегодня вечером, но я их все читал и по ним работал ессно… искал в гугле, проверял, пробовал разное…
Просьба, если у кого реально есть опыт настройки всего этого хозяйства в линукс - подскажите ради Бога, куда копать!
А у нас dvb-t вообще есть? Или Вы в европах?
такие дела.
cucullus
А у нас dvb-t вообще есть? Или Вы в европах?
Я в Москве, забыл сказать, извиняюсь. Есть несколько вещателей, один открытый - “Первый мультиплекс” на частоте 546 МГц.
alexdsp
В виндовс тюнер чувствует себя прекрасно, сила сигнала убойная, помех и “квадратиков” нет даже намёков.
alexdsp
(там 8 открытых телепрограмм на частоте 546 МГц, и три радио)
kaffeine-kde3 0.8.8-1 неожиданно заработал, но, правда, потери такие же, как в последующей версии. Как две капли воды.
Нужно было всякий раз, перед каждым запуском kaffeine, передёргивать тюнер в usb. Тогда можно однократно запустить воспроизведение, но потери всё равно - жуть. Вот что примерно сыпется в лог в процессе воспроизведения:
[h264 @ 0xaf5ca6a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca2a0] no frame!
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca2a0] no frame!
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca2a0] no frame!
[h264 @ 0xaf5ca6a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] mmco: unref short failure
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] mmco: unref short failure
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] mmco: unref short failure
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca2a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca6a0] illegal short term buffer state detected
[h264 @ 0xaf5ca2a0] no frame!
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca2a0] no frame!
[h264 @ 0xaf5ca2a0] no frame!
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca2a0] no frame!
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca6a0] Reference 2 >= 2
[h264 @ 0xaf5ca6a0] error while decoding MB 5 25, bytestream (1342)
[h264 @ 0xaf5ca2a0] no frame!
[h264 @ 0xaf5ca6a0] no frame!
[h264 @ 0xaf5ca2a0] no frame!
[h264 @ 0xaf5ca6a0] left block unavailable for requested intra4x4 mode -1 at 0 28
[h264 @ 0xaf5ca6a0] error while decoding MB 0 28, bytestream (5842)
[h264 @ 0xaf5ca6a0] Reference 2 >= 2
[h264 @ 0xaf5ca6a0] error while decoding MB 40 24, bytestream (761)
[h264 @ 0xaf5ca6a0] mmco: unref short failure
[h264 @ 0xaf5ca6a0] mmco: unref short failure
[h264 @ 0xaf5ca2a0] no frame!

Закончилось всё повисанием каффеина:
kaffeine: Kaffeine: Fake key press
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)
Live ringbuffer full!! (174)


Вот ещё - попытка запустить через mplayer (с подсунутым ему channels.conf)
[[email protected] ~]$ mplayer dvb://"Россия 2(PTPC)"
MPlayer SVN-r34007-4.6.1 (C) 2000-2011 MPlayer Team
163 audio & 363 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing dvb://Россия 2(PTPC).
dvb_tune Freq: 546000000
TS file format detected.
VIDEO MPEG2(pid=302) AUDIO MPA(pid=303) NO SUBS (yet)!  PROGRAM N. 0
Видно, что почему-то пытается воспроизводить канал 0, но на кнопки смены каналов (h и k) не реагируем.

На всякий случай, вот мой channels.conf
Первый канал(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:102:103:1
Россия 1(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:202:203:2
Россия 2(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:302:303:3
НТВ(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:402:403:4
Пятый канал(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:502:503:5
Россия К(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:602:603:6
Россия 24(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:702:703:7
Карусель(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:802:803:8
Вести FM(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:902:9
Маяк(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:1002:10
Радио Россия(PTPC):546000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:1102:11

Вот “dmesg” после подключения тюнера:
[10148.364279] dvb-usb: Asus My Cinema-U3000Hybrid successfully deinitialized and disconnected.
[10153.812351] usb 1-5: new high speed USB device number 7 using ehci_hcd
[10153.937268] dvb-usb: found a 'Asus My Cinema-U3000Hybrid' in cold state, will try to load a firmware
[10153.938313] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
[10154.140764] dib0700: firmware started successfully.
[10154.642523] dvb-usb: found a 'Asus My Cinema-U3000Hybrid' in warm state.
[10154.642567] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[10154.642646] DVB: registering new adapter (Asus My Cinema-U3000Hybrid)
[10154.874904] DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
[10154.874962] xc2028 11-0061: creating new instance
[10154.874965] xc2028 11-0061: type set to XCeive xc2028/xc3028 tuner
[10154.874970] Registered IR keymap rc-dib0700-rc5
[10154.875055] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:0b.1/usb1/1-5/rc/rc4/input13
[10154.875086] rc4: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:0b.1/usb1/1-5/rc/rc4
[10154.875264] dvb-usb: schedule remote query interval to 50 msecs.
[10154.875266] dvb-usb: Asus My Cinema-U3000Hybrid successfully initialized and connected.
Повозился с параметрами модулей, связанных с dvb-usb.
Запретил Lirc polling и попробовал увеличить размеры внутренних буферов модуля dvb-usb-dib0700. Не помогает, даже ухудшает ситуацию. При количестве буферов 128 (дефолтное было 21) разрывы становятся такими, что вообще ни одного кадра видео не приходит, хотя звук изредка “прохрюкивает”. При уменьшении количества вниз ситуация тоже портится. Видимо 21 - оптимальное и неслучайное число. Хотя бы хорошо, что есть какие-то изменения. Отрицательный результат - тоже результат.

Поигрался немного с “me-tv”
Странно… несмотря на то, что оно выводит, как и каффеин, через xine-lib, разрывов меньше. В каком-то смысле даже смотреть можно, хотя конечно же нельзя…
Ещё, этот me-tv не останавливает корректно dvb при выходе из него - просто ставит раком модули ядра. Завешивает их так, что не выгрузить, не перезагрузить. Только reboot.

Случаи “рассыпания” картинки при декодировании H264 встречал на разных форумах, но там дело касалось HDTV и всё сводилось к тому, что просто не справлялся процессор, а у меня его загрузка ничтожна - не могу на это грешить…
Хотя вот… VDPAU на xine таки не работает… хотя должно.

P.S. Чорт чорт чорт… кажется я понял в чём дело…
Приду домой - проверю, отпишусь. Пока ничего писать не буду, чтобы не сглазить :)

PPS
Не помогло, увы… подумал, что не включен LNA
добавление в /etc/modprobe.d/modprobe.conf
options dvb_usb_dib0700 force_lna_activation=1
не помогло…
 
Зарегистрироваться или войдите чтобы оставить сообщение.