OpenUluh - Personal intranet HTTP streaming solution
#1
Big Grin 
OpenUluh
Current Stable Version: none yet
Current Unstable Version: 0.1.7.3-proposed_stable - 02/10/12

What's new in 0.1.7.3-proposed_stable:
- Pagination in Episodes/Shows Lists
- Fixed some issues with the Mobile interface being too wide for the mobile device

Upcoming features (Within the next hour or so, tagged 0.1.7.4):
- Recursive directory searching for video files if the filepath contains "smb://"

What is OpenUluh
This is a web interface made in PHP that allows you to stream video across your network to mobile devices and guest computers. Requires to be installed on the same PC as XBMC and XBMC needs to be connected to a MySQL database.

It also supports HTML5 Video and Fullscreen via video.js.

I look forward to feedback Big Grin

The project is now on GitHub!
OpenUluh Github
Latest released package available on Google Code:
http://openuluh.googlecode.com/

Screenshots are on the project as well.

Credit for the channel images belong to the whoever it was on here that uploaded them for PsuedoTV Big Grin

A quick question to my FFmpeg people, is it working alright or does it still need tweaking?
Reply
#2
have you thought about merging your code with the Maraschino project?

http://forum.xbmc.org/showthread.php?p=919815
I'm not an expert but I play one at work.
Reply
#3
So can it stream everything? (mkv, avi...)
If yes, I try to set it up with xampp Wink
Reply
#4
-- sorry about that. --
Reply
#5
TeKo Wrote:So can it stream everything? (mkv, avi...)
If yes, I try to set it up with xampp Wink

Well it uses HTML5 so i've only got MP4s, I tried AVIs and since they wouldn't work I decided to re-encode everything. Technically, any codec supported by html5 would work, but the streaming page (stream.php) is rather specific on what codec it outputs. I don't know of a way I could detect the codec in PHP.

I would love to add it to Maraschino but I can't as my python skills are non-existant (I just can't seem to really grasp the language). But I'm sure someone could, I've released it as GPL and I'm in the process of attempting to commit the source to the Git repository but it's not going well so far, It's my first time using Git.
Reply
#6
This looks promising! Would love to get this kind of functionality in Maraschino...
Maraschino - github - website
Reply
#7
Just got done uploading the working version to SVN. This is the first time I've actually done a project in my Ubuntu install and using SVN took some getting used to.

And I did release it under GPLv3. The code is open source, your free to use it for whatever. Also, I have not tried Maraschino yet, I think I might have to take a look at that. But I can't make any real contribution, I seem to fail to grasp python completely when I try.
Reply
#8
check this out -
http://stackoverflow.com/questions/31197...tml5-video

You can re-encode (and possibly on the fly) the other formats by using php to call ffmpeg. Maybe will give you an idea regarding other formats.
Current setup:
Amlogic M3/MX + Linux + BOXiK Skin + Pioneer vsx520 + Dali Lektor 6

Previous setup:
Revo 3700 + flirc + OpenElec nightlies + Quartz + Pioneer vsx520 + Dali Lektor 6
atv1 + Crystalbuntu + XBMC nightly + xperience1080
Reply
#9
Ilia Wrote:check this out -
http://stackoverflow.com/questions/31197...tml5-video

You can re-encode (and possibly on the fly) the other formats by using php to call ffmpeg. Maybe will give you an idea regarding other formats.

Ohhh awesome. Without AVI support this would be a no go for me...
Maraschino - github - website
Reply
#10
gugahoi Wrote:Ohhh awesome. Without AVI support this would be a no go for me...

I am still looking for a way to do real-time transcoding during streaming but it's not looking too good. Ilia, thank you for the link, but those all talk about simply launching FFmpeg to convert a single file to an MP4 file stored, while it looks like it should be an OK first solution, it would actually be more cumbersome to the users, they would have to wait for the conversion to complete (I don't know if I can open a file and "fread" through it while FFmpeg is doing it's thing), and I don't know how to find out if a user actually finishes the video (which would then erase the cache file and we'd be all good.)

The other option I have, I don't know if it works in new browsers with the exception of IE which would be to use embed tags to embed a separate video player object like WMP, QuickTime, or VLC. but VLC is the only cross platform thing there and afaik the only browser plugin it gives is for Mozilla.

UPDATE: Scratch that, I think I found something, gotta track down a PowerPC version of FFmpeg though, either that or I'll have to upload an experimental version for testing..

I'll be posting more on AVI streaming in the issues section. I think I have a way to do this but I'm not sure yet.
Reply
#11
Doesn't VLC and/or subsonic already do this for you? Would it be possible to leverage them?
Reply
#12
While VLC would probably work through having it start it's own HTTP server and pointing the player at it, I'm attempting to keep a theme of using HTML5 tags in this project and I'm not sure if the HTML5 player will connect to VLC's service and I prefer not to have a user install a separate player just to transcode video. The main point of attempting to use FFmpeg is so that the transcoding will all be in memory instead of storing it to a file then reading the file, I found an example of using pipes to talk to ffmpeg and simply buffer the output of the transcoding leaving no file on the user's HDD which makes me very confident.

While on Windows however, FFmpeg requires FFDShow to transcode to MP4 so windows users that use OpenUluh would require that first but they will not be needing to install FFmpeg, I'll be including that in the project.

I will be uploading the changes to a new branch in the SVN until their completely tested. Feel free to pull it from there to test it. It should be up in 15 minutes.

Those testing the new 0.0.3-ffmpeg_experimental branch, please post your test results Here and not to this forum topic please.
Reply
#13
Regarding subsonic:

While it does indeed do this, it uses jwplayer which at the moment SEEMS to be unable to accomplish "http live streaming" -- the protocol required to stream to iOS devices.

I believe that an HTML 5 player would perhaps be more future proof in this regard, seeing as how prevalent these devices are, it is a feature that will inevitably be requested.

I believe that in the discussions regarding this over on the subsonic forum, there was talk of replacing the jwplayer with an html5 player...soooo... perhaps this is a better solution.

Either way--as much as I love subsonic, it would be totally unnecessary to me, and also pointlessly redundant if XBMC were capable of streaming to HTTP.

Personally... 1 library is greater than 2 libraries. And, in fact, subsonic is not a library at all, rather, a pile-o-files.

I understand Sindre's reason for this, as it apparently offers a substantial speed advantage over database access... however, organizationally, it is inferior to a relational database that allows media to be in two places at once, as is often required to create comprehensive lists by genre.

Point is: XBMC + HTTP/IOS/ANDROID STREAMING = YUM! Better than subsonic for users who already maintain an XBMC library.

I believe that HTML5 player is the way to accomplish this. But it is just what I have overheard.

Smile
Reply
#14
branlr Wrote:Regarding subsonic:

While it does indeed do this, it uses jwplayer which at the moment SEEMS to be unable to accomplish "http live streaming" -- the protocol required to stream to iOS devices.

I believe that an HTML 5 player would perhaps be more future proof in this regard, seeing as how prevalent these devices are, it is a feature that will inevitably be requested.

I believe that in the discussions regarding this over on the subsonic forum, there was talk of replacing the jwplayer with an html5 player...soooo... perhaps this is a better solution.

Either way--as much as I love subsonic, it would be totally unnecessary to me, and also pointlessly redundant if XBMC were capable of streaming to HTTP.

Personally... 1 library is greater than 2 libraries. And, in fact, subsonic is not a library at all, rather, a pile-o-files.

YI understand Sindre's reason for this, as it apparently offers a substantial speed advantage over database access... however, organizationally, it is inferior to a relational database that allows media to be in two places at once, as is often required to create comprehensive lists by genre.

Point is: XBMC + HTTP/IOS/ANDROID STREAMING = YUM! Better than subsonic for users who already maintain an XBMC library.

I believe that HTML5 player is the way to accomplish this. But it is just what I have overheard.

Smile

You know, I'm really glad to see such interest in a project of mine, it's a huge confidence boost lol. Anyway, FFmpeg support is now on the SVN under 0.0.3-ffmpeg_experimental. Please test it and reply to Issue #1 on the google code project with your results.

Unfortunately, I couldn't package both win32 binaries and OpenUluh together because it was taking too long to upload with RapidSVN so for now you'll have to download the ffmpeg binaries from the downloads section.

I will be testing it myself soon, it's just that I need to install ffmpeg on my test computer still.
Project status:
XBMC Beyond TV Client - on haitus again due to PC problems.
OpenUluh - Current Unstable: 0.1.7.3_Proposed-stable 02/10/12 - Current Stable: No current stable releases
Reply
#15
Uhm so what do I have to do with ffmpeg stuff?
Sorry for the dumb question Wink
Reply

Logout Mark Read Team Forum Stats Members Help
OpenUluh - Personal intranet HTTP streaming solution1