Video sharing on steroids, over the Internet and beyond!
Home › Forums › Third Party Enhancements › VLC Shares › Video sharing on steroids, over the Internet and beyond!
- This topic is empty.
-
AuthorPosts
-
January 18, 2013 at 5:37 am #24179marwan330Participant
Hi Team,
After playing with VLC Shares, my “mind was expanded….” Wow, we can share video and we can share it all over the place. So, with that in mind I decided, what if I modded the current VLC Share Apache/PHP server setup and made the PHP server also allow WebDav access to the files. After that, I realized that not only can you Transcode and push video streams to a device in question via VLC Shares, but your client machine can “directly” access the file via
http://192.168.1.4:81/upload/…. whatever
or if you open port 81 on your router and Port Forward it to your Media Server, your friend can access your files via
http://64.180.144.???:81/upload/…. whateverYou cut and paste that http Network Stream url into VLC anywhere on your network and viola, you are streaming that movie/video directly to your device with zero transcoding. It’s a perfect image. You do this by going into VLC on the client machine and going Media / open Network Stream / and paste in the URL. As well hitting Show more options and choosing :http-caching=2000 (a full 2 second stream cache), is a good thing for a zero choppy picture.
Now you are streaming files DIRECTLY to the client, all with zero Transcoding. I was finding on my smaller 2Gig Win7 Media Server, VLC Shares setup, that the videos were starting to get choppy via the VLC Shares transcoding. But when I just did a little tweak to make it also a standard Apache WebDav setup, it was perfect. Please note, this is Windows/Linux/Mac/Android only client solution, well as of right now, as I have not yet figured out all the PHP code that would be required at the end of the WebDav server to get WiiMC on the Wii to interact nicely. Well, at least not yet 🙂 But that is project B .
But, the important issue is, if you open up your web ports (like 80,81,82) to the outside world, and Port Forward those to your Media Server, you CAN stream your videos with all your friends too, right over the internet! Just by adding a few extra lines to your VLC Shares Apache / PHP server setup. And it works very well. Very very well!
I have been streaming videos to all my buddies for about a week now, and all is golden. Statement that my friends would use in there Firefox browser would be
http://64.180.144.???:81/upload/ (replace the ip with your actual external ip, or a dyndns ip if you have one)
And they would browse all my files, find what they want, right click on the video they wish to see, Copy Link Location.
Then startup there VLC / Media / open Network Stream / paste the url / change statement at bottom to :http-caching=2000 and they have a new video for the evening to watch for the whole family a few miles away. Zero transcoding, file is actually sitting on my computer/server, using the internet only to transport the stream, no need to copy video files around, just directly access them from anywhere on the internet using VLC. NO smb required either.I have also seen that directly embedding the link within onlinesettings.xml of WiiMC work as well , for example
http://192.168.1.4/upload/~TV%20Series/Space%20Above%20and%20Beyond/Space.Above.and.Beyond-e14.Never.No.More.mkv" />This allows you to directly stream the file in WiiMC. I am unsure what the difference in this is compared to SMB access, but I would assume with the correct PHP setup you could also access files on friends Media servers as well, right over the internet with WiiMC, with zero need for any SMB reliance. I have tested this with other Windows clients over the internet, but not yet with WiiMC over the internet, so that “theory” need to be qualified, tested and documented. But note, this is with no transcodeding so very large media files on WiiMC would fail. Which is I believe is the original idea behind VLC Shares. Anyways, this really opens the doors as a general work horse media server for literally any device, anywhere, anytime. anything AND done all with the super lightweight processing needs of Apache / PHP (the core of VLC Shares) and using Open Source software. So it’s free everywhere, for all time, and almost zero programing of any kind, and ZERO transcoding. So, not only can you have your VLC Shares server setup for awesome transcoding needs for your Wii, but with a few tweaks you can have full on video sharing for almost any other computer device, like a laptop at a buddies place when it’s Friday Night movie night! And your using the exact same source video files, so they have not moved. No need to hump a movie video via a usb stick to your buddies place, just bring the beer and chips and enjoy 🙂
For those interested, below are the tweaks I did to get this to work. It’s really fast and easy, puts zero extra workload of any kind on your server and it’s super fast with high quality streaming to all your devices/client computers. Please note, I have left my security settings completely open so there is zero security in my setup, except it’s read only. I did that for ease of use for all, but you want you could add a password quite easily if thats desired.
Click on the E beside Apache in the EasyPHP app / Configuration / tick ON Start Apache and MySql as services
(I do this as the EasyPHP app actually takes a bit of ram and slows things a little, I find just running pure services is faster and gives the machine better performance). Click on the Apache and MySql service controllers and shutdown both those servers.open this up in your Webbrowser for reference
http://www.mkyong.com/apache/how-to-enable-webdav-in-apache-server-2-2-x-windows/open up in notepad
C:Program FilesVLCSharesconf_fileshttpd.conf
add the line Listen 0.0.0.0:81 right below Listen 0.0.0.0:80 , now Apache will be accessible on port 80 and 81 as your ISP probably has port 80 blocked for your residential internet service. This allows those on the outside world to access your media server as well, if you like.Do Edit / Find in your Notepad looking for the following lines, and ensure NONE of them have a # hash in front of them.
LoadModule alias_module modules/mod_alias.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
LoadModule setenvif_module modules/mod_setenvif.sodo a Find for conf/extra and add this line below those statements
Include conf/extra/httpd-dav.conf
Save C:Program FilesVLCSharesconf_fileshttpd.conf and exit Notepad
In Windows go Control Panel / System / Advanced System Settings / Environment Variables / System Variables / New
Variable Name = APACHE_INSTALLED_PATH
Variable value = C:Program FilesVLCSharesapache
Ok
( Now the above action might not be “required” but I did it to ensure a smooth operation of Apache. You could try it without and see what happens though). Without it there might be an extremely slight performance advantage, but I am not sure. It does not sit in the “path” statement if you dump to Dos, so maybe not. )Copy C:Program FilesVLCSharesapacheconforiginalextrahttpd-dav.conf
to C:Program FilesVLCSharesapacheconfextrahttpd-dav.confStart / All Programs / Accessories / Right click on Command Prompt / Run as Administrator
cd
cd Progra~1 (this puts you into C:Program Files)
cd VLCShares
cd apache
cd binNow your sitting in C:Program FilesVLCSharesapachebin in Dos, with Admin rights. You could alternatively Use Explorer and browse to C:Program FilesVLCSharesapache hold down the Shift Key, Right click on bin and choose Open Command Prompt Here, but you won’t have admin rights, unless your are expressly logged in as “Administrator”. So that is a sucky solution.
While in Dos, with admin rights at C:Program FilesVLCSharesapachebin do this
htdigest -c “C:/Program Files/VLCShares/Apache/user.passwd” DAV-upload admin
it will ask you for the “admin” password twice, enter it and write it down somewhere. You could use your personal name if you like, we are not really going to use it in this setup, but you might use it later.Make the folder
C:Program FilesVLCSharesapachevarDavLockWithin Notepad open C:Program FilesVLCSharesapacheconfextrahttpd-dav.conf
change DavLockDB “C:/Program Files/Apache Software Foundation/Apache2.2/var/DavLock”
to DavLockDB “C:/Program Files/VLCShares/apache/var/DavLock”change
Alias /uploads “C:/Program Files/Apache Software Foundation/Apache2.2/uploads”
to
Alias /upload “C:/users/YOUR USER NAME/downloads”
(or whatever other directory you wish to share where your videos are with http access, note I nuked the “s” off of Alias /uploads. I just like using the Alias upload)similarly change
to
(or whatever directory where you have your videos that you would like to share with http access)change
AuthUserFile “C:/Program Files/Apache Software Foundation/Apache2.2/user.passwd”
to
AuthUserFile “C:/Program Files/VLCShares/apache/user.passwd”add
Options +Indexes (this is very important as it allows folks to actually see a full listing of all your files)
below
AuthDigestProvider fileYour done,
Now you just need to Restart Apache and MySQL. You can do that easily by clicking on VLC Shares, and within the EasyPHP app, enable both Apache and MySQL, then exit EasyPHP. Your servers should still be running because you set them up as services, for efficiency sake.Go to
http://192.168.1.4:81/upload/ (just replace the 192.168.1.4 with your local ip of your machine. Don’t use localhost:81 as that seem to introduce url copy paste issues in your browser) and you should come to a gray EasyPHP webpage of all your video files. Click around, find your video file of choice, Right Click, Copy Link Location.
Start VLC / Media / open Network Stream / paste the copied URL / hit Show more options to :http-caching=2000 and your streaming video ANYWHERE.Please note, I REQUIRED VLC version 1.1.9 for VLC Shares to be happy (nothing to do with the WebDav file sharing setup). VLC 2.x versions just would not stream from the server.
My internet upload speed is 1.5 meg using Telus up here in the Great White North . It’s alot better then our old Shaw connection that had us at only 350kbs , two years ago.Enjoy Team 🙂
tstwitterp.s. I understand there are a lot more technical people here with much better Apache experience. Please do not flame me, I am a bit of a Newbe and just learning what can be done with Apache. I just found this setup to be awesome and I am personally impressed. My other tech buddies use Plex as there media server software solutions, and it’s got some overhead. But… I think Apache will be way more faster! Plus it’s completely open source and Apache is just about as stable is it comes. My Win7 media server machine goes down once every six months, seriously… when we loose power, or the internet, it never crashes. I want to keep it that way, Apache is the way to go 😀
January 18, 2013 at 4:23 pm #30606bobnabobParticipantDude, your taking something real easy and makeing it complex.For starters vlc-shares transcodes almost everything it streams out.Just look at all the transcoding profiles in the Dashboard.These are what needs tweaking,
Thats how wiimc and android phones are able to Playback the videos.wiimc already ineracts with vlc-shares completly,video playback is great.Also the two ports you should be listening and forwarding are :8081and:5554.This is also stated in the dashboards profile settings.When you connect from wiimc it is just a http://server ip/vlc-shares that needs to be in the onlinemedia.xml.This connects you strait to vlc-shares collections and then on to any videos.No cut and paste are nessary.
When connecting to a stream by phone or VLCplayer it is always http://server ip and either port 8081 or 5554.
In a web browser take away the port and add /vlc-shares to the adress and you will get the Dashboard.January 21, 2013 at 5:17 am #30607marwan330ParticipantHi Emercamp,
I totally agree. Just setup VLC Shares and let it do exactly what it’s supposed to do, and it works sweet. I guess… I just wanted to do more 😆
Some of the really minor things that I was interested in solving.
– VLC Shares seems to be a one user at a time system. Which is totally fine in most environments, we just happen to have four in our family, two Wii’s a multitudes of PC and such. By using WebDav on the server, and VLC streaming on the client, we were able to stream to a multitude of devices all at the same time, with no reliance on SMB!
– I wanted to learn more about streaming! Setting up Apache WebDav as an add-on to VLC Shares was fun.
– I was trying to push VLC Streams to buddies over the internet. For some reason, using trancoding (VLC Shares) over the internet sucked, it just chugged. WebDav totally solved that ! Unsure why, but it did.
– At some point I also want to integrate a very simple and efficient upnp server into Apache, but I want it Open Source, mostly for Xbox 360 integration. My other ideas was also to see if I could setup HTML5 within Apache and have the Xbox play the HTML5 stream within the new Internet Explorer for Xbox 360.Just playing, and having a good time 🙂
-
AuthorPosts
- The forum ‘VLC Shares’ is closed to new topics and replies.