H.264 Linux

0 views
Skip to first unread message

Tinisha

unread,
Aug 4, 2024, 8:16:38 PM8/4/24
to tiataserpast
Thepackage that fixed it for me on 16.04 is the gstreamer plugins bad.I got a message about Python-3.5 minimal wanting to install some MPEG-4 AAC plugin, which did not do anything. To fix:In a terminal type:

I think this is part of the package gstreamer-plugins-bad. If you search for this in Software Center it should show up. It might be that you have to activate the multiverse repository (start Software & Sources and tick the appropriate box for this).


I had the same problem with playing videos. Video player wanted to download mpeg - 4 acc decoder and h.264 decoder, but this hadn`t happened due to legal reasons (-if I understand correctly what was written in the window what appears after pc was trying to download mentioned programs).


After I unclicked Software & updates -> Ubuntu software -> "unclick" Software restricted by copyright or legal issues (multiverse) all start working again. (I mean that after this operation pc downloads what he needed and that it started working).


The main players seem to be x264, and xvid, and both are GPL. This means we can't integrate decoding capabilities into a playback application without licensing the whole thing as GPL, so we can't use either.


IANAL, but if you're shipping anywhere software patents are enforced, not only do you have to pay the MPEG LA royalties for h.264 decoding, but the license might preclude you from using the open-source decoders anyhow. I've heard of similar annoyances applying to other codecs.


If you ship unmodified binaries created from unmodified GPL source and your application simply invokes them, I believe your entire app does not have to be GPL. You may have to include GPL documentation and/or the source of the bundled GPL apps, but if you are not making any modifications or linking against GPL code, your code should be unaffected.


Take a look at the Intel IPP Libraries. They are not free, but are very cheap (a once-off payment of a hundred dollars or something). You can also get a free evaluation to test it out. The licence is very open, and as far as I know allows you unlimited distribution in your application forever once you buy it.


I've done some work with FFmpeg, though it was limited to libavformat (the codec part is called libavcodec). I found the API to be surprisingly straight forward and easy to use. They provide a few really useful and enlightening samples in the standard source distribution.


I'm using an AM437x GP EVM running ti-processor-sdk-linux-am437x-evm-03.02.00.05 pre-built image booting from SD card. I have an mp4 (h.264) file that I want to decode and measure the performance in terms of framerate and CPU loading. The file I'm decoding has the following specs as reported by vnc.


I put the file into the tmp filesystem which I believe is RAM based as opposed to reading from SD card. It didn't really make a performance difference though. It decodes properly and I can see it in a weston window. The problem I have is, it's only getting about what looks like about 5fps. I would have expected more I guess. top reports roughly 75% CPU load for gstreamer and another 11% for weston.

3a8082e126
Reply all
Reply to author
Forward
0 new messages