Заметка юзера Gol

DVB-T камера Hides DC-103H (DC-103H-BB)

железки видео

Полный размер

Фотка не моя, взята отсюда. Там ещё много с разных ракурсов.
На оф сайте страница битая, так что доступна лишь в кэше гугла.

Она же на Ebay - ссылка.

Итак. У нас-то все возможности железки ограничены каналом связи - вайфай хорош ценой и распространённостью, но плох по многим другим факторам. Преодолевание препятствий фиговое, дальнобойность достигается различными ухищрениями и дополнительным оборудованием, которое не всегда помогает. Потери пакетов при передаче видео приводят к увеличению задержки, пропаданию кадров, различным искажениям картинки и всякой прочей порнографии. В общем, основная проблема при дистанционном управлении всякими пепелацами - канал связи.

Вайфай, он же IEEE 802.11, в основном использует модуляцию OFDM, пардон за тавтологию. Я не шибко спец в радиоволнах, модуляциях и прочем радиошаманстве, так что пишу как сам себе это представляю. OFDM хороша, но не любит помехи и всяческие отражения сигнала. Для устранения этой неприятности придумали COFDM. Собссно, та же OFDM, но с коррекцией ошибок. Вот и получается что COFDM круче в плане помехоусточивости, и, соответственно, дальнобойности.

Когда я впервые про это услышал то полез искать передатчики, которые умеют эту самую COFDM использовать. Оказалось что самый обычный DVB-T как раз COFDM и использует. Кто не знает - DVB-T это стандарт цифрового телевидения. В Москве куча каналов по DVB-T транслируется и практически все современные телики умеют его принимать. У меня вот каналов 40 поймалось на антенну в виде куска провода, воткнутого в антенное гнездо :-)

Достать COFDM передатчик долгое время не получалось, ценники зашкаливали. Но, хвала кетайцам, оборудование с COFDM стало постепенно дешеветь. Вот мне как раз и притащили на изучение такой передатчик, да ещё и в комплекте с камерой. См. заглавную фотку.

"DVB-T камера" представляет сборка из трёх плат: плата сенсора, плата кодировщика и плата модулятора.

Плата сенсора эт собссно где непосредственно модуль камеры и объектив смонтированы. Сенсор хороший - Sony IMX122. Как раз на этот сенсор я давно уж облизываюсь, хочется подключить его к Виртурилке, тем более что он полностью подходит - параллельный интерфейс, все нужные линии есть. Бери да подключай. Но блин в продаже готовый модуль камеры найти никак не удавалось :-( Короче, эта плата подключается шлейфом к плате кодировщика и скармливает ему картинку с сенсора.

Плата кодировщика - плата на базе процессора HiSilicon HI3516. В конце приведу лог загрузки, на всяк случай. Грузится секунд 30 примерно. Подключается к плате модулятора и отправляет ему ужатый в H264 поток. Интерфейс подключения определить не успел (эта камера у меня недолго пробыла). Подозреваю что USB, но это надо будет снова взять камеру и поковырять подотошнее. Вообще тут с интерфейсами не ахти - только UART есть для настройки специальной утилитой.
UPD> да, именно USB, модулятор на базе it950x

Плата модулятора - собссно, передатчик. Выдаёт DVB-T сигнал на антенну. Дефолтные параметры эфирные указаны на наклейке на корпусе камеры, канал 68, частота 858 МГц, ширина канала 8 МГц.

Питается всё эта этажерка от 12 Вольт, кушает ровно 310 мА. Греется конкретно - пальцами держать даже за боковые распорки больно. Мой "лазерный" градусник показал температуру 60 градусов на некоторых чипах.

Итак, подключаем питание, ждём пока загрузится. Для приёма видео берём у дочи телик, делаем сканирование каналов и, вуаля, видим картинку с камеры.

Продолжение...


Полный размер


По дефолту камера была настроена на разрешение 1376x768@30 с битрейтом 4 Мб/с. Сначала всё было отлично - задержка была около 250 мс, лагов почти не было. Но стоило пошевелить камеру, т.е. нестатичную картинку сделать - сразу пошли дропы кадров и искажения картинки. Потом стало всё нормально, как бы камеру не крутил. Потом снова стало всё плохо. Почему - непонятно, антенна в одном и том же положении находилась. Да, у телика антенна хреновая (кусок провода в антенном разъёме), но и расстояние совсем маленькое. Стоило отнести камеру в соседнюю комнату - картинка вообще пропала и появилась лишь пару раз, стопкадрами с кучей искажений.

Сразу говорю - телик в игровом режиме, так что всё шустро показывает, без задержки на улучшайзинги. Телик 32 дюйма, родное разрешение 1920x1080.

Подключил UART к компу, запустил родную софтину для настройки. Выставил разрешение 1920x1080. Выглядит софтина примерно вот так:

Полный размер


Параметров куча, но времени особо с ними играться не было, так что всё по дефолту. Только разрешение поменял и битрейт прибавил. Ребутнул камеру, дождался появления картинки. Разница по качеству картинки на глаз не заметна, при 1280x720 выглядело не хуже. Но вот задержка при фул хд заметно больше стала, около секунды.

Но принимать видео на телик неинтересно, нужен полноценный видеозахват. Для этих целей из кучи барахла откопал свисток USB DVB-T RTL2832U+R820T, который летом брал для развлечения с SDR. Вот такой. Долго мучался с поиском драйверов под винду, не нашёл. В итоге воткнул в линуховый комп - убунта сразу всё подцепила. А дальше уж в дело вступили VLC и GStreamer, которые отлично показали видео на нужной частоте.

Свисток принимает

Полный размер


Гстример показывает

Полный размер


Кстати, вот полезные цепочки гстримера для DVB-T захвата:

Просто показ на экране с инфой о fps
[code]gst-launch-1.0 dvbsrc modulation="QAM 64" trans-mode=8k bandwidth=8 frequency=858000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4 hierarchy=0 ! tsdemux name=demux ! h264parse ! avdec_h264 ! fpsdisplaysink sync=false[/code]

Рестриминг в RTMP
[code]gst-launch-1.0 dvbsrc modulation="QAM 64" trans-mode=8k bandwidth=8 frequency=858000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4 hierarchy=0 ! tsdemux name=demux ! queue max-size-buffers=0 max-size-time=0 ! h264parse ! flvmux streamable=true name=mux ! rtmpsink location="rtmp://bla-bla-bla" sync=false[/code]

Запись в FLV файлик
[code]gst-launch-1.0 dvbsrc modulation="QAM 64" trans-mode=8k bandwidth=8 frequency=858000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4 hierarchy=0 ! tsdemux name=demux ! queue max-size-buffers=0 max-size-time=0 ! h264parse ! flvmux streamable=true name=mux ! filesink location="rec.flv"[/code]

VLC показывает

Полный размер

Полный размер



Как раньше на лабах писали... В результате проделанной работы выяснили что:
1. Сенсор IMX122 - клёвый. Но оптику надо с углом поширше.
2. COFDM работает.
3. COFDM работает плохо при дефолтных настройках у меня в квартире с куском провода вместо приёмной антенны. Хотя и на USB свистке с внешней антенной приём тоже не шибко лучше был. Видимо, надо ковыряться с настройками, возможно повышать частоту, выходить за гигагерц. Соотвественно, мутить подходящие для выбранной частоты антенны, трахаться с КСВ-метром.
4. Вроде всё что успел.

Теперь хочется прикупить себе такую камерку, выдрать оттуда сенсор и модулятор и прихреначить к Виртурилке :-)

Ну и чуток фоток:

Полный размер

Полный размер

Полный размер

Полный размер



А тут будет видео, когда его смонтирую.

Запись эфира гстримером с USB свистка (видео с DC-103H-BB)


Съёмка другой камерой, вид со стороны



P.S. Лог загрузки камеры (выдаёт на UART)

[code]U-Boot 2010.06 (Sep 12 2014 - 13:39:43)

DRAM: 256 MiB
NAND: Special Nand id table Version 1.35
Nand ID: 0xAD 0xD5 0x94 0x9A 0x74 0x42 0xAD 0xD5
Nand(Hardware): Block:2MB Page:8KB Chip:2GB*1 OOB:368B ECC:24bits/1K
2048 MiB
Check spi flash controller v350... Found
Can't find a valid spi flash chip.
Can't find a valid spi flash chip.
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 1  0
USB: scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found

** Invalid boot device **

NAND read: device 0 offset 0x400000, size 0xf00000
15728640 bytes read: OK
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Linux-3.0.8
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3013000 Bytes = 2.9 MiB
Load Address: 80008000
Entry Point: 80008000
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 3.0.8 (chic@chic) (gcc version 4.4.1 (Hisilicon_v100(gcc4.4-290+uclibc_0.9.32.1+eabi+linuxpthread)) ) #8 Thu Aug 15 09:32:38 CST 2013
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: hi3518
Memory policy: ECC disabled, Data cache writeback
AXI bus clock 200000000.
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: mem=128M console=ttyAMA0,115200 root=/dev/mtdblock3 rootfstype=yaffs2 mtdparts=hinand:2M(uboot),2M(bootenv),16M(boot),32M(rootfs),200M(data)
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 124196k/124196k available, 6876k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xc8800000 - 0xfe000000 ( 856 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc002a000 ( 136 kB)
.text : 0xc002a000 - 0xc0545000 (5228 kB)
.data : 0xc0546000 - 0xc0576ac0 ( 195 kB)
.bss : 0xc0576ae4 - 0xc0594460 ( 119 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:32 nr_irqs:32 32
sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 42949ms
Console: colour dummy device 80x30
Calibrating delay loop... 218.72 BogoMIPS (lpj=1093632)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Serial: AMBA PL011 UART driver
uart:0: ttyAMA0 at MMIO 0x20080000 (irq = 5) is a PL011 rev2
console [ttyAMA0] enabled
uart:1: ttyAMA1 at MMIO 0x20090000 (irq = 5) is a PL011 rev2
uart:2: ttyAMA2 at MMIO 0x200a0000 (irq = 25) is a PL011 rev2
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource timer1
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.16)
msgmni has been set to 242
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered (default)
io scheduler cfq registered
OGA_SDA_GPIO success
OGA_SCL_GPIO success
data[0] is 11 and data[1] is 0
uc_return = 0x00
v_30
Driver init successful!
brd: module loaded
loop: module loaded
Spi id table Version 1.22
Special nand id table Version 1.35
Hisilicon Nand Flash Controller V301 Device Driver, Version 1.10
Nand ID: 0xAD 0xD5 0x94 0x9A 0x74 0x42 0xAD 0xD5
Nand(Hardware): Block:2MB Page:8KB Chip:2GB OOB:368B ECC:24bits/1K
NAND device: Manufacturer ID: 0xad, Chip ID: 0xd5 (Hynix H27UAG8T2B)
5 cmdlinepart partitions found on MTD device hinand
Creating 5 MTD partitions on "hinand":
0x000000000000-0x000000200000 : "uboot"
0x000000200000-0x000000400000 : "bootenv"
0x000000400000-0x000001400000 : "boot"
0x000001400000-0x000003400000 : "rootfs"
0x000003400000-0x00000fc00000 : "data"
Fixed MDIO Bus: probed
himii: probed
usbcore: registered new interface driver asix
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
usbcore: registered new interface driver rt2500usb
usbcore: registered new interface driver rt73usb
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
hiusb-ehci hiusb-ehci.0: HIUSB EHCI
hiusb-ehci hiusb-ehci.0: new USB bus registered, assigned bus number 1
hiusb-ehci hiusb-ehci.0: irq 15, io mem 0x100b0000
hiusb-ehci hiusb-ehci.0: USB 0.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
hiusb-ohci hiusb-ohci.0: HIUSB OHCI
hiusb-ohci hiusb-ohci.0: new USB bus registered, assigned bus number 2
hiusb-ohci hiusb-ohci.0: irq 16, io mem 0x100a0000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver cdc_wdm
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-alauda
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-isd200
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
usbcore: registered new interface driver mdc800
mdc800: v0.7.5 (30/10/2000):USB Driver for Mustek MDC800 Digital Camera
mousedev: PS/2 mouse device common for all mice
lirc_dev: IR Remote Control driver registered, major 251
IR NEC protocol handler initialized
IR RC5(x) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR RC5 (streamzap) protocol handler initialized
IR LIRC bridge handler initialized
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
NET: Registered protocol family 17
NET: Registered protocol family 15
lib80211: common routines for IEEE802.11 drivers
Registering the dns_resolver key type
registered taskstats version 1
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
yaffs: dev is 32505859 name is "mtdblock3" rw
yaffs: passed flags ""
usb 1-1: new high speed USB device number 2 using hiusb-ehci
VFS: Mounted root (yaffs2 filesystem) on device 31:3.
Freeing init memory: 136K

_ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ ___
/ /__/ |_/
/ __ / - _ ___
/ / / / / /
_ _ _ _/ / / \_/ \_ ______
___________\___\__________________

[RCS]: /etc/init.d/S00devs
[RCS]: /etc/init.d/S01udev
udevd (628): /proc/628/oom_adj is deprecated, please use /proc/628/oom_score_adj instead.
[RCS]: /etc/init.d/S10MPP
yaffs: dev is 32505860 name is "mtdblock4" rw
yaffs: passed flags ""
^Armmod: can't unload 'hi3518_adec': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_aenc': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_ao': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_ai': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_sio': unknown symbol in module, or unknown parameter
rmmod: can't unload 'acodec': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hidmac': unknown symbol in module, or unknown parameter
remove audio
rmmod: can't unload 'pwm': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_ive': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_vda': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_region': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_rc': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_jpege': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_h264e': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_chnl': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_group': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_venc': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hifb': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_vou': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_vpss': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_isp': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_viu': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_dsu': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_tde': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_sys': unknown symbol in module, or unknown parameter
rmmod: can't unload 'hi3518_base': unknown symbol in module, or unknown parameter
rmmod: can't unload 'mmz': unknown symbol in module, or unknown parameter
Hisilicon Media Memory Zone Manager
hi3518_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
Hisilicon UMAP device driver interface: v3.00
pa:88000000, va:c8ac0000
load sys.ko for Hi3518...OK!
load viu.ko for Hi3518...OK!
load vpss.ko ....OK!
load vou.ko ....OK!
load venc.ko for Hi3518...OK!
load group.ko for Hi3518...OK!
load chnl.ko for Hi3518...OK!
load h264e.ko for Hi3518...OK!
load jpege.ko for Hi3518...OK!
load rc.ko for Hi3518...OK!
load region.ko ....OK!
load vda.ko ....OK!
hi_i2c init is ok!
Kernel: ssp initial ok!
ISP Mod init!
acodec inited!
insert audio
==== Your input Sensor type is imx122 ====
tty0tty null modem driver v1.0
*** it950x usb device pluged in ***
- Enter Device_init Function -
DRIVER_RELEASE_VERSION : v14.06.06.1
EAGLE_FW_RELEASE_LINK_VERSION: 255.39.2.0
EAGLE_FW_RELEASE_OFDM_VERSION: 255.9.11.0
FW_RELEASE_LINK_VERSION: 0.0.255.1
FW_RELEASE_OFDM_VERSION: 0.0.255.1
FW_V2_RELEASE_LINK_VERSION: 3.40.1.0
FW_V2_RELEASE_OFDM_VERSION: 3.32.1.0
API_TX_RELEASE_VERSION : 103.20131217.0
API_RX_RELEASE_VERSION : 203.20130405.0
USB mode= 0x200
- Enter DRV_SetBusTuner Function -
busId = 0x2, tunerId =0x38
- Enter DRV_GetEEPROMConfig Function -
Chip Version is 1---and Read 4979---valid bit = 0x00
=============No need read eeprom
- Enter DRV_SetBusTuner Function -
busId = 0x2, tunerId =0x38
- Enter DRV_Initialize Function -
EagleUser_getDeviceType
- No EEPROM or EEPROM Read no Value.
- Load Device Type: 1 from default
- IT9510_setSlaveIICAddress as default: 3A ok -
Set Default StreamType_DVBT_PARALLEL
Device initialize TX Ok
Device RX no initialized
FwVer OFDM = 0x0,
FwVer LINK = 0xff270200
Device_init success
AirHD Reg Write ok!
- SetDCCalibrationTable no setted -
no eeprom or DC value is invalid
tx minor 223
- Enter DL_ApPwCtrl Function -
chip = 1 bOn = OFF
- Enter DL_ApPwCtrl Function -
chip = 0 bOn = OFF
IT950x Power OFF
USB ITEtech device now attached to USBSkel-223
usbcore: registered new interface driver usb-it950x
DVBT
g_newMuxerInfo.wszNetworkName[0] 0x49
g_newMuxerInfo.wszNetworkName[1] 0x54
g_newMuxerInfo.wszNetworkName[2] 0x45
g_newMuxerInfo.wszNetworkName[3] 0x3000
g_newMuxerInfo.wszNetworkName[4] 0x4f
g_newMuxerInfo.wszNetworkName[5] 0x66
g_newMuxerInfo.wszNetworkName[6] 0x66
g_newMuxerInfo.wszNetworkName[7] 0x69
g_newMuxerInfo.wszNetworkName[8] 0x63
g_newMuxerInfo.wszNetworkName[9] 0x65
g_newMuxerInfo.wszTsName[0] 0x44
g_newMuxerInfo.wszTsName[1] 0x54
g_newMuxerInfo.wszTsName[2] 0x56
g_newMuxerInfo.wszTsName[3] 0x43
g_newMuxerInfo.wszTsName[4] 0x41
g_newMuxerInfo.wszTsName[5] 0x4d
===eit950x_usb_tx_open function
nter program setopen TX subminor: 223
ing===
g_newMux- Enter DL_ApPwCtrl Function -erInfo.psiDataMo
chip = 0 bOn = ON
re[0].wszProvideIT950x Power ON
rName 0x49
g_newMuxerInfo.psiDataMore[0].wszProviderName 0x54
g_newMuxerInfo.psiDataMore[0].wszProviderName 0x45
g_newMuxerInfo.psiDaModulator_getFirmwareVersion Processor_LINK 255.39.2.0
taMore[0].wszServiceName 0x53
g_newMuxerInfo.psiDataMore[0].wszServiceName 0x65
g_newMuxerInfo.psiDataMore[0].wszServiceName 0Modulator_getFirmwareVersion Processor_OFDM 255.9.11.0
x72
g_newMuxerInfo.psiDataMore[0].wszServiceName 0x76
g_newMuxerInfo.psiDataMore[0].wszServiceName 0x69
g_newMuxerInfo.psiDataMore[0].wszServModulator_getFirmwareVersion Processor_LINK 255.39.2.0
iceName 0x63
g_Modulator_getFirmwareVersion Processor_OFDM 255.9.11.0
newMuxerInfo.psiDataMore[0].wszServiceName 0x65
g_newMuxerInfo.psiDataMore[0].wszServiceName 0x31
===eit_start_time==11111=
===eit_start_time==22222=
g_newMuxerInfo.psiDataMore[0].wszEventName 0x54
g_newMuxerInfo.psiDataMore[0].wszEventName 0x45
g_newMuxerInfo.psiDataMore[0].wszEventName 0x53
g_newMuxerInfo.psiDataMore[0].wszEventName 0x54
g_newMuxerInfo.psiDataMore[0].wszEventName 0x31
g_newMuxerInfo.psiDataMore[0].wszTextChar 0x74
g_newMuxerInfo.psiDataMore[0].wszTextChar 0x65
g_newMuxerInfo.psiDataMore[0].wszTextChar 0x78
g_newMuxerInfo.psiDataMore[0].wszTextChar 0x74
g_newMuxerInfo.psiDataMore[0].wszTextChar 0x63
g_newMuxerInfo.psiDataMore[0].wszTextChar 0x68
g_newMuxerInfo.psiDataMore[0].wszTextChar 0x61
g_newMuxerInfo.psiDataMore[0].wszTextChar 0x72
g_newMuxerInfo.psiDataMore[0].wszTextChar 0x31
g_newMuxerInfo.psiDataMore[1].wszProviderName 0x49
g_newMuxerInfo.psiDataMore[1].wszProviderName 0x54
g_newMuxerInfo.psiDataMore[1].wszProviderName 0x45
g_newMuxerInfo.psiDataMore[1].wszServiceName 0x53
g_newMuxerInfo.psiDataMore[1].wszServiceName 0x65
g_newMuxerInfo.psiDataMore[1].wszServiceName 0x72
g_newMuxerInfo.psiDataMore[1].wszServiceName 0x76
g_newMuxerInfo.psiDataMore[1].wszServiceName 0x69
g_newMuxerInfo.psiDataMore[1].wszServiceName 0x63
g_newMuxerInfo.psiDataMore[1].wszServiceName 0x65
g_newMuxerInfo.psiDataMore[1].wszServiceName 0x32
===eit_start_time==11111=
===eit_start_time==22222=
g_newMuxerInfo.psiDataMore[1].wszEventName 0x54
g_newMuxerInfo.psiDataMore[1].wszEventName 0x45
g_newMuxerInfo.psiDataMore[1].wszEventName 0x53
g_newMuxerInfo.psiDataMore[1].wszEventName 0x54
g_newMuxerInfo.psiDataMore[1].wszEventName 0x32
g_newMuxerInfo.psiDataMore[1].wszTextChar 0x74
g_newMuxerInfo.psiDataMore[1].wszTextChar 0x65
g_newMuxerInfo.psiDataMore[1].wszTextChar 0x78
g_newMuxerInfo.psiDataMore[1].wszTextChar 0x74
g_newMuxerInfo.psiDataMore[1].wszTextChar 0x63
g_newMuxerInfo.psiDataMore[1].wszTextChar 0x68
g_newMuxerInfo.psiDataMore[1].wszTextChar 0x61
g_newMuxerInfo.psiDataMore[1].wszTextChar 0x72
g_newMuxerInfo.psiDataMore[1].wszTextChar 0x32
[ReadDtvCamFile(2267)]: FRAME_WIDTH=1366
[ReadDtvCamFile(2296)]: FRAME_HEIGHT=768
[ReadDtvCamFile(2313)]: VIDEO_BITRATE[0]=4000
[ReadDtvCamFile(2335)]: GOP=30 atoi (GetConfigString)=30
[ReadDtvCamFile(2346)]: framerate=30 atoi (GetConfigString)=30
[ReadDtvCamFile(2366)]: strlen(providerName)=7
[ReadDtvCamFile(2380)]: strlen(serviceName)=7
[PrepareModulatorParams(929)]: tdsInfo.centre_frequency = 85800000
muxer_info.fps = FPS_30
[TsMuxer_Init(172)]: #### AddStream(0) = 1
[TsMuxer_Init(208)]: #### AddStr[InitPlatform(644)]: u32ViFrmRate=25
[InitPlatform(662)]: VO_OUTPUT_PAL mode
[InitPlatform(750)]: enInfo[0].gop=30 enInfo[0].framerate=30 enInfo[0].width=1366 enInfo[0].height=768 enInfo[0].bitrate=4000
[SAMPLE_VENC_Start(309)]: enInfo.gop=30 enInfo.framerate=30
[InitPlatform(752)]: SAMPLE_COMM_VENC_Start(VencGrp=0, VencChn=0, PT_H264, g_enNorm, g_VEncChSize[i], enRcMode)
[InitPlatform(757)]: SetVencVui(VencChn,1)
[InitPlatform(758)]: strlen=1
[SetVencVui(139)]: stVui.timing_info_present_flag=0
[SetVencVui(140)]: stVui.num_units_in_tick=1
[SetVencVui(141)]: stVui.time_scale=60
[SetVencVui(142)]: stVui.fixed_frame_rate_flag=1
[SetVencVui(149)]: stVui.time_scale2=60
[SetVencVui(163)]: org time_scale 60
[SetVencVui(164)]: org uniit_in_tick 1
[SetVencVui(165)]: org frame rate 30.000000
order = 0
[SetVencVui(168)]: order out = 0
[SetVencVui(186)]: new time_scale 62
[SetVencVui(187)]: new uniit_in_tick 1
[SetVencVui(188)]: new frame rate 31.000000
[SetVencVui(207)]: 2 stVui.timing_info_present_flag=1
[SetVencVui(208)]: 2 stVui.num_units_in_tick=1
[SetVencVui(209)]: 2 stVui.time_scale=62
[SetVencVui(210)]: 2 stVui.fixed_frame_rate_flag=1
Ai(0,0) bind to AencChn:0 ok!
[main(2604)]: please press twice ENTER to exit this sample
[GetFd(1039)]: in GetFd ~~~~FdArray: 12 0
[GetFd(1040)]: MaxFd = 12
[GetVEncStreamProc(371)]: =====Fd 12 0
[GetVEncStreamProc(372)]: nMaxFd 12
[Initialize(50)]: pConfig->codec_type=2012
[Initialize(51)]: pConfig->input_audioMode=4
[Initialize(52)]: pConfig->audioMode=1
[Initialize(53)]: pConfig->nChannels=2
[Initialize(54)]: pConfig->sample_rate=32000
[Initialize(55)]: pConfig->bit_rate=192000
[Initialize(94)]: pHeader->ID=1
[Initialize(95)]: pHeader->layer=2
[Initialize(96)]: pHeader->protection_bit=0
[Initialize(97)]: pHeader->bit_rate_index=10
[Initialize(98)]: pHeader->sampling_frequency=2
[Initialize(136)]: pHeader->padding_bit=0
[Initialize(137)]: pHeader->private_bit=0
[Initialize(138)]: pHeader->mode=0
[Initialize(139)]: pHeader->mode_extension=0
[Initialize(140)]: pHeader->copyright=0
[Initialize(141)]: pHeader->original_home=1
[Initialize(142)]: pHeader->emphasis=0
[ChooseBitAllocationTable(231)]: nTableIdx=1
[GetAudioFd(952)]: GetAudioFd : FdAudio 15
[GetAEncStreamProc(255)]: AencFd 15
[SetPtsStartFrom(1106)]: #### audio StartPts =41670.000
[SetPtsStartFrom(1097)]: #### video StartPts =35370.000
[GetVEncStreamProc(455)]: frame 0 data 93361
[TsMuxer_SendData(113)]: 0 first frame time 37


#############################Camera Boot Finished!!###################################
[/code]
Gol      Понедельник, 26 Октября, 2015 13:35       5


Добавить комментарий
 

Gol Понедельник, 26 Октября, 2015 20:40 цитировать ссылка на коммент

Говорят, не только у меня такие рассыпания картинки. Даже с нормальной антенной у людей траблы с передачей с этой камеры. Так что, возможно, не всё так гладко у COFDM как казалось :-(

 

 

Гость Вторник, 27 Октября, 2015 23:18 цитировать ссылка на коммент

Помимо USB у модулятора для данных есть еще параллельный 8ми битный и последовательный интерфейсы. Плюс i2c (на сколько я помню) для конфигурации чипа. Для конфигурации можно еще использовать эндпойнт в USB. То, что надо использовать для работы, задается несколькими выводами на модуляторе.
У модулятора с COFDM все хорошо, и защита от помех там весьма приличная. На самой камере очень слабенький усилитель мощности (0dbm) и то, его еще надо на этот режим переключить. На 447МГц 1мВт с хорошими антеннами, работает через 2 бетонные стены на полосе 6МГц и потоке 8-12 мегабит.
Рассыпания на 90% случаются не от выпадания данных а от того, что кодек выходит за ограничения потока или просто не справляется с упаковкой за короткое время. Плюс декодер может быть немного не совместим в телевизоре.
Еще момент. DVB-T как и WiFi не любят движение. Упаковка в частотно-временном пространстве плотная и даже на небольших скоростях движение уже начинает влиять на прием.
У производителя модулятора есть свои микрухи энкодера и декодера, но они поставляютя без SDK и с теми прошивками, которые для них есть, 250мс - это предел по быстродействию.

 

 

Gol Среда, 28 Октября, 2015 13:03 цитировать ссылка на коммент

2 Гость:
Ну я подозревал что с параметрами поиграться надо, когда будет эта штука на подольше - пощщупаю попристальнее. А вот насчёт что dvb-t и вифи не любят движение - в лабораторных условиях (ну т.е. передатчик в одной комнате с приёмником) вайфай как ни крути - картинка стабильная, а dvb-t дурил. Хотя я ожидал что наоборот будет.

 

 

Гость Среда, 24 Февраля, 2016 20:47 цитировать ссылка на коммент

Камера освободилась кстати. Могу в мае подогнать

 

 

Gol Среда, 24 Февраля, 2016 22:34 цитировать ссылка на коммент

2 Гость:
Да она уже неактуальна, спасиб

 

Сколько букв в слове Гол?

Вы вошли как Гость      

Сейчас на сайте: 0
и 4 гостей






Страница сгенерирована за 0.0054261684417725 мкс

cached