Автор Тема: Аппаратный encoder h264 для Allwinner H3  (Прочитано 7448 раз)

Оффлайн ua3nbw

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #30 : Февраль 28, 2019, 04:11:57 pm »
Если в локальной сети наблюдаете потоковое rtmp видео по этому адресу rtmp://192.168.1.185/myapp/mystream, то естественно в плеер надо вставлять этот адрес.
ищите примеры подключения JW Player или Flowplayer.
будет работать только в локальной сети.

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 220
  • Лайков: 14
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #31 : Февраль 28, 2019, 07:15:00 pm »
Если в локальной сети наблюдаете потоковое rtmp видео по этому адресу rtmp://192.168.1.185/myapp/mystream, то естественно в плеер надо вставлять этот адрес.
ищите примеры подключения JW Player или Flowplayer.
будет работать только в локальной сети.
Пробовал все ссылки и такие rtmp://192.168.1.185/myapp/mystream, и такие rtmp://192.168.1.185:1935/myapp/mystream, все возможные варианты. Везде ответ плеера один - не найден сервер. Жуть какая то!
Кажется я понял, нужно на другом ip (компе) сайт
« Последнее редактирование: Февраль 28, 2019, 07:19:22 pm от vash_sa »

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 220
  • Лайков: 14
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #32 : Февраль 28, 2019, 08:41:48 pm »
Не знаю где искать рабочий вариант. RTMP + Flush. Flush выкидывает ошибку 2028 при воспроизведении rtmp потока. Файл .mp4 воспроизводит хорошо

Оффлайн vitzloi

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #33 : Март 10, 2019, 09:16:47 pm »
Приветствую, помогите собрать драйвер, делаю всё как описано Выше:
склонировал https://github.com/uboborov/sunxi-cedar-mainline
поставил хедеры, пытаюсь скомпилить:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KDIR=/lib/modules/$(uname -r)/build -f Makefile.linux
а в ответ получаю:
/home/vit/sunxi-cedar-mainline/cedar_ve.c:1732:50: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
  printk("[cedar]: memory allocated at address %08X\n", cedar_devp->ve_start);
                                                  ^
/bin/sh: 1: ./scripts/recordmcount: not found
scripts/Makefile.build:303: recipe for target '/home/vit/sunxi-cedar-mainline/cedar_ve.o' failed
make[2]: *** [/home/vit/sunxi-cedar-mainline/cedar_ve.o] Error 127
make[2]: *** Deleting file '/home/vit/sunxi-cedar-mainline/cedar_ve.o'
Makefile:1520: recipe for target '_module_/home/vit/sunxi-cedar-mainline' failed
make[1]: *** [_module_/home/vit/sunxi-cedar-mainline] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.19.20-sunxi'
Makefile.linux:137: recipe for target 'modules' failed
make: *** [modules] Error 2

Видел фразу 
Цитировать
mainline ядра 4.19  (не путать с mainline effort от sunxi)
но не совсем понимаю что это означает.
Опыты ставил на orange pi zero, armbian 4.19.


Оффлайн spectre.spc

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #34 : Март 12, 2019, 01:53:50 pm »
я собирал на компе
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KDIR="путь до хедеров, или исходников" -f Makefile.linux
У меня есть подозрение что хедеры при установки из armbian-config качаются не те.

Непонятно почему захват с камеры только 1 фпс...
Пробовал ffmpeg собранный с cedrus264 не работает с этим драйвером.

Оффлайн ua3nbw

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #35 : Март 12, 2019, 03:48:44 pm »
про патч на форуме 4pda https://4pda.ru/forum/index.php?s=&showtopic=782242&view=findpost&p=83222711
написали.
была ещё ошибка в linux-headers-4.20.7-sunxi , для исправления надо создать пустой файл
source «net/wireguard/Kconfig» и запустить make scripts в папке /usr/src/linux-headers-4.20.7-sunxi

Оффлайн vitzloi

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #36 : Март 12, 2019, 11:06:16 pm »
Да, с горем пополам скомпилил, на 4pda, ув. rubitwa помог. правда так в /dev/ седар и не появился.

Оффлайн Olej

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #37 : Март 12, 2019, 11:42:28 pm »
Да, с горем пополам скомпилил, на 4pda, ув. rubitwa помог. правда так в /dev/ седар и не появился.
Н-да ... весело у вас тут:
Цитировать
Трудно жить на свете
Пионеру Пете -
Бьёт его по роже
Пионер Серёжа
:-[

Оффлайн spectre.spc

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #38 : Март 13, 2019, 06:16:59 am »
Да, с горем пополам скомпилил, на 4pda, ув. rubitwa помог. правда так в /dev/ седар и не появился.
Значит dtb некоректен.

Оффлайн igzero

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #39 : Март 18, 2019, 03:27:27 pm »
Сейчас играюсь с платой "NanoPI M1 +", под армбианом 5.65 с кастомным ядром версии 4.14.106.  Cedar драйвер собрал, запустил, вроде работает. Энкодер не хочет. В варианте автора энкодер вываливался после того как выгружал модуль v4l2loopback и пытался заново загрузить его, с ошибкой на неизвестный EXE формат. Закоментировал выгрузку и загрузку модуля v4l2loopback, запускается пишет что  все ок, но при попытке просмотра любым плеером картинка с зеленью и изображение жутко тормозит. В чем может быть проблема?

Оффлайн ua3nbw

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #40 : Март 19, 2019, 04:53:28 pm »
играюсь с ядром от bootlin, ядро собирал на целевой платформе ARM https://ua3nbw.ru/all/sborka-yadra-linux/
root@orangepipc:~# uname -a
Linux orangepipc 5.0.0-bootlin #1 SMP Mon Mar 18 14:33:51 UTC 2019 armv7l armv7l armv7l GNU/Linux
root@orangepipc:~#
правил *dtb, всёж автор использует процессор A20, я тестировал на H3,  но пока не победил  эту ошибку:
cedar_dev появился, но смущает  это сообщение в dmesg:  sunxi-cedar 1c0e000.video-engine: syscon failed...
dmesg | grep cedar
root@orangepipc:~# ls -l /dev/ | grep cedar
crw------- 1 root root    150,   0 Mar 19 11:59 cedar_dev
root@orangepipc:~# dmesg | grep cedar
[    3.996605] sunxi_cedar: loading out-of-tree module taints kernel.
[    3.997687] sunxi cedar version 0.1
[    3.997964] [cedar]: install start!!!
[    3.998099] cedar_ve: cedar-ve the get irq is 47
[    3.998125] sunxi-cedar 1c0e000.video-engine: assigned reserved memory node cma@4a000000
[    3.998269] sunxi-cedar 1c0e000.video-engine: syscon failed...
[    4.043542] [cedar]: memory allocated at address 4A100000
[    4.043553] [cedar]: install end!!!
root@orangepipc:~#


Оффлайн igzero

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #41 : Март 19, 2019, 05:45:03 pm »
У меня на Н3 еще собирается ядро.(bootlin). Отпишусь по готовности
Сейчас глянул dtb файл sun8i-h3.dtsi
Цитировать
                video-codec@1c0e000 {
                        compatible = "allwinner,sun8i-h3-video-engine";
                        reg = <0x01c0e000 0x1000>;
                        clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>,
                                 <&ccu CLK_DRAM_VE>;
                        clock-names = "ahb", "mod", "ram";
                        resets = <&ccu RST_BUS_VE>;
                        interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
                        allwinner,sram = <&ve_sram 1>;
                };

И сравнил что я прописывал в ядре 4.14 когда прикручивал cedar
Цитировать
                ve: video-codec@01c0e000 {
                        compatible = "allwinner,sunxi-cedar-ve";
                        reg = <0x01c0e000 0x1000>,
                                <0x01c00000 0x10>,
                                <0x01c20000 0x80>;
                        memory-region = <&cma_pool>;
                        syscon = <&syscon>;
                        clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, <&ccu CLK_DRAM_VE>;
                        clock-names = "ahb", "mod", "ram";
                        resets = <&ccu RST_BUS_VE>;
                        interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
                };
В bootlin отсутствует запись
Цитировать
syscon = <&syscon>;
« Последнее редактирование: Март 19, 2019, 06:04:52 pm от igzero »

Оффлайн ua3nbw

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #42 : Март 20, 2019, 08:57:55 am »
у меня в sun8i-h3.dtsi также, только
Цитировать
                        reg = <0x01c0e000 0x1000>,
                                <0x01c00000 0x10>,
                                <0x01c20000 0x800>;
вместо
Цитировать
            reg = <0x01c0e000 0x1000>,
                  <0x01c00000 0x10>,
                  <0x01c20000 0x80>;

ветку reserved-memory тупо брал тут: https://github.com/uboborov/sunxi-cedar-mainline/blob/master/sun7i-a20.dtsi

без этой ветки при компиляции dtb вылетает с ошибкой:

Цитировать
root@orangepipc:/usr/src/linux-cedrus-release-2019.03# make -j4 dtbs
  DTC     arch/arm/boot/dts/sun8i-h3-orangepi-pc.dtb
arch/arm/boot/dts/sun8i-h3.dtsi:158.29-169.5: ERROR (phandle_references): /soc/video-engine@01c0e000: Reference to non-existent node or label "cma_pool"

вроде победил

Цитировать
[    3.999134] sunxi_cedar: loading out-of-tree module taints kernel.
[    4.000133] sunxi cedar version 0.1
[    4.000409] [cedar]: install start!!!
[    4.000555] cedar_ve: cedar-ve the get irq is 47
[    4.000582] sunxi-cedar 1c0e000.video-engine: assigned reserved memory node cma@4a000000
[    4.073840] [cedar]: memory allocated at address 4A100000
[    4.073851] [cedar]: install end!!!

sun8i-h3.dtsi во вложении
« Последнее редактирование: Март 20, 2019, 10:37:17 am от ua3nbw »

Оффлайн igzero

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #43 : Март 20, 2019, 11:34:58 am »
(Про bootlin) У меня не заводится скаляр-видеоплата (плата со входами HDMI, VGA, AV)   по HDMI. На 4.14 все было ОК. Подозреваю что что-то с FRAMEBUFFER-ом. У кого есть какие мысли? Прищлось перелопатить DTB дерево. Заработал. (плата: NanoPI M1+ новыми релизами армбиана уже не поддерживается, имеет статус EOS )
« Последнее редактирование: Март 21, 2019, 11:33:04 am от igzero »

Оффлайн spectre.spc

Re: Аппаратный encoder h264 для Allwinner H3
« Ответ #44 : Май 09, 2019, 11:25:51 pm »
Ну и как, результаты есть?
Хотелось бы увидеть что именно вставлялось в dts.