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

 
 

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

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

Submitted by:  None
Submitted on:  Wed Sep 28 03:54:07 2011  
 
Category: Support for new websitePriority: 3 - Low
Severity: 1 - WishStatus: Wont Do
Privacy: PublicAssigned to: Ivaylo Valkov <valkov>
Originator Email: -unavailable-Open/Closed: Closed
Release: trunkOperating System: GNU/Linux

(Jump to the original submission Jump to the original submission)

Fri Nov 25 13:38:56 2011, comment #14:

THIS ITEM WAS REASSIGNED TO BUG #34895


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

Ivaylo Valkov <valkov>
Project AdministratorIn charge of this item.
Wed Nov 16 11:36:00 2011, 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.

[1] https://savannah.nongnu.org/projects/lithionite/
[2] https://savannah.gnu.org/forum/forum.php?forum_id=7017

Ivaylo Valkov <valkov>
Project AdministratorIn charge of this item.
Fri Oct 7 07:18:27 2011, 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.

[1] https://savannah.gnu.org/task/?11403

Ivaylo Valkov <valkov>
Project AdministratorIn charge of this item.
Sun Oct 2 20:32:54 2011, 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>
Project AdministratorIn charge of this item.
Sun Oct 2 18:24:28 2011, 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:
http://snipplr.com/view/18353/gapless-playback-for-mplayer-linux/
(hopefully that code snippet is GPL-compatible)

Anonymous
Sun Oct 2 17:00:53 2011, 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 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.

Ivaylo Valkov <valkov>
Project AdministratorIn charge of this item.
Sun Oct 2 16:42:03 2011, 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.

Anonymous
Sun Oct 2 16:16:48 2011, 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?

Anonymous
Sun Oct 2 08:50:27 2011, 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 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.

Ivaylo Valkov <valkov>
Project AdministratorIn charge of this item.
Thu Sep 29 18:58:19 2011, comment #5:

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)

Anonymous
Thu Sep 29 13:07:09 2011, comment #4:

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

Ivaylo Valkov <valkov>
Project AdministratorIn charge of this item.
Thu Sep 29 13:03:54 2011, 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>
Project AdministratorIn charge of this item.
Wed Sep 28 17:40:10 2011, comment #2:

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.

Anonymous
Wed Sep 28 07:11:32 2011, 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 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.

Ivaylo Valkov <valkov>
Project AdministratorIn charge of this item.
Wed Sep 28 03:54:07 2011, original submission:

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.

Anonymous

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 8 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri Nov 25 13:38:56 2011valkovReassign ItemLinterna Mágica, sr #107821=>Lithionite, bug #34895
    Sun Oct 2 08:50:27 2011valkovStatusNeed Info=>Wont Do
      Open/ClosedOpen=>Closed
    Thu Sep 29 18:58:19 2011NoneAttached File-=>Added letio_dump0, #24049
    Wed Sep 28 07:11:32 2011valkovCategoryFeature request=>Support for new website
      Priority5 - Normal=>3 - Low
      StatusNone=>Need Info
      Assigned toNone=>valkov

    Back to the top


    Powered by Savane 3.1-cleanup1