THIS ITEM WAS REASSIGNED TO BUG #34895
Please, do not post any new comments to this item.
|
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.
[1] https://savannah.nongnu.org/projects/lithionite/
[2] https://savannah.gnu.org/forum/forum.php?forum_id=7017
|
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.
[1] https://savannah.gnu.org/task/?11403
|
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.
|
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:
http://snipplr.com/view/18353/gapless-playback-for-mplayer-linux/
(hopefully that code snippet is GPL-compatible)
|
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 cdr.com.
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.
|
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.
|
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?
|
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 master.letio.com.
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.
|
And here's the TCP dump for http://www.cdr.cr (which is the LETio-streaming site I use the most). Actually, just obtaining the .asx or whatever would be fine for me.
(file #24049)
|
It is probably a good idea to clear the browser cache before the capture.
|
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.
|
The major site I'm aware of that uses LETio is http://www.cdr.cr 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.
|
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 Escuchemos.com 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.
|
THIS ITEM WAS REASSIGNED TO BUG #34895
LETio ( http://www.letio.com/ ) 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.
|