I have great expectations for the next version of HyperHDR as it brings us closer to my final goal. The number of new features/changes/improvements/bug-fixing: 6 times compared to previous v16, illustrates the amount of work involved in this release. You can find test release with a full list of changes here (UPDATE 5/9/2021: beta 2 is available):
https://github.com/awawa-dev/HyperHDR/releases/tag/v17.0.0.0beta2A stable version will be available at a later date, after the testing phase.
The stable version is already available (15/9/2021):
https://github.com/awawa-dev/HyperHDR/releases/tag/v17.0.0.0
Thanks all testers for help!
Key highlights
- Bootstrap 5 (interface)
Upgrade from ancient Bootstrap 3 to Bootstrap 5. It's the backbone of the application interface. What does it mean? Modern components, better controls, better usability in smartphone browsers, cleaner code that allows to remove most of old hack(on hack) ^ n-th power workarounds that allowed the old code to function. What were the consequences for HyperHDR? Almost the entire HTML interface had to be migrated to the new standards.
- New layout & controls (interface)
Upgrading Bootstrap was only a beginning. In next phase some of key UI components were also updated or replaced with better & modern alternatives. Since Bootstrap 5 was released recently some of them did not supported it. So had to create Bootstrap 5 themes myself, which was quite a challenge. And that's the result of HyperHDR new layout:
As you can see in the screenshots:- The main menu has changed, now it has all the controls inside. You no longer need to search for specific controls on the left or top. Most of the icons and data structures remained the same, so migration should be easy. But underneath everything has changed.
- Another small but very important feature is the instance label on the forms that managed them. A very common mistake was to override settings of the wrong instance with new ones, or it was not clear whether the settings are global or per instance.
- Editor panels now have dynamic help panels: when you click the "help" button, the corresponding panel appears on the right. Provides a much cleaner look as you usually don't have to open them all at once.
- The old version of the steppers (+/- buttons use to increase/decrease number values in the forms) were so small that they were almost useless. It's fixed now.
- New vanilla JS color picker
- New themes for light/dark mode, hope you'll like it
- Where possible, smartphone usability was a priority. For example: you don't need to search or try to resize the live video preview window now (which was sometimes impossible) on your smartphone. Bootstrap 5 and our custom themes provides forms support to render them in the best possible way.
- The main menu has changed, now it has all the controls inside. You no longer need to search for specific controls on the left or top. Most of the icons and data structures remained the same, so migration should be easy. But underneath everything has changed.
- Software screen grabbers
Those who have known the project longer may say that hell has frozen over ;) But not quite...
For our video/movie playback experience using the hardware grabbers is still the best possible solution. If you go with software capturing then you may cause some glitches with the system, video acceleration or you can bounce off the DRM. But for everyday work with a PC, with a monitor with a LED strip installed that can be an alternative. Or for gaming (Windows). Also check out new LED grouping feature than can make that experience even more enjoyable.
So there are 3 software screen grabbers for now:- Windows: DirectX11 (my favorite among these 3) with optional HDR tone mapping
- Linux: X11 as independent component to avoid problems with headless systems
- macOS: CoreGraphic make sure that you follow the installation manual on the screenshot
- Windows: DirectX11 (my favorite among these 3) with optional HDR tone mapping
- Automatic signal detection / power saving option
Are you tired of being a sniper operating your "military" grade ambient system (some even offer a helpful crosshair on the interface) to target a certain area at the grabber's "no-signal" board? Then you may like new automatic signal detection: just give HyperHDR a chance to learn your grabber's 'no signal' board and it will take care of it. Works especially well with 'rainbow' no signal boards characteristic for popular MS2109 clones. There is also new CPU power saving option available for reducing frame processing when the 'no signal' is triggered.
- Re-implemented import / export feature
The backup feature, after all, works as it should from the start. You will no longer be surprised that after loading your old backup, you have just restored one of the many previously configured instances. Now all the instances will be restored. The obvious consequence is the new backup format incompatible with previous versions.
- Support for my new HyperSPI project
It offers you an alternative and very fast way to connect you Raspberry Pi to the ESP device. Why it might be necessary when you use your grabber and Adalight driver on the same USB2.0 bus, you can find out here : https://github.com/awawa-dev/HyperSPI
You don't need to have a 2Mb capable chip on your ESP board which is necessary for HyperSerialESP8266 or HyperSerialWLED: for SPI connection you can go easily over 25Mb. - AARCH release for Raspberry Pi 3&4
Great news! Performance of the new release HyperHDR for 64 bits OS (AARCH64) increased up to 30% compared to the standard 32 bits Raspberry Pi 3 & 4 armv7l
1280x720:
32bit OS: 64bit OS:
1920x1080:
32bit OS: 64bit OS: - JSON API documentation in a form of live playground
Now you can remotely control the behavior of HyperHDR without any programming knowledge. Just click on the desired functionality and the wizard will generate a link to the command for you. It couldn't be easier.
There is also new command for video cropping available in the API. - LED grouping aka PC mode aka gradient mode
Sometimes dynamic high density LED strip is not a good solution especially when used for providing ambient solution for your PC monitor. New feature can help with eye fatigue when used with the monitor, each LED in the group has same average color. You can even improve the effect with the anti-flickering filter (Processing tab > Smoothing) with threshold set to 255. - Add timeout option for the anti-flickering filter
In certain situations it's good to allow discreet color change after some timeout even it the step is below the minimum. Why? For example: because there is a difference between slightly 'reddish' RGB(2,1,1) and 'black' RGB(1,1,1) at the ending credits on the 'black' background. - CEC support
HyperHDR v17 includes support for CEC commands for Raspberry Pi thanks to libCEC library. The main problem was the outdated libCEC versions available in the popular distroes (they were also almost unusable on new AARCH64 platform). So decided to provide for HyperHDR version based on the latest release. You can control which instance's video or system grabber will turn on/off together with your TV. You must provide path for CEC commands from the TV to the Raspberry (simple HDMI connection): unfortunately most of grabbers with a loop don't provide CEC pass-through. You can also turn on/off HDR mapping with your TV remote although it may depend on libCEC support for your TV. - New panel for video resolution & refresh mode selection
Since choosing the correct video mode for your grabber with the drop-down controls alone is not a trivial task, we provide a new form that makes it much easier. For example: depending on the grabber certain refresh modes are available only for compressed format like MJPEG. When you try to enable it for uncompressed YUV you may fallback to the different, not selected before combination.
With new form you can select only valid combination and you can see them all on the list.
Comments
Also: whats the easiest way to level shift the signal? Do I need to level shift for my use case? I plan on only connecting the data pin to the ESP.
My plan is to just have the WLED module hanging behind the tv. I want to power it from the TV's usb port if thats possible without sacrifizing anything? I mean the USB port should provide enough power for the ESP, correct?
I then want to have 2 long cables (ground and power) going to my lowboard under the tv. That way I would only have the small ESP behind the tv. How can I level shift with this set up?
Also which grabber is the absolute best you recommend right now? I will get a good feintech hdmi matrix which has 2 outputs. 1 in 4k for the tv and 1 in fhd for the grabber. Will use it with an amazon fire tv stick mainly. I consider getting the rullz one. The 2.0 is the good one, right? Or should I get the 3.0?
Any ezcap is no upgrade for my use case right? And also more expensive..
I want good hdr colors - I will use hyperhdr of course.
I know - many questions :D
I hope you can help me!
Thanks for the great work!
2) CP2102 is limited only to 1Mb USB serial port speed so it is not compatible with HyperSerialEsp8266/HyperSerialESP32 if you experience problems with the Wifi signal stability and want to switch for the cable solution.
3) ESP module with enabled Wifi can draw up to 800ma from the USB port. USB2.0 standard limit is 500ma so it depends on your TV USB port implementation.
4) Voltage level shifting is for data line, not ground and power. But watch out for the voltage drop if there are really long, use thick cables. +5V for a level shifter should be taken from that power cable just before the LED strip (not for example from +5V ESP module because they could be different due to the voltage drop).
5) For all in one solution: Ezcap 320, for HDMI splitter + grabber: Ezcap 321 (really fast and true USB3.0) or budget solution MS2109 (there are different implementation...if it's true USB3.0 and still can offer YUV then it could be a better choice, anyway it's a lottery. USB2.0 version from proven seller/brand is also good choice).
Has the ezcap 321 the "best" colors compared to ms2109 and the older ezcap models or are the colors the same and its just the lack of delay with that device thats good?
Also I thought you had many problems with the ezcap 320 - but the 321 will work fine with hyperhdr?
Ezcap 321 has a bit superior image quality compared to ms2109...I don't know if it's related that my ms2109 is using non-standard full range YUV and we need to crop some values outside valid range. But still ms2109 image quality is great, much better even than last year hit Ezcap 269. The main difference between ms2109 and ezcap 321/320 is latency but most users probably won't notice a difference when they are using optimized software ;-) You can start with $10 ms2109 and then decide if it fits you.
I'm using ezcap 320 and after epic problems let's say it's working fine (problem with Dolby bitstream pass-through but DTS works) ...if you don't try to update to the latest firmware. From the beginning I don't have any problem with ezcap 321. On paper ezcap 322 looks very similar to ezcap 321/320: just without a loop.
I just bought the 3.0 RULLZ capture card - lets see if its really 3.0 - you know a way to test it? Should be here in about 7 days.
As for the matrix I thought about buying this: US $34.34 23% Rabatt | Kebidu 4x2 Matrix Switch Splitter mit SPDIF und L/R 3,5mm HDR HDMI-kompatibel Schalter 4x2 Unterstützung HDCP 2,2 ARC 3D 4K @ 60Hz
https://a.aliexpress.com/_uAwHSo
Do you think that it should work? Seems to fit all my needs (same specs like the feintech for the most part)
I will use the same level shifter you have.
I just checked out my tv USB port. It says 1A - so I will power the ESP and level shifter from the usb port.
Is CH340 the best choice?
From my understanding I connect the power of the tv to the ESP and the level shifter. Then from the ESP I connect the level shifter and from it I connect the led stripe? Is that correct? Thanks for your help guys! I want to make this build as professional as it gets.
Can you recommend me a power supply? I have 60led/m for a 55inch tv, so I think about getting 5v 20a. I would prefer a closed PSU and not a semi open/ dangerous one. I thought about connecting it with the led stripe with WAGO connectors. I did it in my last build and it worked good and was safe...
If you can find closed power supply with a detail specification like for MEAN WELL LRS-100-5 then let me know ;) I haven't found something like that and have bad experience about that type of power suppliers especially for higher wattage.
For esp choose CH340G (most common for ESP8266), CH9201x or CP2104 (these 2 are most common for ESP32) although there are counterfeits. ESP32 is superior compare to ESP8266: for us most important is flexible pin mapping. But both will work well.
SN74AHCT125N is recommended voltage level shifter, it even simpler than "poor man's one" from my earlier build-log on the blogger ;) https://community.home-assistant.io/t/solved-how-do-i-drive-a-relay-that-uses-5v-from-a-d1-mini/316775
+5v you must take from the same supply line as your LED strip, not from ESP or TV. LED strip and the ESP/voltage level shifter must have common ground that's why I don't like to power supply such devices directly from the TV (beside of risk of USB power overload): ESP is not a mice or keyboard.
Bloobik You bought it on Allegro? ;-) Let me know if everything is OK and can you recommend the seller: I also need one :-)
When you receive it, send me 'lsusb' output and let me know about supported video modes and codecs 'v4l2-ctl --list-formats-ext'.
I have this FeinTech Matrix VMS04201 and Dolby Vision, Dolby Atmos, DTS:x everything works, but changing source is really slow: 8 sec when changing from tv to Xbox Series x, from Xbox to tv 5 sec. When changing hyperhdr from tv to Xbox it's 11 sec. On my combination (switch Ligawo and splitter ezcoo) I've got maybe 2 sec and my instalation is: Ligawo - - > in JBL 9.1 out - - > ezcoo splitter - - > tv and ezcap 321. (my tv have only ARC not EARC) So feintech is slower than combination switch + splitter.
I recently upgraded to the v17 64 bit release. I have it up and running on my raspberry pi 3 and it gets the USB video signal input just fine, but for some reason it can't find the adalight LED output anymore. No matter what I try I always get this response "[leddevice] device disabled, device 'adalight' signals error: 'timeout writing data to..." on any output path I choose. Do you have any idea what to do to fix this?
I'm using HyperWLED on an ESP8266 module, but it just won't detect it for some reason.
And what USB COM paths do you have in the adalight available output lists: https://postimg.cc/1fq3hypw ?
(/dev/ttyAMA0)
FT232R USB UART (/dev/ttyUSB0)
The first path gives the error as you hinted in the picture it would.
The second one used to be giving me the same error, but now it's logging this message:
"[WEBSOCKET] (JsonAPI.cpp:1300) log streaming activated for client ::ffff:192.168.1.29"
Is it now trying to send it over Wi-Fi instead of the the USB port?
Post a Comment