Kodi Community Forum

Full Version: XBMC Video Server: stream/download your library contents
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
You're right about the ProxyPass and ProxyPassReverse directives, they should be host:port or address:port as stated in the readme. The port is 8080 unless you've changed it. The "proxy location" setting in XBMC Video Server should be the same as the location configured in Apache, which is "/xbmc-reverse-proxy" in the example in the readme.
Ok, then i'm misunderstanding what the "/xbmc-reverse-proxy" comes from, is that the location of the server files?
Have you actually read the readme? It's all explained there.
Yes i have, i'm just not understanding what what the "/xbmc-reverse-proxy" part means.
Let's say you have the following setup:

- XBMC Video Server running on http://you.example.com/
- XBMC running on 192.168.1.100:8080

This means the URLs to your media will look something like this: http://192.168.1.100:8080/vfs/path/to/media.mkv

While that URL will be accesible on your internal network, it won't work over the internet. This is where a reverse proxy comes into play. Configuring a reverse proxy in Apache (the web server that runs XBMC Video Server) means that it will forward requests on a certain location to another location, usually on a different host. For example:

http://you.example.com/xbmc-reverse-proxy ---------> http://192.168.1.100:8080/

Since XBMC Video Server is installed on the same network as XBMC, it can reach the internal address.
Thanks for the explanation, that's what i was thinking it did but for some reason it wasn't working, so i could change that to whatever i want as long as the two match up? Also it would help if i used the right ip adress Blush
Yes, the location itself can be whatever you want so long as you use the same one in the Apache configuration and in the settings. I usually use something long and unguessable so someone doesn't accidentally find it.
Hi,

I try to use your XBMC Video Server over the internet but I'm stuck... Sad
(It works very well on local network Big Grin)

I have xbmc (linux) on the same server as apache.
I have another server (main server) on the network, it also has a web server (running on port 80) and I dont want to touch it (many web site and web application).

So I change the listened port of apache on the xbmc server to 1337 (for example)
Code:
/etc/apache2/ports.conf
NameVirtualHost *:1337
Listen 1337
Code:
/etc/apache2/sites-available/default
<VirtualHost *:1337>
        [ . . . ]
# Needed to make certain URLs work
    AllowEncodedSlashes On

    <Location /xbmc-reverse-proxy>
        ProxyPass http://127.0.0.1:8080
        ProxyPassReverse http://127.0.0.1:8080
        RequestHeader set Authorization "Basic eGJtYzp4Ym1j"
    </Location>
</VirtualHost>

With this I can access to apache (and XBMC Video Server) through my.domain.com:1337
I set my backend like this :
Code:
Hostname : my.domain.com
Port : 1337
Username : xbmc
Password : xbmc
Proxy location : /xbmc-reverse-proxy

And this is where I'm stuck..
When i want to browse library I get an error 500, not found (404) Sad
I've modified the host in the reverse proxy to 'localhost' or the lan ip of the xbmc server and I get the same error.

This is the log I get :
Code:
Level    error
Category    exception.CHttpException.500
Logtime    2013-10-18 10:29:15
Source address    xxx.xxx.xx.xx
Message    
exception 'CHttpException' with message 'Not Found (404)' in /var/www/xbmc-video-server/src/protected/components/XBMC.php:99
Stack trace:
#0 /var/www/xbmc-video-server/src/protected/components/XBMC.php(68): XBMC->performRequestInternal('VideoLibrary.Ge...', Array, 0)
#1 /var/www/xbmc-video-server/src/protected/models/VideoLibrary.php(42): XBMC->performRequest('VideoLibrary.Ge...', Array)
#2 /var/www/xbmc-video-server/src/protected/controllers/MovieController.php(35): VideoLibrary::getMovies(Array)
#3 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/actions/CInlineAction.php(49): MovieController->actionIndex()
#4 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/CController.php(308): CInlineAction->runWithParams(Array)
#5 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/filters/CFilterChain.php(133): CController->runAction(Object(CInlineAction))
#6 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/filters/CFilter.php(40): CFilterChain->run()
#7 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/CController.php(1145): CFilter->filter(Object(CFilterChain))
#8 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/filters/CInlineFilter.php(58): CController->filterAccessControl(Object(CFilterChain))
#9 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/filters/CFilterChain.php(130): CInlineFilter->filter(Object(CFilterChain))
#10 /var/www/xbmc-video-server/src/protected/components/Controller.php(73): CFilterChain->run()
#11 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/filters/CInlineFilter.php(58): Controller->filterCheckConfiguration(Object(CFilterChain))
#12 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/filters/CFilterChain.php(130): CInlineFilter->filter(Object(CFilterChain))
#13 /var/www/xbmc-video-server/src/protected/components/Controller.php(56): CFilterChain->run()
#14 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/filters/CInlineFilter.php(58): Controller->filterRequireLogin(Object(CFilterChain))
#15 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/filters/CFilterChain.php(130): CInlineFilter->filter(Object(CFilterChain))
#16 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/CController.php(291): CFilterChain->run()
#17 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/CController.php(265): CController->runActionWithFilters(Object(CInlineAction), Array)
#18 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/CWebApplication.php(282): CController->run('index')
#19 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/web/CWebApplication.php(141): CWebApplication->runController('movie/index')
#20 /var/www/xbmc-video-server/vendor/yiisoft/yii/framework/base/CApplication.php(180): CWebApplication->processRequest()
#21 /var/www/xbmc-video-server/src/index.php(17): CApplication->run()
#22 {main}
REQUEST_URI=/xbmc-video-server/src/movie/index
HTTP_REFERER=http://my.domain.com:1337/xbmc-video-server/src/log
---

Perhaps I misunderstood something Huh
Or is the fact that I use a special port to reach apache ? Confused

ps : I kept the default credentials and reverse proxy for testing, I'll change that later ¨
Your Apache configuration looks correct, it's your backend details that are wrong. Since you're using a reverse proxy you should enter "localhost" or "127.0.0.1" as hostname and 8080 as port.
It works with localhost:8080 ! Big Grin
Thanks for the quick reply Smile
Could someone explains to me in layman (or newbie, go ahead I won't mind) terms what exactly I have to do in the Proxy Location stage of the setup .?
The readme for someone as new as myself is not clear. I get I have to modify some files with what is in the boxed text, but I can't find which files, and where in the program i have to input what...

I don't understand as well what the virtual host is exactly. Do I have to change the boxed text for my ip ?

I'm running the following setup: Windows 7 with xampp and appache running (new one), xbmc 13 (gotham) alpha 6. Both the server and the xbmc runs on the same computer.

All I get for the moment is: Unable to connect to localhost:8080 . Error #0: stream_socket_client(): (0)
Thanks in advance Smile
(2013-10-23, 19:17)Ashran Wrote: [ -> ]Could someone explains to me in layman (or newbie, go ahead I won't mind) terms what exactly I have to do in the Proxy Location stage of the setup .?
The readme for someone as new as myself is not clear. I get I have to modify some files with what is in the boxed text, but I can't find which files, and where in the program i have to input what...

I don't understand as well what the virtual host is exactly. Do I have to change the boxed text for my ip ?

I'm running the following setup: Windows 7 with xampp and appache running (new one), xbmc 13 (gotham) alpha 6. Both the server and the xbmc runs on the same computer.

All I get for the moment is: Unable to connect to localhost:8080 . Error #0: stream_socket_client(): (0)
Thanks in advance Smile

If you are running it on the same machine you shouldn't have to use the proxy settings, it's more for if you have a webserver and a seperate xbmc box and you don't want to expose the xbmc box to the internet.

Edit can you access the xbmc webserver? My guess is you may not have enabled that.
Indeed the xbmc webserver is not started and when I click on activate, it says "failed to start". I see there is yet again a question of ports according to here, but I don't seem to have a choice of configuration. What should i do ?

Edit I manage to make the webserver works. But still no luck for the xbmc-video-server, still stuck with the same message
I have progress. I put the same port (800) I chose for xbmc webserver and I have a list of movies now (and tv shows). I can access the profile of the movie or the serie and download the .m3u but when I try to read it on vlc I got the following message (in french, sorry):

Votre média d'entrée ne peut être ouvert:
VLC ne peut pas ouvrir « http://ashran.dragonpress.net/xbmc-rever....Tvrip.avi ». Vérifiez les messages pour plus de détails.

I must have done something wrong, but what....
Negge,
seems like a lot of people want transcoding... including myself. Seems like FFMPEG does it via command line.

Maybe you can leverage work already done?

work on it posted on this thread... http://www.silicondust.com/forum2/viewto...2&start=15

A developer on that thread made an app, in Ruby, to transcode Live TV. Might be able to adapt or collaborate it to get it working with your app. He has it running with XBMC already...
http://jonmaddox.com/wallop/
https://github.com/maddox/wallop

AND

there is also a wrapper from another project...
https://github.com/streamio/streamio-ffmpeg