Posts by oottppxx

    I will wait to new version ... as you wrote ... replace grabbing with souphttp and adding wget command to get the stream into the first gstreamer invocation


    I have solution to get delay on my moble ... so take your time ...


    Thanks Ivo

    I'm not writing a new version, you're free to experiment with what works for you - I can't guess, and everyone's setup is different, so... best of luck!

    Any reason to set max-size-buffers to 0? Anyway, can't be of much further help, I've put my suggestions forward before (add a queue2 element on the first gstreamer pipeline to see if helps); also, maybe replace grabbing with souphttp and adding wget command to get the stream into the first gstreamer invocation, per other examples on the sources.json, to see if it's an issue there. Grab the stream to a file, and check it's TS stream, etc... It's impractical to hand-hold, and this is less about the plugin and more about your streams and which pipelines would interpret them, sorry.

    Not sure I have much advice - the only thing I can think of is playing around with the queue2 element: maybe copy it (or move it) from the 2nd gst-launch to the 1stt, after the audio/mpeg element? Without proper testing the stream, I wouldn't know if this works or not, just an idea.

    TalkSport no success, test also on BBC R2 at 27w ... working

    Can you install clean OpenATV 6.4 and than try it ?

    Try what exactly? I can test from a pretty clean openatv6.4 getting the TalkSport stream from my openatv6.2 box, where the tuner is. Would that do? What would it tell you if it works fine? :-)

    Hello, any chance to make it dreamos compatible (Dreambox ONE/Two).


    Thanks.

    No idea, I don't have one, sorry - maybe someone else can do it, source is available and build scripts as well, with any luck you just need a little tweak.

    This would have very little to do with the version of OpenATV, I believe.


    For mpg123, it should be in the list of packages, either from Menu | Setup | Software Management | Advanced Options | Packet [Package] Management (in OpenATV 6), or from command line: opkg update && opkg upgrade && opkg install mpg123

    Tested TalkSports on 28.2E, UK Beam, works for me (need to tweak the buffers otherwise I'd get breaks/pauses):

    # /usr/bin/gst-launch-1.0 souphttpsrc location=http://127.0.0.1:8001/1:0:2:CBDC:831:2:11A0000:0:0:0: ! tsdemux ! audio/mpeg ! fdsink fd=1 |/usr/bin/mpg123 -o wav -|/usr/bin/gst-launch-1.0 fdsrc fd=0 ! decodebin ! queue2 use-buffering=true max-size-buffers=150 max-size-bytes=0 max-size-time=0 ! alsasink device=hw:0

    High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3

    version 1.25.7; written and copyright by Michael Hipp and others

    free software (LGPL) without any warranty but with best wishes


    Playing MPEG stream 1 of 1: - ...

    Setting pipeline to PAUSED ...

    Pipeline is PREROLLING ...


    MPEG 1.0 L II cbr80 32000 mono

    Redistribute latency...

    Pipeline is PREROLLED ...

    Setting pipeline to PLAYING ...

    New clock: GstAudioSinkClock

    Buffering, setting pipeline to PAUSED ...

    Done buffering, setting pipeline to PLAYING ...

    Note: Illegal Audio-MPEG-Header 0x75ad1b6b at offset 1191858.

    Note: Trying to resync...

    Note: Skipped 306 bytes in input.


    MPEG 1.0 L II cbr80 32000 mono

    ^C

    [6:56] Decoding of - finished.

    handling interrupt.

    Interrupt: Stopping pipeline ...

    Execution ended after 0:06:50.922566453

    Setting pipeline to PAUSED ...

    Setting pipeline to READY ...

    Setting pipeline to NULL ...

    Freeing pipeline ...

    [../mpg123-1.25.7/src/libout123/wav.c:755] error: flushing failed: Broken pipe


    [../mpg123-1.25.7/src/libout123/wav.c:663] warning: Cannot rewind WAV file. File-format isn't fully conform now.

    If i do over telnet so there is a error ... below


    opkg install enigma2-plugin-extensions-budweiser-6.2.3m.ipk Collected errors: * calculate_dependencies_for: Cannot satisfy the following dependencies for enigma2-plugin-extensions-budweiser: * mpg123 * * opkg_solver_install: Cannot install package enigma2-plugin-extensions-budweiser


    Ivo

    Right, that's a listed dependency (mpg123 and (wget or curl) - although for using curl you'd need to change the sources.json file).


    Here's what happens on mine (after removing both the plugin and mpg123), notice how mpg123 is automatically installed as well, as a missing dependency:


    # opkg install enigma2-plugin-extensions-budweiser-6.2.3n.ipk

    Installing mpg123 (1.25.11) on root.

    Downloading http://feeds2.mynonpublic.com/…3_1.25.11-r0_mips32el.ipk.

    Installing enigma2-plugin-extensions-budweiser (6.2.3n) on root.


    ********************************************

    Installing Enigma2 Budweiser plugin

    ********************************************


    Configuring mpg123.

    Configuring enigma2-plugin-extensions-budweiser.


    ********************************************

    Enigma2 Budweiser plugin installed

    ********************************************


    Enigma2 Budweiser.


    Dub weiser.


    oottppxx


    ********************************************

    Restart box to complete install

    ********************************************


    I've also confirmed that serviceapp doesn't install mpg123, at least not in OpenATV6.4 in this particular decoder (old VU+ Zero), so... YMMV.

    I was looking to make sure if the default install of gstreamer had an mp2 audio parser, as it seems that's what a lot of those streams are (instead of mp3), but no, we still need to use mpg123 (or install additional addons/plugins for gstreamer). So no luck there.

    Replying to myself: I had installed OpenATV 6.4 on a separate decoder to test the plugin, and I didn't install serviceapp there (just confirmed it wasn't installed). Still had no issue installing the plugin, but I generally do it from the command line, so no idea what issues could be happening if installing from the GUI, and why/how installing serviceapp would fix those issues.

    My tests are generally done on OpenATV 6.2.


    Makes sense that the buffer didn't work, as it's applied on the 2nd gst-launch pipeline: it seems the error is before that, where decodebin doesn't have enough info about the stream for which sink to choose; I'll do a couple more tests this evening and let you know more, as I've noticed something else that I might want to play with.

    I'll take a look at this in the weekend if I remember. AFAIK, as discussed previously, the plugin has no dependencies on ServiceApp.



    At first look, all is well, your output seems to indicated mpg123 recognizes the stream correctly as an mp3, so read fully below.





    Here's an example from my box/tuner for BBC5 Radio - other than annoying breaks/pauses in the audio, seen as the pipeline cycling between PAUSED/PLAYING during rebuffers:


    # /usr/bin/gst-launch-1.0 souphttpsrc location=http://127.0.0.1:8001/1:0:2:1901:7FF:2:11A0000:0:0:0: ! tsdemux ! audio/mpeg ! fdsink fd=1 |/usr/bin/mpg123 -o wav -|/usr/bin/gst-launch-1.0 fdsrc fd=0 ! decodebin ! queue2 use-buffering=true max-size-buffers=100 max-size-bytes=0 max-size-time=0 ! alsasink device=hw:0

    High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3

    version 1.25.7; written and copyright by Michael Hipp and others

    free software (LGPL) without any warranty but with best wishes


    Playing MPEG stream 1 of 1: - ...

    Setting pipeline to PAUSED ...

    Pipeline is PREROLLING ...


    MPEG 1.0 L II cbr96 48000 mono

    Note: Illegal Audio-MPEG-Header 0x4e657720 at offset 4840.

    Note: Trying to resync...

    Note: Skipped 26 bytes in input.


    MPEG 1.0 L II cbr96 48000 mono

    Redistribute latency...

    Prerolled, waiting for buffering to finish...

    Pipeline is PREROLLED ...

    Setting pipeline to PLAYING ...

    New clock: GstAudioSinkClock

    Buffering, setting pipeline to PAUSED ...

    Done buffering, setting pipeline to PLAYING ...

    Buffering, setting pipeline to PAUSED ...

    Done buffering, setting pipeline to PLAYING ...

    Buffering, setting pipeline to PAUSED ...

    Done buffering, setting pipeline to PLAYING ...


    ^Chandling interrupt. <<< interrupted here


    Interrupt: Stopping pipeline ...

    Execution ended after 0:00:23.734917245

    Setting pipeline to PAUSED ...

    [0:29] Decoding of - finished.

    Setting pipeline to READY ...

    Setting pipeline to NULL ...

    Freeing pipeline ...

    [../mpg123-1.25.7/src/libout123/wav.c:755] error: flushing failed: Broken pipe


    [../mpg123-1.25.7/src/libout123/wav.c:663] warning: Cannot rewind WAV file. File-format isn't fully conform now.






    Now look at what happens once I increase the buffers, it played flawlessly for a full minute and 4 seconds:


    # /usr/bin/gst-launch-1.0 souphttpsrc location=http://127.0.0.1:8001/1:0:2:1901:7FF:2:11A0000:0:0:0: ! tsdemux ! audio/mpeg ! fdsink fd=1 |/usr/bin/mpg123 -o wav -|/usr/bin/gst-launch-1.0 fdsrc fd=0 ! decodebin ! queue2 use-buffering=true max-size-buffers=300 max-size-bytes=0 max-size-time=0 ! alsasink device=hw:0

    High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3

    version 1.25.7; written and copyright by Michael Hipp and others

    free software (LGPL) without any warranty but with best wishes


    Playing MPEG stream 1 of 1: - ...

    Setting pipeline to PAUSED ...

    Pipeline is PREROLLING ...


    MPEG 1.0 L II cbr96 48000 mono

    Redistribute latency...

    Pipeline is PREROLLED ...

    Buffering, setting pipeline to PAUSED ...

    Setting pipeline to PLAYING ...

    New clock: GstAudioSinkClock

    Buffering, setting pipeline to PAUSED ...

    Done buffering, setting pipeline to PLAYING ...


    ^C[../mpg123-1.25.7/src/libmpg123/readers.c:844] error: buffer reading <<<<<< interrupted here


    [1:08] Decoding of - finished.

    [../mpg123-1.25.7/src/libout123/wav.c:663] warning: Cannot rewind WAV file. File-format isn't fully conform now.

    handling interrupt.

    Interrupt: Stopping pipeline ...

    Execution ended after 0:01:04.209690925

    Setting pipeline to PAUSED ...

    Setting pipeline to READY ...

    Setting pipeline to NULL ...

    Freeing pipeline ...




    And this is from my own box/tuner, I can imagine that transmission delay from a box across the internet is playing a part - try and increase the buffers, maybe by a lot, it will take a while to start playing but it might actually do so? Of course it can be useless in terms of the settings you want for the delay, but so it's life, nothing much I can do.

    I'm sorry, but these logs are useless to debug stream format issues.


    Like I mentioned previously: go to a terminal, and run the same commands the plugin is running for the streams, without redirecting the output to /dev/null, and check any issues or errors that come up - it's very likely that the command pipeline needs adjusting. You can get the commands from the logs as well, look for the "Child audioProcess() execv():" lines.


    Example, you'd get into the terminal and run:

    /usr/bin/gst-launch-1.0 souphttpsrc location=http://ipadress:port/1:0:2:1901:7FF:2:11A0000:0:0:0: ! tsdemux ! audio/mpeg ! fdsink fd=1 |/usr/bin/mpg123 -o wav -|/usr/bin/gst-launch-1.0 fdsrc fd=0 ! decodebin ! queue2 use-buffering=true max-size-buffers=100 max-size-bytes=0 max-size-time=0 ! alsasink device=hw:0


    Then note the errors and try to adjust the gstreamer pipeline.


    About HE-AAC, no idea... I did put in a pipeline for AAC stream in the examples, but don't really use it. Do you have any public example I can try to look at?

    At least in my box, the Enigma2 radio streams I tested all work (Radio5, TalkSports), but some are pretty crappy and have mini-breaks, so... Would not recommend. Maybe the experience would be better in more powerful boxes, but I wouldn't know.

    ServiceApp - i installed your plugin over menu in OpenATV ... no error message ... just announce 0 pack was installed

    After ServiceApp installed ... it shows 7 packs installed ... after box restart ... plugin working

    Ok, strange, I'd need to see error messages for that.



    VLC - all my streams i tested in VLC - all working

    Sure, but did you check the different type of stream types from different boxes?



    So far as i know plugin working with E2 streams only if server (resource) is OpenATV (i tested 6.4)

    and audio stream is mpeg ... but this same i tested with TalkSport radio (28e) and not worked.

    Again, you need to test streams from separate boxes, there's a reason why opTypes are configured in the sources.json file and not hardcoded - it would be important to do the VLC test, plus the terminal test, until a proper gstreamer pipeline works - that could then go into a new/different opType.


    I might actually be able to test TalkSport radion on 28e, assuming I find it.


    Your stream BBC5 Live ... looks good working quick and i will try to test on Premier League over the weekend.

    Can you also add link to BBC 5 Live SportExtra and TalkSport ?

    I don't think I'd be inserting any more examples if they're of the same opType as the current ones - I _could_ test those, assuming I'd know the stream URLs, do you have those? Can you find them from fmstream.org? Some other place?

    Thanks! The plugin shouldn't depend on ServiceApp, what error message did you get?


    There's a lot of things I won't be able to test - either because I don't have the right decoder, or the right image, or the right satellite, or all at once :-)


    Since you did mention VLC, test with it and make sure the URLs are working there, and check/compare the codecs used by the various streams from the various boxes. Once that's working, try it out in the plugin. If it doesn't play, you might need to go to the decoder terminal/command line and play a bit with the gstreamer pipeline - at least, run the command listed on the opType, with the right URL (you can use always 100 or 200 for buffers, to test here), and check the output/error messages to see what needs fixing, if anything. Once that's established, it's just a matter of modifying the sources.json file to fix or add opTypes.


    If you find something super different, let me know, and I'll add it to the example sources.json file.


    Good luck!