1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

hyperion.ng auf Raspberry 4, Raspbian Buster, USB Grabber

Discussion in 'German Talk' started by jochenf, 11 August 2019.

  1. jochenf

    jochenf New Member

    Messages:
    15
    Hallo,

    bevor ich in meinen ersten Beitrag um Hilfe bitte, erst mal ein großes Lob für das Projekt und vor allem die Weiterentwicklung zu hyperion.ng.

    Nun zu meinem Problem:

    Neben der originalen Hyperion Version, habe ich auf meinem Raspi 4 auch das aktuelle Hyperion.ng vom github installiert.

    Ich greife bei beiden Versionen auf den verbreiteten USB Grabber Fushicai UTV007 zu. Während das "allte" Hyperion das Bild korrekt abgreift und meine LED's bunt leuchten lässt, habe ich mit hyperion.ng nur ein s/w Bild. Die LED's leuchten demzufolge nur in weiß. Auch Screenshots die ich über hyperion-v4l2 anfertige, sind nur in s/w. Unabhängig davon, was in der Konfiguration für Format bzw. Farbraum angebe oder als Option für den screenshot mittels hyperion-v4l2 mitgebe.
    Da hyperion-v4l2 die eigentliche Hyperion Konfiguration nach meinen Verstehen ja ignoriert, schließe ich einen Fehler in der .json aus.

    Wenn ich jedoch vor dem Start von hyperion.ng das originale hyperion kurz starte und danach wieder beende, liefert auch hyperion.ng und das integrierte hyperion-v4l2 bunte Bilder!

    Auch wenn ich nach nem Neustart Hyperion garnicht starte und nur mit dem Screenshottool probiere, selbiges Fehlerbild.

    Grüße

    Micha
     
    Last edited: 11 August 2019
  2. Paulchen-Panther

    Paulchen-Panther Active Member Developer

    Messages:
    259
    Gib uns doch bitte mal die Ausgabe von 'v4l2-ctl --all'
    Danke
     
  3. jochenf

    jochenf New Member

    Messages:
    15
    Hallo,

    kein Problem. Werde derweil mal etwas damit rumspielen, wusste garnicht, dass man das Ganze auch darüber beeinflussen kannn.

    [email protected]:~$ v4l2-ctl --all
    Driver Info:
    Driver name : usbtv
    Card type : usbtv
    Bus info : usb-0000:01:00.0-1.2
    Driver version : 4.19.57
    Capabilities : 0x85200001
    Video Capture
    Read/Write
    Streaming
    Extended Pix Format
    Device Capabilities
    Device Caps : 0x05200001
    Video Capture
    Read/Write
    Streaming
    Extended Pix Format
    Priority: 2
    Video input : 0 (Composite: ok)
    Video Standard = 0x0000f900
    PAL-M/60
    NTSC-M/M-JP/443/M-KR
    Format Video Capture:
    Width/Height : 720/480
    Pixel Format : 'YUYV' (YUYV 4:2:2)
    Field : Interlaced
    Bytes per Line : 1440
    Size Image : 691200
    Colorspace : SMPTE 170M
    Transfer Function : Default (maps to Rec. 709)
    YCbCr/HSV Encoding: Default (maps to ITU-R 601)
    Quantization : Default (maps to Limited Range)
    Flags :
    Streaming Parameters Video Capture:
    Frames per second: 29.970 (30000/1001)
    Read buffers : 2

    User Controls

    brightness 0x00980900 (int) : min=0 max=1023 step=1 default=448 value=448 flags=slider
    contrast 0x00980901 (int) : min=0 max=1023 step=1 default=464 value=464 flags=slider
    saturation 0x00980902 (int) : min=0 max=1023 step=1 default=512 value=512 flags=slider
    hue 0x00980903 (int) : min=-3583 max=3583 step=1 default=0 value=0 flags=slider
    sharpness 0x0098091b (int) : min=0 max=255 step=1 default=96 value=96 flags=slider
    [email protected]:~$

    [email protected]:~$ v4l2-ctl --all
    Driver Info:
    Driver name : usbtv
    Card type : usbtv
    Bus info : usb-0000:01:00.0-1.2
    Driver version : 4.19.57
    Capabilities : 0x85200001
    Video Capture
    Read/Write
    Streaming
    Extended Pix Format
    Device Capabilities
    Device Caps : 0x05200001
    Video Capture
    Read/Write
    Streaming
    Extended Pix Format
    Priority: 2
    Video input : 0 (Composite: ok)
    Video Standard = 0x000000ff
    PAL-B/B1/G/H/I/D/D1/K
    Format Video Capture:
    Width/Height : 720/576
    Pixel Format : 'YUYV' (YUYV 4:2:2)
    Field : Interlaced
    Bytes per Line : 1440
    Size Image : 829440
    Colorspace : SMPTE 170M
    Transfer Function : Default (maps to Rec. 709)
    YCbCr/HSV Encoding: Default (maps to ITU-R 601)
    Quantization : Default (maps to Limited Range)
    Flags :
    Streaming Parameters Video Capture:
    Frames per second: 25.000 (25/1)
    Read buffers : 2

    User Controls

    brightness 0x00980900 (int) : min=0 max=1023 step=1 default=448 value=448 flags=slider
    contrast 0x00980901 (int) : min=0 max=1023 step=1 default=464 value=464 flags=slider
    saturation 0x00980902 (int) : min=0 max=1023 step=1 default=512 value=512 flags=slider
    hue 0x00980903 (int) : min=-3583 max=3583 step=1 default=0 value=0 flags=slider
    sharpness 0x0098091b (int) : min=0 max=255 step=1 default=96 value=96 flags=slider
    [email protected]:~$

    Was mir gerade selbst daran auffällt, dass bei Format NTSC gesetzt ist, obwohl in meiner Konfig PAL steht.

    Stelle ich vor dem Start einmalig per :~$ v4l2-ctl --set-standard 0x000000ff manuell auf PAL, funktioniert NG einwandfrei, egal wie offt ich danach das Programm starte oder stoppe.


    Danke und Grüße

    micha
     
    Last edited: 12 August 2019
    • Like Like x 1
  4. Paulchen-Panther

    Paulchen-Panther Active Member Developer

    Messages:
    259
  5. Paulchen-Panther

    Paulchen-Panther Active Member Developer

    Messages:
    259
    @jochenf Könntest du bitte die Änderung testen?
     
  6. jochenf

    jochenf New Member

    Messages:
    15
    Hallo,

    ja, mach ich. Dachte nur, wenn der PR noch auf Review ist, dass dein neuer Code noch nicht mit angezogen wird, wenn ich kompiliere.
    Und bei den Commmits hatte ich deine Änderung nicht mit gesehen.

    Grüße

    Micha
     
  7. Paulchen-Panther

    Paulchen-Panther Active Member Developer

    Messages:
    259
    Der PR ist auch noch nicht im master. Müsstest meinen Branch kompilieren.
     
  8. jochenf

    jochenf New Member

    Messages:
    15
    Mit dem Master habe ich gerade erfolglos getestet. ;( Werde gleich mal den deinigen versuchen.
     
  9. Paulchen-Panther

    Paulchen-Panther Active Member Developer

    Messages:
    259
    Achte aber bitte auf den Branch. Am besten du verwendest beim clonen die Parameter "--single-branch --branch v4l2"
     
  10. Paulchen-Panther

    Paulchen-Panther Active Member Developer

    Messages:
    259
    Code:
    git clone --recursive --single-branch --branch v4l2 https://github.com/Paulchen-Panther/hyperion.ng.git
     
  11. jochenf

    jochenf New Member

    Messages:
    15
  12. jochenf

    jochenf New Member

    Messages:
    15
    Hallo,

    sieht gut aus, ist nun wieder alles schön bunt. :)

    [email protected]:~ $ /usr/local/share/hyperion/bin/hyperiond
    [hyperiond EFFECTFILES] <INFO> 36 effects loaded from directory :/effects/
    [hyperiond EFFECTFILES] <INFO> 19 effect schemas loaded from directory :/effects/schema/
    [hyperiond EFFECTFILES] <INFO> 1 effects loaded from directory /storage/.kodi/addons/service.hyperion.ng/effects/
    [hyperiond EFFECTFILES] <INFO> 0 effects loaded from directory /storage/.kodi/userdata/addon_data/service.hyperion.ng/custom-effects/
    [hyperiond SettingsManager] <DEBUG> <SettingsManager.cpp:101:SettingsManager()> Settings database initialized
    [hyperiond BLACKBORDER] <DEBUG> <BlackBorderProcessor.cpp:65:handleSettingsUpdate()> Set mode to: default
    [hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> Blackborder detector: enabled
    [hyperiond DAEMON] <INFO> set screen capture device to 'dispmanx'
    [hyperiond DISPMANXGRABBER] <DEBUG> <Grabber.cpp:33:setVideoMode()> Set videomode to 0
    [hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> LED device: enabled
    [hyperiond LEDDEVICE] <DEBUG> <LedDeviceAdalight.cpp:53:init()> Adalight header for 254 leds: Ada 0x00 0xfd 0xa8
    [hyperiond LEDDEVICE] <INFO> LedDevice 'adalight' configured.
    [hyperiond LEDDEVICE] <INFO> Opening UART: /dev/ttyUSB0
    [hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> Smoothing: enabled
    [hyperiond DISPMANXGRABBER] <INFO> Display opened with resolution: 1920x1080
    [hyperiond DISPMANXGRABBER] <DEBUG> <Grabber.cpp:82:setWidthHeight()> Set new width: 80, height: 45 for capture
    [hyperiond FLATBUFCONNECTION] <INFO> Connecting to Hyperion: 127.0.0.1:19447
    [hyperiond DISPMANXGRABBER] <INFO> Cropping image: width=80 height=45; crop: left=0 right=0 top=0 bottom=4
    [hyperiond DAEMON] <INFO> DISPMANX frame grabber created
    [hyperiond EFFECTENGINE] <INFO> run effect Rainbow swirl fast on channel 0
    [hyperiond V4L2:auto] <DEBUG> <Grabber.cpp:33:setVideoMode()> Set videomode to 0
    [hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register new input 'System/EFFECT' with priority 0 as inactive
    [hyperiond HYPERION] <INFO> Initial foreground effect 'Rainbow swirl fast' started
    [hyperiond EFFECTENGINE] <INFO> run effect Waves with Color on channel 254
    [hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register new input 'System/EFFECT' with priority 254 as inactive
    [hyperiond HYPERION] <INFO> Inital background effect 'Waves with Color' started
    [hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register new input 'System/V4L' with priority 240 as inactive
    [hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> V4L capture device: enabled
    [hyperiond BOBLIGHT] <DEBUG> <BoblightServer.cpp:28:BoblightServer()> Instance created
    [hyperiond V4L2:auto] <INFO> Signal threshold set to: {12, 12, 12}
    [hyperiond V4L2:auto] <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
    [hyperiond DAEMON] <DEBUG> <hyperiond.cpp:420:handleSettingsUpdate()> V4L2 grabber created
    [hyperiond JSONSERVER] <DEBUG> <JsonServer.cpp:25:JsonServer()> Created instance
    [hyperiond JSONSERVER] <INFO> Started on port 19444
    [hyperiond LEDDEVICE] <DEBUG> <ProviderRs232.cpp:182:tryOpen()> Setting baud rate to 115200
    [hyperiond LEDDEVICE] <DEBUG> <ProviderRs232.cpp:198:tryOpen()> Device blocked for 1500 ms
    [hyperiond LEDDEVICE] <DEBUG> <LedDeviceAdalight.cpp:80:receivedData()> >>received 36 bytes data
    [hyperiond FLATBUFSERVER] <INFO> Started on port 19400
    [hyperiond PROTOSERVER] <INFO> Started on port 19445
    [hyperiond V4L2:auto] <INFO> available V4L2 devices:
    /dev/video0 usbtv
    /dev/video10 bcm2835-codec
    /dev/video11 bcm2835-codec
    /dev/video12 bcm2835-codec

    [hyperiond V4L2:auto] <INFO> search for usable video devices
    [hyperiond V4L2:auto] <INFO> test v4l device: /dev/video0
    [hyperiond V4L2:auto] <DEBUG> <V4L2Grabber.cpp:634:init_device()> Set resolution to width=720 height=576
    [hyperiond V4L2:auto] <DEBUG> <V4L2Grabber.cpp:680:init_device()> Pixel format=YUYV
    [hyperiond V4L2:auto] <INFO> found usable v4l2 device: /dev/video0 (usbtv)
    [hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:98:handleSettingsUpdate()> Set document root to: :/webconfig
    [hyperiond WEBSERVER] <INFO> Started on port 8090 name 'Hyperion Webserver'
    [hyperiond V4L2:auto] <INFO> Started
    [hyperiond HYPERION] <INFO> Hyperion instance 'First LED Hardware instance' has been started
    [hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:231:setInputImage()> Priority 254 is now active
    [hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:331:setCurrentTime()> Set visible priority to 0
    [hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:231:setInputImage()> Priority 0 is now active
    [hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:231:setInputImage()> Priority 240 is now active
    [hyperiond WEBSOCKET] <DEBUG> <JsonAPI.cpp:87:handleInstanceSwitch()> Client '::ffff:192.168.0.1' switch to Hyperion instance 0
    [hyperiond WEBSOCKET] <DEBUG> <WebSocketClient.cpp:29:WebSocketClient()> New connection from ::ffff:192.168.0.1
    [hyperiond WEBSOCKET] <DEBUG> <JsonAPI.cpp:1002:handleLoggingCommand()> log streaming activated for client ::ffff:192.168.0.1
    [hyperiond WEBSOCKET] <DEBUG> <JsonAPI.cpp:1011:handleLoggingCommand()> log streaming deactivated for client ::ffff:192.168.0.1
    [hyperiond LEDDEVICE] <DEBUG> <ProviderRs232.cpp:216:writeBytes()> 37 frames dropped
    [hyperiond LEDDEVICE] <DEBUG> <LedDeviceAdalight.cpp:80:receivedData()> >>received 4 bytes data
    [hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:291:setCurrentTime()> Timeout clear for priority 0
    [hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:331:setCurrentTime()> Set visible priority to 240

    [email protected]:~ $ v4l2-ctl --all
    Driver Info:
    Driver name : usbtv
    Card type : usbtv
    Bus info : usb-0000:01:00.0-1.2
    Driver version : 4.19.57
    Capabilities : 0x85200001
    Video Capture
    Read/Write
    Streaming
    Extended Pix Format
    Device Capabilities
    Device Caps : 0x05200001
    Video Capture
    Read/Write
    Streaming
    Extended Pix Format
    Priority: 2
    Video input : 0 (Composite: ok)
    Video Standard = 0x000000ff
    PAL-B/B1/G/H/I/D/D1/K
    Format Video Capture:
    Width/Height : 720/576
    Pixel Format : 'YUYV' (YUYV 4:2:2)
    Field : Interlaced
    Bytes per Line : 1440
    Size Image : 829440
    Colorspace : SMPTE 170M
    Transfer Function : Default (maps to Rec. 709)
    YCbCr/HSV Encoding: Default (maps to ITU-R 601)
    Quantization : Default (maps to Limited Range)
    Flags :
    Streaming Parameters Video Capture:
    Frames per second: 25.000 (25/1)
    Read buffers : 2

    User Controls

    brightness 0x00980900 (int) : min=0 max=1023 step=1 default=448 value=448 flags=slider
    contrast 0x00980901 (int) : min=0 max=1023 step=1 default=464 value=464 flags=slider
    saturation 0x00980902 (int) : min=0 max=1023 step=1 default=512 value=512 flags=slider
    hue 0x00980903 (int) : min=-3583 max=3583 step=1 default=0 value=0 flags=slider
    sharpness 0x0098091b (int) : min=0 max=255 step=1 default=96 value=96 flags=slider
    [email protected]:~ $

    Grüße und vielen Dank für deine Mühe

    Micha