[Logo] Air Video Forum
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
[Moderation Log] Moderation Log   [Register] Register / 
[Login] Login 
Petition to create a desktop Air Video client for Windows/MAC OSX  XML
Forum Index » Air Video General
Author Message
brsing



Joined: 02/18/2011 02:18:25
Messages: 6
Offline

Has anyone been able to use the Mac AirVideo client? I'm using OSX 10.6.6 on my MBP. I have AirVideo Server installed on iMac and have it working with my iPad but can't get the Mac client to even start/load on MBP. Have VLC installed.

Any suggestions?
hooners



Joined: 02/27/2011 19:56:25
Messages: 1
Offline

require an online validation of a license, whatever you need to do. I'll pay for the license! Build a client-based license!! I'd love a client I can install on my windows and mac machines!
magnex07



Joined: 03/12/2011 21:57:48
Messages: 4
Offline

+1
brsing



Joined: 02/18/2011 02:18:25
Messages: 6
Offline

I've been able to successfully download/install/configure the Mac client.
Download: http://dl.dropbox.com/u/6713110/MacAirVideoClient/Download/Mac%20AirVideo%20Client-v4.0(391).zip

Works pretty good.
pavram



Joined: 03/07/2011 22:02:51
Messages: 32
Offline

So. Turns out there is a reason (a good one at that!) there is no PC client.

Live conversion as it stands will not work.

Live conversion uses a format popularised by apple. the so called: "HTTP Live Streaming" system has only been implemented in iOS (iPhone/iPad etc) and in Apple QuicktimeX (the latest version of quicktime on Macs).
There is really really horrible* support in "Mplayer" (a version of media player that looks a lot like media player classic - are they the same?). VLC claims to have limited support in version 1.2.0 (the unstable development branch right now), but it is a lie. (at least it wont play any AirVideo streams, and it completely craps out on the odd stream I tried hosted on Apples website). It is important to note that VLC dies differently with airvideo than it does with Apples stream, I can't even begin to understand why.

The only solution I can see effectively restricts the use of AirVideo on PC to the pre-converted videos (or those that conversion has been initiated and completed with earlier).

I have done some experimenting, and by downloading every one of the segments and dumping them into a single file, I could get Mplayer to play it (but it played it at the wrong speed - about 2x). Windows Media Player (of all things) appeared to play this (naively rejoined) file quite well. However I have yet to try consecutively downloading and playing at the same time. (I don't know how windows media player will take it).

Overall, I enjoyed spending the time writing my C# app (with lots of hints from jphastings ruby code) and even got to the point where I could effectively emulate the AirVideo server if I wanted. (part of testing my code was converting from the response code into objects I understand and back again, then comparing the original with what I converted back). With lots of tweaks and effort I got this pretty accurate.

* Mplayer is horrible (when it works which is not with AirVideo!) because between every segment (roughly every 10 seconds) it visibly pauses (I assume to begin the request for the next segment) and to top it off; plays the video at the wrong speed. (at least the version of mPlayer *I* tried did this). Not all versions did even this!


If anyone knows of any programs that can play these live streams nicely on windows (or even linux, even though I don't use it) Please tell me! (and everyone in this post/forum). You can test anything you have by trying out the apple one: http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8 - which is the apple October 2010 event (or something, haven't actually watched this beyond the odd 30 second segment and a bit of seeking...). This stream works on the iPhone/Pad and I haven't tested it but I assume QuicktimeX for Mac. (current version of Quicktime for PC is 7.something).

There is one potential light at the end of the tunnel. But it is a horrible sickly coloured light of more work and pain. That is Silverlight. It supports a similar in concept but not execution form of HTTP live streaming. It is possible, that *maybe* with some horrible code you could convert the m3u8 files used by the apple Http live streaming into the "manifest" files that silverlight live streaming uses and *maybe* *somehow* the codecs used at the end of the day are actually the same format, and maybe with this method a silverlight player just might play the files OK.
Did I have enough conditional statements in there? Probably not. I tried for half an hour to get my head around using silverlight, but Microsoft for once has some god awful documentation on this. Or at the very least no one is using it thus Google just returns junk links. (This is actually surprising in recent times Microsoft is usually the best in my experience for documenting how to do things with its new technologies).

- Peter

pavram



Joined: 03/07/2011 22:02:51
Messages: 32
Offline

So; I found a way around the player problem. And found myself one final problem.

Air Video Devs might like to hear about it. (do they even read this post any more - maybe I will PM them this?)

JWPlayer, developer for a long time of flash video playing apps (since flash v5), has started development (according to the ticket created during development around 20 months ago) and appears to have recently finished, getting support for Apples "HTTP Live Streaming" into JWPlayer. At the moment it is a beta plugin that a web-host can add to give their jwplayer access to the functions, but I imagine it will be rolled in to the main jwplayer eventually.

Unfortunately. (and it truly is unfortunate :/)

He only supports AVC video (h264, this is normal) and AAC audio.

For some reason (I am not sure why?) AirVideo produces AVC video (yay) and mp3 audio (boo). Now, there is nothing stopping jwplayer from playing mp3 audio other than the support just hasn't been added for this particular component. And in my experience the encoding cost of going to AAC instead of MP3 is non existent (correct me please if I am wrong!). So for this player to work, it is going to take either air-video to change the command they send to their custom FFMpeg (to make it spit out AAC encoded audio in its videos) or JWPlayer to extend support of more audio codecs in their HLS (apples streaming system) support module.

Now why do I think this is something AirVideo devs should at least look at?

They have in the past mentioned something along the lines of "we are considering a silverlight app".

I presume this was because no one else had a player that was multiplatform (mac / PC / Linux) that was *also* capable of doing some kind of Adaptive bitrate switching. Now that JWPlayer has support for *apples* adaptive bitrate switching (even if still beta) perhaps they should take at-least the baby steps to converting the audio output from their system to one that is compatible right now, which would make everyone's life much easier!
pavram



Joined: 03/07/2011 22:02:51
Messages: 32
Offline

Update for all those interested, inmethod can't switch the audio to AAC and it is for a very good reason.
If they did this, they would need to change the encoder to include AAC encoding. Due to licensing restrictions, it is basically illegal for them to do this. (They could distribute the source code of FFMpeg with AAC encoding, but they couldnt release an AirVideoServer that just works out of the box with AAC encoding built in. - thus they can't release a version of air video server that works out of the box that will support flash as the end-point player.)

This means the only final avenue of getting this to work is to get mp3 support for mp4videos into flash. And my googling so far indicates that this is a limitation of flash. (it will ONLY play AAC audio when it sees h264 video as near as I can tell).

I will keep investigating, but for now it looks like a hard-wall right now.
pyro1509



Joined: 09/15/2010 01:15:50
Messages: 2
Offline

I've been keeping up w/ your quest. Keep up the good fight

This message was edited 1 time. Last update was at 03/18/2011 05:51:33

boaz101



Joined: 03/19/2011 04:46:47
Messages: 5
Offline

pavram, Try downloading the latest stable version of vlc. I've found that version 1.1.7 will play the Apple stream http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8 using Open Network stream. Hope that helps!

boaz101



Joined: 03/19/2011 04:46:47
Messages: 5
Offline

If you try http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8 however there are errors. If you open the VLC logging console you'll see the http addresses that it is trying to contact.

For example,
[0171cb2c] main input error: open of `http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/0640%2F064041.ts' failed: (null)
[016e5994] access_http access error: error: HTTP/1.1 404 Not Found
[016e5994] access_http access error: error: HTTP/1.0 404 Not Found

Putting that URL in your browser gives a 404, but if you change the %2F to a forward slash it works!

http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/0640/064041.ts

So, the question becomes why is VLC changing the forward slash to %2F which is URL encoding equivalent to forward slash?
boaz101



Joined: 03/19/2011 04:46:47
Messages: 5
Offline

If you download the .m3u8 file and change all of the relative URLs to full URLs, VLC will play that part of the video. However, I'm not sure if you can sit in the middle of VLC and the HTTP live streaming server all of the time. We probably need to patch VLC to work with relative URLs correctly instead.
pavram



Joined: 03/07/2011 22:02:51
Messages: 32
Offline

Hi all,

Thanks for this info boaz, changing the m3u8 is actually very possible. Its just changing the .TS files themselves that would be a bit much.

There's no reason why a program can't download the m3u8, and regenerate one with fully qualified URLs in it, and then get vlc to play *that* instead. As long as the URLs point to the remote-video files theres no trouble! This gives me new hope. I'll try it out in VLC now.

- Pete
boaz101



Joined: 03/19/2011 04:46:47
Messages: 5
Offline

Did it work?

In case you need more information about using VLC, I found a splint for m3u8 URLs which downloads the playlist and uses VLC to play the segments. It's written in Python and contains the full source code.

http://nneonneo.blogspot.com/2010/08/http-live-streaming-client.html
pavram



Joined: 03/07/2011 22:02:51
Messages: 32
Offline

Hi Boaz,

Yeah it worked, except like mplayer it has the same issue where it doesn't prefetch the upcoming TS files. So for the current air video server for instance it plays 4 seconds of video, then pauses as it loads the next video. It does appear to play the videos at the correct pace however, so they got that much right. (and better than the version of mplayer I used).

It may just be that I have to tweak my VLC settings, but it certainly isn't a simple matter of just pointing VLC at it just yet.

I am downloading that code at nneonneo.blogspot.com now, going to have a look to see if that plays better.

- Pete
tenya



Joined: 11/03/2010 12:12:58
Messages: 10
Offline

Air Video Client for Windows: http://dl.dropbox.com/u/10205542/AirVideoClient_win32_20121114.zip
Requirements: Windows XP or later. If you are using Air Video Server 2.4.3, download Elecard AVC HD Player (trial version), and locate the player in the client app. For Air Video Server 2.4.5 (or later) users, locate a VLC media player (2.0 or later) in the app.

[11/14/2012] Fixed obtaining local server address from PIN registration server.
[11/05/2012] Fixed obtaining global server address from PIN registration server.
[11/02/2012] Added PIN-based server registration.
[11/01/2012] Delegated HTTP live streaming to VLC thanks to the latest updates. Now the client works without HTTPLiveStreamingProxy.exe
[10/31/2012] Temporal fix of app crash on Windows 8. Recompiled with Ruby 1.9.3-p286 and tested with AirVideo Server 2.4.6b3.
[12/18/2011] Context menus for sorting options were added for my personal use. Recompiled with Ruby 193p0 and Ocra 1.3.
[05/31/2011] Temporal fix of encoding problems (UTF8-MAC) on AirVideo Server 2.4.5beta6 Mac
[04/07/2011] Abort the development because much better solution has been found. See pavram's post on 5th Apr 2011.
[04/07/2011] Fixed live conversion request method (now all movies could be played by live conversion)
[04/03/2011] HTTPLiveStreamingProxy was re-written by C#, which resulted in less memory usage. Add manual bitrate selection / recording buttons.
[04/01/2011] Fixed wrong live playback starting points, etc.
[03/31/2011] Now compatible with AirVideo Server 2.4.5beta (playback/livePlayback-2.4).
[03/29/2011] Tests on pseudo-seek during live conversion.
[03/28/2011] Playing with live conversion is now available on Windows XP or later with Elecard AVC HD Player.
[03/25/2011] Mod for Ruby 1.9. HTTPLiveStreamingProxy is now isolated from the client app.
[03/22/2011] Re-implemented by wxRuby

This message was edited 20 times. Last update was at 11/14/2012 16:54:00

 
Forum Index » Air Video General
Go to:   
Powered by JForum 2.1.8 © JForum Team