New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transcoding the parameters are no longer set in the generated m3u8 file #890
Comments
Why do you need the parameters on the icon? |
Do you mean that we no longer need them? |
No, the question is why do you need the extra parameters on the icon. |
When clicking on the transcode button the link generates a m3u8 file which is downloaded. |
Sorry. No. BUT .. The current documentation needs to be updated. |
I have checked the source . I think there is something wrong on your image. |
The documentation you refer to is absolutely not relevant to the point discussed here, I am not writing a plugin calling API, I am a normal user generating a .m3u8 file from the webif and editing it and then playing it with my player to see what best work for my setup. My image is working fine since I test on a VU+ Solo4K where the streaming port is 8002 (and streaming is not possible on port 8001), so we are not in the particular case that you point me out. |
If you box is one of these models: if model in ("Duo4K", "Uno4K", "Uno4K SE", "Ultimo4K", "Solo4K", "Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus", "UHD Quad 4k", "UHD UE 4k") or machinebuild in ('dags7356', 'dags7252', 'gb7252', 'gb7356'): You get an m38u without any extra parameters. Summary: |
Check my last commit. |
The point here is that OpenPLi's streamproxy supports per-URL transcoding parameters on all hardware that supports transcoding, on both ports 8001 and 8002. This is not the case for images that use VU+' original transtreamproxy, which require the transcodingsetup plugin to set the parameters (which will then be the same for all transcoding requests). The only relevance is the port number, as boxes supporting per URL transcoding (xtrend, gfutures) only support port 8001 by default (OpenPLi doesn't install the streamproxy by default on these boxes, as it is not needed). |
I´ve tested the changes and now it works on openpli with streamproxy to set the parameter over the URL parameter. Great |
Why the test on /proc/stb/encoder/0/apply? If you want to assess xtrend/gfutures interface, use test on /dev/dvb/encoder Also the original xtrend interface had a bug regarding http usage, parameters where expected to be in this format: http://host?var1=val1**?**var2=val2**?**var3=val3 but that's wrong. It's supposed to be http://host?var1=val1**&**var2=val2**&**var3=val3 This bug has been resolved, at least in OpenPLi's enigma2, so OWIF should actually use the proper layout. |
Hi Erik, why test ../apply, because this folder exists on all VU+ models with transcoding.
-- Why not & as url param? Yes, there was a bug. |
I think you don't understand completely what I am saying. All receivers (not just VU+, but also Axas, Xsarius, etc) that use the broadcom transcoding interface have a device node called "/dev/bcm_enc0" (sorry, not /dev/dvb/bcm_enc0 like I said earlier). If a second encoder is present, there will also be a /dev/bcm_enc1 device node. If you test for these you will know, I think, everything you need to know. If any of these is present, there is a Broadcom style interface available (so using either streamproxy or transtreamproxy on port 8002 or 8003). If, on the other hand a device node /dev/encoder0 is present (and in the same way /dev/encoder1), there will be transcoding available using the "xtrend" interface, so using enigma on port 8001. I don't understand why OWIF would need to know more? I very much dislike the lists of receiver models hardcoded in OWIF. Also I would appreciate it if OWIF would start using correct http syntax, as described above. |
Hi Erik,
How can i check what port do i have to use? In other words, we don't need to check the models. |
Hi Erik, Please check this: I won't commit before testing. |
Hi Erik, I have found a different check for transcoding on OWF.
|
If tested the code from eric on my unok4se with openpli 7.0 it works fine for live TV and recorded movies with streaming and trancoded streaming I can´t test the xtrend version |
Apparently I am wrong here. It used to be like I described, but apparently either Broadcom (SDK) or VU+ added a device node for /dev/encoder0 at some point, which does nothing, in the end, which is a PITA. On the other hand, I am pretty sure the "poort 8001" receivers will NOT have /dev/bcm_enc*. |
What does this check determine -> /proc/stb/encoder/0/bitrate I think both Broadcom (8002) and Xtrend (8001) have them, I am not sure, I don't have "Xtrend" transcoding receivers ready at the moment. Maybe we should have a brainstorm which combinations are possible and how OWIF should best detect them and handle them. I can supply the data for OpenPLi, either using Xtrend (enigma) transcoding or Broadcom transcoding (using the streamproxy which apparently no other image builder is using). If the streamproxy is available, you could detect it's presence searching for the file /etc/enigma2/streamproxy.conf. It it's there, you can assume streamproxy, running by default at port 8002 and 8003, although the listening ports may be overriden with "listen = " lines, like this: If no /dev/bcm_enc0 is present, check for /dev/encoder0, if it is present, assume Xtrend style transcoding, using port 8001. If none is present, no transcoding is available. How about something like that? For detecting streamproxy you could also scan the process list, but I think that's less efficient. |
Hi Erik, this check is very very old and it seams ok and working because without return "True" you won't get the transcoding icon. |
Just fired up my ET10000: I has:
I doesn't have:
Any other boxes need checking? |
Hi @WanWizard , Thanks. |
This check works (at least the lines following) because the dummy Transcoding Setup plugin in OpenPLi is called TranscodingSetup (v.s. TransCodingSetup). I don't like it very much though. I don't understand the "bitrate" test though, checking for /proc/stb/encoder would be sufficient to establish transcoding availability. |
I don't know the first and the last, they are not supported by OpenPLi. I do have a "Formuler F1", but I wasn't aware that there was a trancoding version for it. I've looked in the OE-A core, and appearently there are "al" drivers used in Russia than also seem to support transcoding. The drivers OE-A uses are not available on the Formuler server, so I guess they aren't that standard... |
My uno4kse has,
I think the same is on uno4 and solo4k |
Yes, that is typical for VU+, they're using Broadcom/SDK transcoding, just like many other brands. Only Zgemma, Xtrend and Mut@nt (and derivatives) have another interface. The "unofficial" driver for the Formuler 1 (which we have been aware of) are most probably using the Xtrend interface. |
Does anybody know something from these models: ew7356, formuler1tc, tiviaraplus? Maybe from the OWIF source itself? If they're marked as "transcoding using port 8002" then I think that says enough. Then they'll also have the Broadcom interface, including /dev/bcm_enc0. |
Thanks to google I found this: triviaraplus is Triviar Alpha Plus and is BCM7356 Formuler 1 TC the TC means transcoding seems also to be a BCM7356. Hope this help. |
Then we had probably a bug in the previous code because of using 8001 as transcoder port for BCM7356.
|
Who knows... Based on the fact the Formuler uses drivers that have an overall appearance very much like the XTrend (1/2gen) and (1gen) Mut@nt drivers, I'd bet on XTrend interface. That would imply using port 8001 would be correct. The other ones I have no information on. What SoC is used, has no influence on the interface, BTW. |
Jörg, I saw you last commits, they seem like a big improvement to me, thx. |
Great; I will test it soon on my unokse with openpli |
I´ve tested now with the newest stream.py and httpserver.py (with a little workaround for the auth parameter which streamproxy will use). Streaming and trancoded streaming of live channels and recorded movies. Everthing is fine on un4kse/openpli 7.0 |
I will re-pin OWIF in OpenPLi 7.0RC, so you will have it with the latest change and then auth should work without patching. |
It works now without the workaround. I´ve copied the changed sourcefiles from openwebif to my box Thx |
What workaround? |
It is this topic https://forums.openpli.org/topic/65009-streamproxy-and-authentication/ In short: streamproxy looks at the OWIF paramter config.OpenWeb.auth in the settings file and not at the config.OpenWeb.auth_for_streaming. To simulate that streamproxy has an knowledge how auth_for_streaming is set I´ve done the following workaround in openwebif plugin.py and httpserver.py on my box: I´ve made next tests today to check if my idea for streamproxy to use the OWIF config.openWebif.auth_for_streaming instead of config.openWebif.auth to decide if streaming use auth or not. If I use a mobile client which is able to auth both (HTTP OWIF port and streamingport) it work fine with HTTP auth and streaming port auth is enabled. I know it is a bad workaround but it works |
Sorry all together, |
Please continue in forum. |
a ok. i know this. |
Hi,
In former version of OWIF when we use the transcoded icon the generated url look like:
http://stb_ip:8002/1:0:1:E08:2D50:13E:820000:0:0:0:?bitrate=2000000?width=720?height=480?aspectratio=2?interlaced=0
Now we only have:
http://stb_ip:8002/1:0:1:E08:2D50:13E:820000:0:0:0:
The options: bitrate= width= height= aspectratio= interlaced= are no longer set in the transcoded url.
Can you please have a look at this bug?
Thanks,
Pr2
The text was updated successfully, but these errors were encountered: