mainLinterna Mágica - Support: sr #107821, Reassigned to another tracker...


You are not allowed to post comments on this tracker with your current authentication level.

sr #107821: Reassigned to another tracker [was: Wishlist: Add support for LETio streams]

Submitter:  None
Submitted:  Wed 28 Sep 2011 03:54:07 AM UTC
Category:  Support for new website Priority:  3 - Low
Severity:  1 - Wish Status:  Wont Do
Privacy:  Public Assigned to:  valkov
Originator Email:  -email is unavailable- Open/Closed:  Closed
Release:  trunk Operating System:  GNU/Linux

Jump to the original submission

Fri 25 Nov 2011 01:38:56 PM UTC, comment #14: 


Please, do not post any new comments to this item.

Ivaylo Valkov <valkov>
Group administrator
Wed 16 Nov 2011 11:36:00 AM UTC, comment #13: 

Lithionite was accepted [1] as a project here at Savannah. We got lucky, because there are few volunteers and since recently Savannah does not accept non-GNU project submissions, [2] because of this. I was already looking for another place where to host the project, but as I said already we got lucky.

No resources are available at the project page yet, but I will try to setup everything as soon as possible.

Check the project page, and when ready report all bugs you know of. I am not using personally Lithionite, so I don't know if new bugs appeared or is it still working at all.


Ivaylo Valkov <valkov>
Group administrator
Fri 07 Oct 2011 07:18:27 AM UTC, comment #12: 

t turns out Gitorious does not provide bug tracking system. I've submitted Lithionite here at Savannah. [1] It will take some time before it is reviewed and accepted. Until then I'll hold changes to the code.


Ivaylo Valkov <valkov>
Group administrator
Sun 02 Oct 2011 08:32:54 PM UTC, comment #11: 

I was thinking about similar approach. Just adding every 44 seconds in a FIFO, but never tested it. Will look into it. Thanks.

Usually text under 10 lines is considered not copyrightable.

Ivaylo Valkov <valkov>
Group administrator
Sun 02 Oct 2011 06:24:28 PM UTC, comment #10: 

I tried to repeat my bug. It seems to be triggered when there's a peak in my download rate in the moment where the next 44 seconds are about to be fetched. If the gap is caused by track switching, I guess I've found a way to use aplay to concatenate the tracks:
(hopefully that code snippet is GPL-compatible)

Sun 02 Oct 2011 05:00:53 PM UTC, comment #9: 

This way the information I've gathered for LETio won't go to waste. Someone else might think of a better way for listening the streams.

Currently Lithionite does exactly this, the stream is fetched with wget few seconds before the previous one ends at the background. If the metadata is fetched early the stream URL is not changed. Every request must have a key in the form of a timestamp returned in the metadata. First I just loaded the streams directly to MPlayer, but got the same silence between streams. I think it is just the switching of the files/tracks.

A second MPlayer instance sounds plausible, but I think it will not work as expected.

By the way, RTMP streams are continuous and do not need the 44seconds fetching, they just play. Tested for about 20 minutes. But I didn't encountered such in

I am thinking about hosting a code repository at Gitorious, besides the web page at my site, where it will be possible to report bugs. Check the site after few days or a week.

I think that sometimes there is an overlap of few seconds of the audio in the new and the old stream. Could you confirm that?

I'll appreciate your further feedback.

I hope there is no difference in the Flash audio with the one from Lithionite.

Could you report the output of the script with the -d option? The breakage sounds strange.

Ivaylo Valkov <valkov>
Group administrator
Sun 02 Oct 2011 04:42:03 PM UTC, comment #8: 

Thanks for the script! It worked like a charm... except that after the 44-second break, it was all silence. For long over 44 seconds.

Sun 02 Oct 2011 04:16:48 PM UTC, comment #7: 

Great, I wouldn't expect to have a whole new program built up exclusively to fix my bug! But, I would suggest a work-around to the 44-second stream limitation: parallelly loading a stream shortly before the 44-second stream finishes, then switching to it. Is that technically possible using MPlayer, or various instances of MPlayer if not?

Sun 02 Oct 2011 08:50:27 AM UTC, comment #6: 

Thank you for the dump. It was very useful.

There are technical limitations in Linterna Mágica that prevent me to add support for LETio streams. The first one is the same origin policy that prevents XMLHttpRequest to pages that are not at the same domain as the main document. Currently Linterna Mágica runs as a script inside the page it is viewed. All LETio streams are processed trough

Even if there was no same origin restriction, there is a second limitation. The audio stream is 44 second long. Every ~ 44 seconds new request must be made  to second URL that returns metadata and the new link for the stream. Reloading the URL in the Linterna Mágica player is possible, but I guess the caching will make the stream useless.(See next paragraph).

Unable to support it in Linterna Mágica, I did the next best thing. I wrote a bash script around MPlayer - Lithionite. It has a little annoyance - few seconds of silence every ~44 seconds, but I guess it is best then nothing. Of course it is free software.

Ivaylo Valkov <valkov>
Group administrator
Thu 29 Sep 2011 06:58:19 PM UTC, comment #5: 

And here's the TCP dump for (which is the LETio-streaming site I use the most). Actually, just obtaining the .asx or whatever would be fine for me.

(file #24049)

Thu 29 Sep 2011 01:07:09 PM UTC, comment #4: 

It is probably a good idea to clear the browser cache before the capture.

Ivaylo Valkov <valkov>
Group administrator
Thu 29 Sep 2011 01:03:54 PM UTC, comment #3: 

If you could provide a tcpdump/wireshark capture it could help. I've examined some JavaScript and HTML code and got some clues. It seems sites use similar technique to embed the stream.

For tcpdump use the following command:

sudo tcpdump -i eth0 -C 10000000 -w letio_dump -W 3 -s 65535 port 80

If your network interface is not eth0, replace eth0. To quit the capture type Ctrl+c. Saved files are named letio_dump.*.

If you prefer GUI, use wireshark. Start it with sudo and select Capture/Options. In the new window set the interface, and the capture filter (HTTP). Check "Use multiple files". Set "Next file every" to 10 megabytes, uncheck "Ring buffer with". Set "Stop capture after" to 3 files. Choose a filename for the capture. When ready start the live capture.

While capturing, it is best to have only the websites of interest loaded. All transmitted data over HTTP will be visible in the captured files.

When a website loads and few seconds fter playback starts you should turn off the capture.

Ivaylo Valkov <valkov>
Group administrator
Wed 28 Sep 2011 05:40:10 PM UTC, comment #2: 

The major site I'm aware of that uses LETio is where it's used for both radio and TV streams. Currently I'm using Ubuntu with Flash (sadly), and I'd like to have support via this script, since my tests with Gnash and Lightspark have failed. I am willing to do any tests that you require.

Wed 28 Sep 2011 07:11:32 AM UTC, comment #1: 

There is no useful information at the LETio web site about the players and the technology. It has text only in Spanish. Machine translated text with Apertium does not say much about embedding and configuring the player. This information could be useful.

Few links point to where it seems they have demos or working streams.

From the little information I've gathered it seems the only way to find the stream URLs is by examining JavaScript and HTML code the websites serve.

Disassembling the swf file with swfmill or flasm could provide some pointers.

Could you provide more websites where LETio players are used?

If you use the proprietary flash plugin (I doubt it), you could provide a traffic dump with tcpdump or Wireshark. If you are not using it don't install it just for that.

I can't promise anything.

Ivaylo Valkov <valkov>
Group administrator
Wed 28 Sep 2011 03:54:07 AM UTC, original submission:  

LETio ( ) is a Flash-based stream system that generates several AAC streams, and automatically switches to the one that causes the least latency. It's primarily used by online radio stations, and occasionally on TV stations (via H.264). Currently, LETio is incompatible with both Gnash and Lightspark. There should be a way to take the address of the stream with the highest quality and forward it to a media player.



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by valkov (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.


    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2011-11-25 valkov Reassign ItemLinterna Mágica, sr #107821 Lithionite, bug #34895
    2011-10-02 valkov StatusNeed Info Wont Do
        Open/ClosedOpen Closed
    2011-09-29 None Attached File- Added letio_dump0, #24049
    2011-09-28 valkov CategoryFeature request Support for new website
        Priority5 - Normal 3 - Low
        StatusNone Need Info
        Assigned toNone valkov

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code