Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-03-03 Thread Ted Mittelstaedt

>I suppose if Cisco switches to h.265 for video conferencing, this will be all 
>me a moot point.

They are a founding member of AOM and already use a software version of AV1 in 
Webex:

https://blog.webex.com/engineering/the-av1-video-codec-comes-to-webex/

If MPAA-LA had actually worked with them on a realistic patent license fee then 
they might have not funded AOM and be using H.265.  AV1 compresses more than 
H.265 so there is zero point to switch to it.  Cisco probably pays for the 
super powerful AV1 transcoding servers from the savings on reduced network 
infrastructure needed because the AV1 streams require less network bandwidth 
than H.265 streams would.

Webex like all of those apps use streams sent to the Cisco Webex server.  So 
for now, H.264 streams go from a Webex participant to the Webex server, and are 
likely transcoded to AV1 with super powerful servers, then sent back out to all 
participants.  If the Webex client is on a mobile phone with a CPU that has an 
AV1 encoder chip then Cisco encodes it to AV1 from the participant.

>https://www.videolan.org/developers/x265.html
>can be linked to vlc and ffmpeg, and anything linked to them.

Ffmpeg binaries are a patent violation and distributing them is a violation.  
It is small enough that MPAA-LA is not going after them.  But it makes it 
impossible to use ffmpeg with libxh265 in anything corporate.  MPAA-LA does not 
care about you viewing your security cam in your house, LOL.  In any case the 
corporate types use CPU's that have H.265 hardware codecs.  Reolink uses the 
Novatek NT98562 hardware encoder chip for example:

https://serhack.me/articles/introduction-firmware-analysis-ip-camera-reolink/

AV1 is designed to use a lot less CPU and power for decoding than encoding.  
You can use ffmpeg compiled with libdav1d and get all the fast AV1 decoding you 
want on any platform you want.  But to encode with ffmpeg needs libaom and it's 
an extraordinarily painful process.  We are talking hours for just a short few 
minute video.  Microsoft hands out an AV1 decoder for free as well.  Firefox 
also uses libdav1d and they also added support for hardware AV1 decoding 
recently. AV1 decoding is NOT the issue with ffmpeg or web browsers and with 
transcoding an incoming AV1 stream, so viewing AV1 in a browser is NOT the 
problem.  ENCODING is the problem and that will have to take hardware encoders 
and support for them.

The reason that cams like the Reolink cams use H.265 to encode is because right 
now the hardware AV1 encoders are way more expensive (Nvidia ADA Lovelace for 
example)   Even with Novatek having to pay the MPAA-LA patent their H.265 
hardware encoder chip is cheaper than a hardware AV1 encoder.  Now.   That will 
change in the future, though.

>https://www.libde265.org/blog/2014/02/22/gstreamer-4k-h265-hevc-plugin/
>Anything that uses gstreamer can play h.265 with this gst plugin and
>libde265 library..

None of this hodgepodge of programs is going to be able to keep up with 
encoding a video stream using
A low power CPU like the ARM A9 in a camera.  That's why they use hardware 
encoders.

>Whether a plugin/extension/HTML5/js/nodejs can be massaged so as to display in 
>a web browser is another exercise.

Once more it's pointless since Chrome supports the hardware decoders in Kaby 
Lake and later CPUs that have them.

>H.265 is a topic on the Zoneminder forums, so they are aware:
>https://forums.zoneminder.com/viewtopic.php?t=31787

Actually, everything on that above link is wrong.  The first post says:

"the issue is, once enabled, zoneminder no longer allows you to watch saved 
events or scrub multiple events."
 
Which is completely wrong since I'm staring at a Zoneminder saved event that is 
saved in H.265 right this second with no problems!

There's also a post in that thread about decoding H.265 in Javascript which is 
nuts because because Chrome/Edge on modern hardware can already display native 
H.265.  The whole javascript idea would only benefit Firefox, and Chrome 
running on older hardware.  It would be a lot less work to just write a patch 
for Firefox to use the hardware decoder.  Mozilla did this for the hardware AV1 
decoders already, they can do it for the hardware H.265 decoders easily.

I think the posters in that thread really were unclear on the issue.  Of 
course, that thread is older than the fix that Google made to Chrome to support 
hardware decoders.

>https://forums.zoneminder.com/viewtopic.php?p=129677&hilit=H.265#p129677   

This link is accurate.  ZM transcodes incoming H.265 or any other video codec a 
camera might use into H.264 for the live view.  The initial poster of that 
thread very likely had some other issue in his configuration.

>Unfortunately, I missed your Zoneminder talk. I have it running here with 2 
>cellphones [1] and just added a Reolink E1 >Pro [2]. Once I figured out that I 
>needed their windows app (WINE FTW!) to activate rtsp and ONVIF I was able to 
>find >the h264 s

Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-03-02 Thread King Beowulf
On 2/26/23 20:31, Ted Mittelstaedt wrote:
> Hi All,
>
> I have a perplexing question I am seeking answers to.  Note that this DOES 
> concern BOTH Windows and Linux, I'll start off with Windows.
>
> So as I mentioned in my talk on security cams the Reolink cam I passed around 
> outputs video over the network.  There are 2 streams it makes available, a 
> primary stream and a substream.
>
> The primary stream is the full resolution of the camera and it outputs in 
> H.265.  The substream is a much more limited resolution of the camera and it 
> outputs in H.264
>
> 



I'm not going to weigh in on any F/OSS "religious war", and I could care
less about what MS Windows has or doesn't, but there are workarounds
since only the h.265 binaries are patent encumbered, IIRC. 
Interestingly, the same patent encumbrances cover h.264, but here,
Mozilla partnered with Cisco:
https://support.mozilla.org/en-US/kb/open-h264-plugin-firefox

I suppose if Cisco switches to h.265 for video conferencing, this will
be all me a moot point.

https://www.videolan.org/developers/x265.html
can be linked to vlc and ffmpeg, and anything linked to them.

https://www.libde265.org/blog/2014/02/22/gstreamer-4k-h265-hevc-plugin/
Anything that uses gstreamer can play h.265 with this gst plugin and
libde265 library.

Whether a plugin/extension/HTML5/js/nodejs can be massaged so as to
display in a web browser is another exercise.

H.265 is a topic on the Zoneminder forums, so they are aware:
https://forums.zoneminder.com/viewtopic.php?t=31787
https://forums.zoneminder.com/viewtopic.php?p=129677&hilit=H.265#p129677


Unfortunately, I missed your Zoneminder talk. I have it running here
with 2 cellphones [1] and just added a Reolink E1 Pro [2]. Once I
figured out that I needed their windows app (WINE FTW!) to activate rtsp
and ONVIF I was able to find the h264 streams.  why were these disabled
by default and no web console!

-Ed

-
[1]
https://www.linuxgalaxy.org/kingbeowulf/repurpose-cellphones-as-home-security-cameras/

[2]
If you happen to know how to get the Zoneminder camera motion control
working on E1 pro, ping me offlist!



Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-02-28 Thread Ted Mittelstaedt
m compiled on openSUSE should work - if you are running 
openSUSE on a Kaby Lake or later CPU  If it does not then the Chromium 
maintainer for openSUSE needs to be informed and a bug filed with their 
compilation.

The issue though is what the various derivative browser projects do when they 
are compiled and run on a NON-Kaby lake CPU.  As I have discovered with Ubuntu, 
Brave reports no support, Firefox reports no support (obviously) and Chromium 
only supports it if you build it with libx265 (the source for that is available 
that that URL I posted where the Chromium binaries are that have the software 
support)

I would say it's a bug if Brave, Opera and Chrome all open the video window and 
just stall out.  Instead they should be reporting "codec not available" or 
"H.265 hardware codec not present in system" some reasonable error message.  
That's what I get with Brave on Ubuntu, and that's what you SHOUD be getting on 
openSUSE.

On Ubuntu 20, the specific error message from Brave is  "The video could not be 
loaded, either because the server or network failed or because the format is 
not supported."  This is in fact a duplicate of the Firefox error message on 
ALL CPUs.

Ted
 

-Original Message-
From: American Citizen  
Sent: Monday, February 27, 2023 6:04 PM
To: Portland Linux/Unix Group ; Ted Mittelstaedt 

Cc: Portland Linux/Unix Group 
Subject: Re: [PLUG] Can someone enlighten me on H.265/HEVC

Ted

I am running openSuse Leap 15.4 latest and attempted to run the
https://test-videos.co.uk/bigbuckbunny/mp4-h265 video

Mozilla Firefox gets codec error and aborts

Brave, Opera, and Chrome all open the video window, then stall out.

I wonder if someone should contact the Packman people on this?? They seem to 
stay updated on all linux media things.

- Randall




Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-02-27 Thread American Citizen

Ted

I am running openSuse Leap 15.4 latest and attempted to run the 
https://test-videos.co.uk/bigbuckbunny/mp4-h265 video


Mozilla Firefox gets codec error and aborts

Brave, Opera, and Chrome all open the video window, then stall out.

I wonder if someone should contact the Packman people on this?? They 
seem to stay updated on all linux media things.


- Randall




Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-02-27 Thread Ted Mittelstaedt
Try this:

Go to the following in Firefox:

https://test-videos.co.uk/bigbuckbunny/mp4-h265

Click Download  on the first one - you will get the codec error

If your CPU is Kaby Lake, try that on Chrome.

If not, do it from the Debian-compiled Chromium off the link I posted and it 
will work.

Youtube is probably looking at the browser header and transcoding the video on 
the fly to something other than H.265

Ted

-Original Message-
From: PLUG  On Behalf Of MC_Sequoia
Sent: Monday, February 27, 2023 4:40 PM
To: Portland Linux/Unix Group 
Cc: Portland Linux/Unix Group 
Subject: Re: [PLUG] Can someone enlighten me on H.265/HEVC

"Like I said the only option for Firefox, apparently, is downloading the H.265 
video, transcoding it to H.264 via Ffmpeg, then viewing it in Firefox."

I'm running Linux debian 4.19.0-22-amd64 #1 SMP Debian 4.19.260-1 (2022-09-29) 
x86_64 GNU/Linux with Firefox 102.5.Oesr and I can play this HEVC H.265 Youtube 
test video, https://www.youtube.com/watch?v=Fa2bL--exAM





Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-02-27 Thread MC_Sequoia
"Like I said the only option for Firefox, apparently, is downloading the H.265 
video, transcoding it to H.264 via Ffmpeg, then viewing it in Firefox."

I'm running Linux debian 4.19.0-22-amd64 #1 SMP Debian 4.19.260-1 (2022-09-29) 
x86_64 GNU/Linux with Firefox 102.5.Oesr and I can play this HEVC H.265 Youtube 
test video, https://www.youtube.com/watch?v=Fa2bL--exAM





Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-02-27 Thread Ted Mittelstaedt
Just to add to this - the Brave web browser works exactly the same as the 
production Chrome browser works.  (I understand it uses the Chromium engine so 
maybe that is why)

It supports H.265 on a Kaby Lake and later CPU but not on a pre Kaby Lake CPU  
(at least, on Windows. I'll have to test on Ubuntu)

Firefox, OTOH, does NOT support H.265 on EITHER a pre or post Kaby Lake CPU

Ted

-Original Message-
From: PLUG  On Behalf Of Ted Mittelstaedt
Sent: Monday, February 27, 2023 11:51 AM
To: Portland Linux/Unix Group 
Cc: Portland Linux/Unix Group 
Subject: Re: [PLUG] Can someone enlighten me on H.265/HEVC

On Ubuntu, ffmpeg and it's libraries are not installed by default, and Firefox 
is installed.

However, even installing via apt install ffmpeg later, Firefox does not use 
those libraries, despite the fact that the installed ffmpeg is indeed compiled 
with --enable-libx265 and /usr/lib/libx265.so.199 is present in the system 
(after installing ffmpeg)

Note that Firefox COULD BE COMPILED to use a HARDWARE based H.265 
implementation if available on The platform it is running on.  In this case, 
there would be no royalty payment required to MPAA-LA from Mozilla

But as I said, this is a religious war.  Mozilla devs appear to be fighting 
every attempt to even include support That legally would not be requiring them 
to pay royalties.

I believe if you attempt to load a H.265  .mp4 in your Archlinux firefox you 
will find it won't play, either.

Like I said the only option for Firefox, apparently, is downloading the H.265 
video, transcoding it to H.264 via Ffmpeg, then viewing it in Firefox.  Which 
is pointless since you can just install VLC on Linux and view the
H.265 file directly.  Or compile Chromium with libx265.

Ted


-Original Message-
From: PLUG  On Behalf Of carl day
Sent: Monday, February 27, 2023 10:57 AM
To: Portland Linux/Unix Group 
Cc: Portland Linux/Unix Group 
Subject: Re: [PLUG] Can someone enlighten me on H.265/HEVC

Maybe distros are different, using Archlinux Firefox depends on ffmpeg, ffmpeg 
depends on libx265 [can make Chrome/Chromium unGooGled]

On 2/27/23, MC_Sequoia  wrote:
> "Is it possible to get Firefox to display HEVC videos?  Everything I 
> have read indicates the Mozilla developers have some religious war 
> thing going on with MPEG-LA and refuse to put support into Firefox for it -"
>
> HEVC isn't supported in Firefox because it's no a license-free codec.
>
> Some people might color that as a "religious war", but those people 
> don't understand the foundational principles and underpinning values 
> and social contracts of Linux, Open Source and the Mozilla Foundation.
>


Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-02-27 Thread Ted Mittelstaedt
On Ubuntu, ffmpeg and it's libraries are not installed by default, and Firefox 
is installed.

However, even installing via apt install ffmpeg later, Firefox does not use 
those libraries, despite the fact
that the installed ffmpeg is indeed compiled with --enable-libx265 and 
/usr/lib/libx265.so.199 is
present in the system (after installing ffmpeg)

Note that Firefox COULD BE COMPILED to use a HARDWARE based H.265 
implementation if available on
The platform it is running on.  In this case, there would be no royalty payment 
required to MPAA-LA from
Mozilla

But as I said, this is a religious war.  Mozilla devs appear to be fighting 
every attempt to even include support
That legally would not be requiring them to pay royalties.

I believe if you attempt to load a H.265  .mp4 in your Archlinux firefox you 
will find it won't play, either.

Like I said the only option for Firefox, apparently, is downloading the H.265 
video, transcoding it to H.264 via
Ffmpeg, then viewing it in Firefox.  Which is pointless since you can just 
install VLC on Linux and view the
H.265 file directly.  Or compile Chromium with libx265.

Ted


-Original Message-
From: PLUG  On Behalf Of carl day
Sent: Monday, February 27, 2023 10:57 AM
To: Portland Linux/Unix Group 
Cc: Portland Linux/Unix Group 
Subject: Re: [PLUG] Can someone enlighten me on H.265/HEVC

Maybe distros are different, using Archlinux Firefox depends on ffmpeg, ffmpeg 
depends on libx265 [can make Chrome/Chromium unGooGled]

On 2/27/23, MC_Sequoia  wrote:
> "Is it possible to get Firefox to display HEVC videos?  Everything I 
> have read indicates the Mozilla developers have some religious war 
> thing going on with MPEG-LA and refuse to put support into Firefox for it -"
>
> HEVC isn't supported in Firefox because it's no a license-free codec.
>
> Some people might color that as a "religious war", but those people 
> don't understand the foundational principles and underpinning values 
> and social contracts of Linux, Open Source and the Mozilla Foundation.
>


Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-02-27 Thread Ted Mittelstaedt
I understand it but try explaining that to Reolink.

What it boils down to for many is either you lose $1000 on buying a new 
catalytic converter when the skanks cut yours off and run off with it, or you 
fork over $300 in cameras and cabling you do yourself, plus some hours on an 
older PC, to get video that allow the cops to catch the skanks

Since I want my own catcon left in peace I will help figure out how to support 
HEVC.  Foundational principles and underpinning values don't work on an empty 
stomach because you had to spend your grocery bill supporting some skank's drug 
habit by repeatedly buying new catcons for them to steal and sell.

Fortunately for us, the big boys like Intel and company understand this which 
is why they forked over the cash to develop AV1 and why they are coming out 
with CPUs with AV1 codecs.  They have had enough of MPA-LA just like Mozilla 
has, but unlike me they had the cash to do something about it.

But until then, me and Reolink are stuck with HEVC.

This is a game of elephants.  We are just trying to avoid being stepped on.

Ted

-Original Message-
From: PLUG  On Behalf Of MC_Sequoia
Sent: Monday, February 27, 2023 8:54 AM
To: Portland Linux/Unix Group 
Cc: Portland Linux/Unix Group 
Subject: Re: [PLUG] Can someone enlighten me on H.265/HEVC

"Is it possible to get Firefox to display HEVC videos?  Everything I have read 
indicates the Mozilla developers have some religious war thing going on with 
MPEG-LA and refuse to put support into Firefox for it -"

HEVC isn't supported in Firefox because it's no a license-free codec. 

Some people might color that as a "religious war", but those people don't 
understand the foundational principles and underpinning values and social 
contracts of Linux, Open Source and the Mozilla Foundation. 


Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-02-27 Thread carl day
Maybe distros are different, using Archlinux
Firefox depends on ffmpeg, ffmpeg depends on libx265
[can make Chrome/Chromium unGooGled]

On 2/27/23, MC_Sequoia  wrote:
> "Is it possible to get Firefox to display HEVC videos?  Everything I have
> read indicates the Mozilla developers have some religious war thing going on
> with MPEG-LA and refuse to put support into Firefox for it -"
>
> HEVC isn't supported in Firefox because it's no a license-free codec.
>
> Some people might color that as a "religious war", but those people don't
> understand the foundational principles and underpinning values and social
> contracts of Linux, Open Source and the Mozilla Foundation.
>


Re: [PLUG] Can someone enlighten me on H.265/HEVC

2023-02-27 Thread MC_Sequoia
"Is it possible to get Firefox to display HEVC videos?  Everything I have read 
indicates the Mozilla developers have some religious war thing going on with 
MPEG-LA and refuse to put support into Firefox for it -"

HEVC isn't supported in Firefox because it's no a license-free codec. 

Some people might color that as a "religious war", but those people don't 
understand the foundational principles and underpinning values and social 
contracts of Linux, Open Source and the Mozilla Foundation.


[PLUG] Can someone enlighten me on H.265/HEVC

2023-02-26 Thread Ted Mittelstaedt
Hi All,

I have a perplexing question I am seeking answers to.  Note that this DOES 
concern BOTH Windows and Linux, I'll start off with Windows.

So as I mentioned in my talk on security cams the Reolink cam I passed around 
outputs video over the network.  There are 2 streams it makes available, a 
primary stream and a substream.

The primary stream is the full resolution of the camera and it outputs in 
H.265.  The substream is a much more limited resolution of the camera and it 
outputs in H.264

Normally the way you configure the NVR is to do all the motion analysis and 
triggering on the substream, because it is not compressed and since it's lower 
resolution this is much less taxing on the CPU of the NVR since it does not 
have to decompress every frame just to do motion detection analysis on it.   
Then you set a trigger on the main stream so the NVR only records the main 
stream when there's motion.  Basically the NVR just throws the H.265 video 
directly to the hard disk, no analysis.

This of course creates a bunch of H.265 archival event *.mp4 files on the hard 
disk of the NVR should you ever have to go back and review video.

Now, under a fresh install of Windows 10 build 22H2 , what I have discovered is 
that with a brand new Windows 10 installation on a PC that has a pre-Kaby Lake 
CPU, (pre Kaby Lake CPUs do not have a hardware H.265 codec in them) all 3 of 
the major web browsers - Chrome, Edge, and Firefox, will NOT show the video 
files, and will throw a message about codec being unavailable.  In addition, 
Windows Media Player will not play it either.  Nor will the latest "Media 
Player" player (there is a version of Media Player which is the player that 
replaced Groove Music in Windows 11 that works on Windows 10 that Microsoft 
accidentally let slip out)

If you go to the Microsoft Windows Store, and you download a 99 cent HEVC codec 
from Microsoft, titled HEVC Video Extensions, then Edge will now play the 
videos as well as the old Windows Medial Player and the new Media Player.

(I am aware that VLC and Klite codec with Windows Media Player Classic contain 
open source HEVC decoders that nobody has paid a patent fee to MPEG-LA to that 
will play these videos but I'm not going to go there at the moment.

Under a brand new installation of Windows 11 build 22H2 on a Kaby Lake CPU or 
later (such as my laptop which has a Core i5-8365U CPU in it) _BOTH_ Edge and 
Chrome _will_ display H.265 encoded videos WITHOUT the 99 cent HEVC video 
extensions app from Microsoft, and without any other HEVC extension.

In the past, Microsoft included this thing called "HEVC Video Extensions for 
Device Manufacturer" in older Windows 10 builds.  Allegedly, during windows 
installation if it detected a Kaby Lake CPU it would install this.  However, it 
appears that later versions of Edge broke compatibility with that although the 
Windows Media Player did work with it on Kaby Lake.  THIS EXTENSION IS _NOT_ 
INSTALLED on a fresh Windows 11 build 22H2 on a Kaby Lake CPU.

When I had Windows 10 on my Kaby Lake CPU laptop, either with or without the 
HEVC extensions, Chrome refused to display H.265 videos.

Under the latest version of Ubuntu, running on a pre-Kaby Lake CPU, Firefox 
will NOT display H.265 videos which is what I expected.

However, there is a version of Chrome/Chromium that appears to be compiled with 
a software H.265 decoder in it located at 
https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding/releases that 
DOES play HEVC videos on Ubuntu on systems that have a pre Kaby Lake CPU.

So, what I am trying to find out is the following:


  1.  Is it possible to get Firefox to display HEVC videos?  Everything I have 
read indicates the Mozilla developers have some religious war thing going on 
with MPEG-LA and refuse to put support into Firefox for it - EVEN WHEN the 
underlying CPU is Kaby Lake, with the hardware codec.  They seem to think that 
they can push VP9 or AV1 codecs but the problem is vp9 is not as efficient as 
HEVC and none of the cheaper security cameras seem to output in this format 
anyway - they all output in HEVC.  I assume some of the cost of the camera is a 
patent fee paid to MPEG-LA
  2.  Obviously, the compiled version of Chromium with the software HEVC 
decoder in it has not yet come to the attention of the MPEG-LA's lawyers who 
have not yet filed a takedown request on it (I am not going to get involved in 
discussing that patent mess - it's well documented on the Internet if you care 
to look for it)  It's built on the open-source Chrome code.  I don't know, of 
course, if it's code will actually use a hardware decoder if one is present or 
not, but I KNOW it's decoder must have a software codec in it since it runs on 
hardware with an Intel Core i5-4570 CPU (which is definitely pre-Kaby Lake)

I have read that it should be possible for anyone to download Chrome and 
compile it with the h265 codec enabled since apparently Chrome's developers 
distribut