eriksl / streamproxy

This stream proxy can replace the streamproxy, transtreamproxy and filestreamproxy on VU+ receiver. Care has been taken to always fetch all bufferend data, so the transcoding engine won't crash.
Other
11 stars 14 forks source link

integration of default_audio_pid on live transcoding #12

Open anudanan opened 5 years ago

anudanan commented 5 years ago
need changed Streaming.py (identical to Streaming2.py in develop branch) of Components/Converter
and lib/dvb/pmtparse.cpp of enigma2
eriksl commented 5 years ago

I don't think this will work actually. The base is good but streamproxy now uses web/streaming as the link to owif and from there to enigma to get a handle on a demux that is connected to a tuned tuner and can be read from.

web/streaming is not changed and will not give you the default_pid.

For this to work, the web/streaming2 url needs to be added to OWIF (see my example code) and streamproxy needs to be adjusted to use that url.

I am not sure if the OWIF guys will allow for an entry that is almost exactly the same, just for use of streamproxy.

I don't think they will allow for the entry web/streaming be REPLACED by this version as it used by all sorts of external programs that may not be able to handle the extra information. Also, those programs rely on this entry to be protected by a basic http authentication, to perform their own authentication, while streamproxy requires the url to be free of basic authentication. This will be ok when the streaming2 url is added, because only literally "web/streaming" will require authentication from OWIF and not "web/streaming2".

anudanan commented 5 years ago

With Enigmote and Dreamplayer it works fine. They don’t use the OWIF m3u file. i will make a additional test with the m3u file from OWIF

eriksl commented 5 years ago

It has nothing to with the client. It has to do with the interface between streamproxy and enigma. Streamproxy uses OWIF to request enigma to tune a tuner and setup a demuxer. In the same interface (the web/streaming url interface) enigma reports back to streamproxy what the pids are. As long as streamproxy uses web/streaming, it will never see the default audio pid, because that url doesn't send it.

I think you modified it locally on your own receiver, not?

anudanan commented 5 years ago

The tests on my uno4kse works with a channel with german and french Audio. If I configure the autolanguage one to French, then I get the French audio pid in default_audio_pid and ist works perfect. I have without any change of OWIF. I have debugged and tested it

eriksl commented 5 years ago

Can't work. Try to set up a connection to OWIF just like streamproxy does. You'll see there is no default audio entry returned.

Either you are streaming and not transcoding (and streamproxy is not involved) or it's pure luck.

anudanan commented 5 years ago

I have done this: Installing enigma2 from developer branch. Modified Streaming.py in Components/Converter for providing default_audio_pid. My modifier streamproxy process. Then I get an default_audio_pid Info in livetranscoding-Broadcom.cpp. I must say, it works and the audio in transcoding stream was French if I selected French in the audio settings of enigma. Have you done it in the same way? In use the normal OWIF

eriksl commented 5 years ago

See the topic. We can't change the web/stream url, we will need to create a second one and adapt streamproxy to it. Otherwise I would have done it already weeks ago ;-)

anudanan commented 5 years ago

My understanding from my code review and test is the following and that is really working streamproxy call die web/stream url from OWIF and stream.py than calls Streaming.py from enigma2 under Compontents/Converter. The only is to change Streaming.py to provide over web/stream the new default_audio_pid answer. Why do you think streamproxy must call /web/stream2 and then Streaming2,py from enigma2. That are more changes and then there are changes in OWIF are neccessary. But there is no need from that. If you tested on 7.0 enigma2, you can´t get default_audio_pid because a change in enigma is additional needed to a changes Streaming.py

I have tested the easy way and it works. I´ve seen with debugging in streamproxy that it gets default_audio_pid without changing OWIF.

eriksl commented 4 years ago

Please more explanation with the last code change. Also make it into a separate pull request from the other, older requests.

anudanan commented 4 years ago

It is very difficult for me to make a second pull request. The git WEB if collect all changes to one pull request. I will read now some help pages to make separate pull request for different commit. I hope I will find a solution

anudanan commented 4 years ago

I´ve made a new branch to create a separate pull request for the audiolang fix

https://github.com/eriksl/streamproxy/pull/15

Sorry, for making trouble here in this pull request

camelcamro commented 4 years ago

did anyone compliled a version for vu+solo2 ?

eriksl commented 4 years ago

IIRC this already has been merged, via another PR.