tag:blogger.com,1999:blog-3944174827064012298.post3599731985372901487..comments2023-12-19T16:55:37.721+01:00Comments on The Bugfree Blog ;-): Video with Animations on Raspberry Pi and A31s ComparedLuca Carlonhttp://www.blogger.com/profile/05071568155815750619noreply@blogger.comBlogger29125tag:blogger.com,1999:blog-3944174827064012298.post-69726965128021075932014-10-09T19:04:01.630+02:002014-10-09T19:04:01.630+02:00Ok, now I know where to point to. The problem with...Ok, now I know where to point to. The problem with PiOMXTexture and live tv is named weaving and it's related with the deinterlace process.<br />If anyone is curious about it, there is a good explanation about that on this site: http://www.100fps.com/<br />Regards,Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-47680562116447079992014-10-07T09:35:56.335+02:002014-10-07T09:35:56.335+02:00Yes, those are totally different components and do...Yes, those are totally different components and do different things.Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-22745979029877509582014-10-07T08:07:39.584+02:002014-10-07T08:07:39.584+02:00Hi Luca,
Sorry fir too much posting here!
Regardin...Hi Luca,<br />Sorry fir too much posting here!<br />Regarding the EGL rendering, is there any reason to use OMX.broadcom.egl_render instead of OMX.broadcom.video_render apart of the fact you want to decode image using hw?<br />Regards,Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-46719895268225285272014-10-01T00:16:41.858+02:002014-10-01T00:16:41.858+02:00Yes, I meant "ability to switch", I don&...Yes, I meant "ability to switch", I don't think I ever tried anything with more than one audio stream anyway.<br />As for the tearing effect, as I said in other posts, it is typically related to concurrency issues, but I can't be sure. I started to implement what was needed to fix it, I was almost done but I didn't complete it, so I can't confirm that theory is correct.Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-12076957984623029502014-09-30T23:40:39.080+02:002014-09-30T23:40:39.080+02:00Yes, the first I thought was to checking the commi...Yes, the first I thought was to checking the commits. Then, checking both (PiOmxTextures and XBMC), I realized that there were some important file implemented on a totally different way and finally, I get a nice mess on my head. For example, in your backend, RPB.cpp is implemented on a different way. I am electrical engineer, so I have a huge lack of software knowledge, so I would take me a while to understand all this thing, but I will do it. :)Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-64872587084145345802014-09-30T23:29:36.101+02:002014-09-30T23:29:36.101+02:00All you see if 100% live tv streaming. I'm rea...All you see if 100% live tv streaming. I'm really impress about how you backend works without to much modifications. There is a little trick behind these video. Nowadays, using tvheadend, I get a list of channels with their http link. So, I QMapped previously on QT an used as a fake-pvr pluging. Not more backends but yours.<br />After a quick review to your code, I saw some comments of you saying that the stream audio selection is a TODO (if I remember well). So, I guess the problem here is that the backend is not able to select one of them correctly. Keep in mind that the live tv is get from the local air tv, so there is my local language and english audio over the same channel. So, there is multiple audio per channel.<br />About the codecs, I configured the channels to be streamed using MPG2 (yes, I had to buy the license) and H264.<br />My plan is get the video work well and then, implement audio selection and subtitles. Then, using tvheadend as addon for real channel sorting and updating.Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-90608406168914885792014-09-30T23:16:52.928+02:002014-09-30T23:16:52.928+02:00Have a look at previous posts about this project: ...Have a look at previous posts about this project: you'll see that PiOmxTextures (the portion that is linked to the Qt backend) is intentionally an integration of omxplayer from XBMC. I removed as much code outside that project as possible and confined it to a subdirectory so that it is possible to integrate changes from omxplayer pretty quickly. Merges were done many times to leverage new implementations in omxplayer (have a look at the commits).Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-79274734137236708202014-09-30T23:11:57.415+02:002014-09-30T23:11:57.415+02:00Hi Luca!
Well, I've been trying some different...Hi Luca!<br />Well, I've been trying some different configuration around the iptv and it seems to solve the horizontal lines most of the times and definitely improve the waving effect over the moving objects. Anyway, the results are not perfect and this changes are just a little improve.<br />Anyway, when I try to play the big bug bunny video the horizontal lines still appears. :(<br />After a initial inspect, I've realize that there are some similarity between your project and XBMC (like OMXCore, OMXClock, RPB, etc), so my plan here is to update (or at least try) the common files in order to check if the runtime performance changes... but is hard to figured out how to join all the pieces of the puzzle.<br />If I achieve something interesting I will post it here.Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-29544727796493747932014-09-30T23:03:04.458+02:002014-09-30T23:03:04.458+02:00If you're using PiOmxTextures and you used to ...If you're using PiOmxTextures and you used to script I provided to build ffmpeg then many decoders were disabled. You may check that. Never tested DVB-S/2 streams which typically have many h262 streams... but I see it is a mkv container... are you really getting the live stream or did you save the recording with tvheadend to file?Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-31384851059617682692014-09-30T22:56:41.628+02:002014-09-30T22:56:41.628+02:00Awsome result :-)
Those errors seem to say mp2 is ...Awsome result :-)<br />Those errors seem to say mp2 is not included in ffmpeg: so are you providing the tvheadend URL to the PiOmxTextures-based Qt backend? Or are you using some other backend?Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-65831309076478453302014-09-30T22:51:35.336+02:002014-09-30T22:51:35.336+02:00Interesting: do you mean the horizontal tearing di...Interesting: do you mean the horizontal tearing disappears with this change?Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-63848547636352814912014-09-30T12:31:52.780+02:002014-09-30T12:31:52.780+02:00After some intense test, horizontal line appears s...After some intense test, horizontal line appears sometimes. It just seems to be random issue. Here you have a video:<br />https://www.youtube.com/watch?v=0bt2VzSTUys&list=UUUoHcLBYWP--lCN8znifbrw<br />Please, take into account there is 0 optimization behind this.<br />First I should take a look to the switch channel connection speed and the stream audio. If there is more than one avaliable language I get these errors:<br /><br />[matroska,webm @ 0x1e70e60] Could not find codec parameters for stream 1 (Audio: mp2, 48000 Hz, 2 channels, s16p): unspecified frame size<br />Consider increasing the value for the 'analyzeduration' and 'probesize' options<br />[matroska,webm @ 0x1e70e60] Could not find codec parameters for stream 2 (Audio: mp2, 48000 Hz, 2 channels, s16p): unspecified frame size<br />Consider increasing the value for the 'analyzeduration' and 'probesize' options<br />[matroska,webm @ 0x1e70e60] Could not find codec parameters for stream 3 (Audio: mp2, 48000 Hz, 1 channels, s16p): unspecified frame size<br />Consider increasing the value for the 'analyzeduration' and 'probesize' optionsAtronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-41015609158441784762014-09-30T10:40:23.884+02:002014-09-30T10:40:23.884+02:00Hi everyone!
I just want to share with you a way t...Hi everyone!<br />I just want to share with you a way to get an important improve on the openmaxil lib on qt.<br />I am involved on a personal iptv project running over qt. My goal is use tvheadend to display some tv channels. I highly recommend you the MOI+ box. It's an amazing device that allows you to convert (in may case) DVB-T/T2 signal to multicast signal.<br />On my first try, the results were horrible: the already commented horizontal lines when quick color changes and a "wave effect" when there was quick movement images was ruining the whole thing.<br />Well, the "trick" to remove that is going straight way to the omx_textureprovider.cpp file and change the following:<br /><br />GLubyte* pixel = new GLubyte[size.width()*size.height()*4]; -->GLubyte* pixel = new GLubyte[size.width()*size.height()*24];<br />and<br />glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, size.width(), size.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, pixel); --> glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, size.width(), size.height(), 0, GL_RGB, GL_UNSIGNED_BYTE, pixel);<br /><br />Regarding the first change, if I am not wrong, the formula here is GLubyte* pixel = new GLubyte[size.width()*size.height()*bpp]. So, as I configure my environment to work over 24bpp, I think it's the correct confing.<br />The second change it's related with the first one. As I don't care about the Alpha, I turned the GL_RGBA to GL_RBG.<br /><br />I am not a good programmer, just a curios person, so if there is any expert here and I've done some bad thing, please, let me know.<br />Regards,<br /><br />PD: Here is the site that I've used to get my "inspiration":<br />https://www.opengl.org/sdk/docs/man/html/glTexImage2D.xhtmlAtronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-7021683309755395742014-09-22T18:47:29.111+02:002014-09-22T18:47:29.111+02:00Just tried sudo chmod a+rw /dev/vchiq, unfortunate...Just tried sudo chmod a+rw /dev/vchiq, unfortunately it doesn't exist when running my image on the banana, upon further research VCHIQ is a raspberry pi specific thing for communicating with the VideoCore and even if it did exist on my banana image it wouldn't work with Mali :( Going to try and replace qmlscene with a debian version and see if that makes the problem go away though I am not hopeful :(David Ealesnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-21633186551590314302014-09-22T16:54:37.205+02:002014-09-22T16:54:37.205+02:00That's most interesting will give that a whirl...That's most interesting will give that a whirl when I get chance. At the moment I am running android 4.2 on my Banana PI, and QT Multimedia actually works quite well without any fiddling unsure if it is using the GPU or if it is just the raw power increase over the Rasp PI.<br /><br />Android 4.4 image is available for the Banana, which supposedly allows XBMC etc to use hardware acceleration through the standard Android MediaCodec API, trouble is the image is rather buggy at the moment!<br /><br />I just wish the Raspberry PI foundation would consider releasing a more powerful model, The rumor appears to be that this wont happen until 2017! David Ealesnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-18614636939592615192014-09-22T12:58:57.710+02:002014-09-22T12:58:57.710+02:00Well, I've found one possible solution to your...Well, I've found one possible solution to your problem: sudo chmod a+rw /dev/vchiq<br />It works to me.Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-82406628055266544672014-09-18T14:03:20.881+02:002014-09-18T14:03:20.881+02:00After your comments, I was curious to know how to ...After your comments, I was curious to know how to make qtmultimedia work on the Banana Pi. From http://www.quora.com/How-does-XBMC-run-on-the-Banana-Pi, you can read the following:<br />"The Raspberry Pi's Core IV GPU is significantly different from the Mali GPU used on the Banana Pi. You can't reuse the Pi's hardware acceleration code on the Banana! omxplayer won't work on it."<br /><br />It seems there is no GPU support on the Banana Pi yet.Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-23952859428634733932014-09-15T15:56:50.806+02:002014-09-15T15:56:50.806+02:00Thanks for your replies guys, well I converted my ...Thanks for your replies guys, well I converted my raspberry image to banana PI, and it boots fine but when attempting to run qmlscene I am getting the error..* failed to open vchiq instance<br /><br />Currently trying to build a dev environment for working with Android as the Banana PI runs 4.4 nicely and I am hoping QT will be accelerated out of the box so to speak.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-56790254618125077962014-09-15T15:56:44.630+02:002014-09-15T15:56:44.630+02:00Thanks for your replies guys, well I converted my ...Thanks for your replies guys, well I converted my raspberry image to banana PI, and it boots fine but when attempting to run qmlscene I am getting the error..* failed to open vchiq instance<br /><br />Currently trying to build a dev environment for working with Android as the Banana PI runs 4.4 nicely and I am hoping QT will be accelerated out of the box so to speak.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-87213740788744940502014-09-14T18:19:57.805+02:002014-09-14T18:19:57.805+02:00Hi everyone,
If you really want to test it on Bana...Hi everyone,<br />If you really want to test it on Banana pi, you could try to download the official img from lemarker.org. There are two versions Debian based: Bananian and Raspbian for BPi. Then, cross-compile QT on it and do exactly the same as you did for RPi... I've no idea if there is any cross-compile tool for BPi.<br />I just want to say that Luca made and exellent work with POC Player and the OpenMax library for QT, but as he said sometime, it's just a proof of concept. The code needs to be improved to get better result.<br />My recomendation for you is to try to compile QT with Gstream and gst-omx. I've never handled to make it work properly, but if you do, maybe you can shared with us ;).<br />I always wonder how the xbmc team do it to make the video works like a charm on their version for RPi... but I suppose they use OpenGL for the GUI and omxplayer instead of QT.<br />Regards,Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-58859892112375913502014-09-14T13:24:07.277+02:002014-09-14T13:24:07.277+02:00This comment has been removed by the author.Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-53650296740847151522014-09-14T12:40:48.030+02:002014-09-14T12:40:48.030+02:00Sorry, I don't know Banana Pi. If there is a p...Sorry, I don't know Banana Pi. If there is a proper OpenMAX library with the same components something from PiOmxTextures may be portable.Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-22798256719475757102014-09-11T22:16:37.611+02:002014-09-11T22:16:37.611+02:00I managed to build your latest PiOmxTextures for t...I managed to build your latest PiOmxTextures for the Raspberry PI and it works wonderfully, trouble is the Raspberry PI is still a little slow for the project I am working on. Does anybody know if this will work on the Banana PI? Also is there anyway to convert my existing Raspberry PI image over to the Banana? It took a long long time to work out how to build PiOmxTextures correctly and I dont want to repeat it if it can be avoided! Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-64683268255937153162014-06-27T13:01:50.931+02:002014-06-27T13:01:50.931+02:00If you do tests on other platforms it would be int...If you do tests on other platforms it would be interesting if you could share the results.<br />Thanks!Luca Carlonhttps://www.blogger.com/profile/05071568155815750619noreply@blogger.comtag:blogger.com,1999:blog-3944174827064012298.post-56019231084800364872014-06-27T11:50:17.210+02:002014-06-27T11:50:17.210+02:00Mmm... I was wondering if it could be solved using...Mmm... I was wondering if it could be solved using SwapBehavior (using the double or triple configuration), but as always, things are more complicated than expected.<br />Just for testing, I am planing test your PiOmxTexture on a CubieBoard this weekeng. RPi has a much better GPU, but only for check what happens.<br />Thanks Luca, have a nice weekend!Atronhttps://www.blogger.com/profile/06982521310339664871noreply@blogger.com