Hi I want to playback my videofiles on a vlc player served by a plex media server running on a windows machine.
So i d like to get a resizable videoplayer working with plex but i dont get it…
if i try to open the mediaserver with the windows media player it cant diplay folders or any movie and on vlc i can see the server in the playlist menue but cant open it to add a single movie oer anything else. My serverversion is 0.9.6.5
if annybondy can help me pls answer tx … (if anyone can tell me how i get apis and how to fetch media mybe we can start making a vlc plugin)
Not sure if this helps…
a couple of month ago I tried to understand a little more about the internals of Plex, especially the communication between the Server and the clients. In the end I came up with a small application to
- dig through the (remote) library
- ask VLC to replay the file.
It worked for the basic stuff, but misses some core features like…
- defining the clients capabilities (to start a transcoder session)
- replaying transcoded or streamed files thats PMS sends in chunks.
Anyway, I added the main C file for your reference, it basically outlines the idea behind it. If you want I also can share the secondary helper functions to bring it to live. Have a look and check back if you need more
<br />
/*<br />
* main.c<br />
* LilPlex<br />
*<br />
* Created by Baa on 9/12/11.<br />
* Copyright 2011 __MyCompanyName__. All rights reserved.<br />
*<br />
*/<br />
<br />
<br />
#include <stdio.h><br />
#include <string.h><br />
#include <stdlib.h><br />
<br />
#include "help_Bonjour.h"<br />
#include "help_HTTP_XML.h"<br />
#include "help_PMS.h"<br />
<br />
<br />
<br />
int main(int argc, const char * argv[])<br />
{<br />
/*<br />
* look up Plex Media Server on Bonjour...<br />
*/<br />
printf("*** look up PMS
");<br />
<br />
char* IPAddr;<br />
int IPPort;<br />
Bonjour_FindPMS(&IPAddr, &IPPort);<br />
<br />
/*<br />
Result:<br />
HTTPAddr: 192.168.178.20<br />
HTTPPort: 32400<br />
*/<br />
<br />
/* <br />
* request "http://<PMSadr><br />
*/<br />
<br />
int choice;<br />
<br />
char* HTTPAddr = NULL;<br />
HTTP_BuildAddr(&HTTPAddr, IPAddr, IPPort, "/");<br />
<br />
char* HTTPResponse = NULL;<br />
struct Menu_T* Menu;<br />
<br />
do<br />
{<br />
printf("*** HTTP request
");<br />
<br />
HTTP_Request(&HTTPResponse, HTTPAddr);<br />
<br />
/*<br />
Result:<br />
<MediaContainer size="15" friendlyName="baas-imac.fritz.box" machineIdentifier="8c47f270d8fd11e08ba764d8f5c34de07f9c950c" platform="MacOSX" transcoderActiveVideoSessions="0" transcoderVideoBitrates="64,96,208,320,720,1500,2000,3000,4000,8000,10000,12000,20000" transcoderVideoQualities="0,1,2,3,4,5,6,7,8,9,10,11,12" transcoderVideoResolutions="128,128,160,240,320,480,768,720,720,1080,1080,1080,1080" version="0.9.3.4-397e914"><br />
<Directory count="1" key="accounts" title="accounts"/><br />
<Directory count="1" key="applications" title="applications"/><br />
<Directory count="1" key="channels" title="channels"/><br />
[...]<br />
</MediaContainer><br />
*/<br />
<br />
/*<br />
* receive XML and decode. display "folders"<br />
*/<br />
<br />
printf("*** decode XML
");<br />
<br />
XML_Decode(&Menu, HTTPResponse); // Menu[256]<br />
<br />
/*<br />
Result:<br />
Menu[0].key = "accounts"<br />
Menu[0].title = "accounts"<br />
Menu[0]...<br />
Menu[0].IsDir = 1 // Directory<br />
*/<br />
<br />
/*<br />
* receive user input: move up/down in folder hirachy<br />
*/<br />
<br />
printf("*** Menu and Selection
");<br />
<br />
PMS_ShowMenu(Menu);<br />
PMS_Selection(&HTTPAddr, IPAddr, IPPort, Menu);<br />
<br />
/*<br />
if Dir loop to HTTP request<br />
system/plugins/all/...<br />
video/abc<br />
library/sections/<br />
if video file call video player<br />
library/parts/12466/file.avi<br />
*/<br />
}<br />
while(Menu[choice].IsDir==1);<br />
<br />
/*<br />
* call video player<br />
* VLC/Safari/Quicktime: open Network/URL - http://192.168.178.20:32400/library/parts/12466/file.avi<br />
*/<br />
/*<br />
'/video/:/transcode/segmented/start.m3u8?identifier=com.plexapp.plugins.library&offset=0&quality=5&url=http%3A%2F%2F127.0.0.1%3A32400${video}&3g=0&httpCookies=&userAgent=';<br />
*/<br />
printf("*** call video player
");<br />
<br />
printf("PLAY FILE: %s
", HTTPAddr);<br />
<br />
char cmd[5000];<br />
strcpy(cmd, "/Applications/VLC.app/Contents/MacOS/VLC ");<br />
strcat(cmd, HTTPAddr);<br />
strcat(cmd, " &");<br />
<br />
free(HTTPAddr);<br />
free(HTTPResponse);<br />
//free(Menu);<br />
<br />
system(cmd);<br />
free(Menu);<br />
return(0);<br />
}<br />
Hello buddys,
could you tell me where I can get the includes header files?
thanks,
Chris
this is where i started … it said vlc player worked with flex, i never even heard of flex.
http://www.iphonehacks.com/2014/01/stream-videos-ipad-iphone-plex-vlc.html
does vlc player work over cellular network with flex?
it asks for flex login info,
server,port, user,pass
what do you put in for server and port?
ext ip 108.51.xxx.xx
server name is main_2600k
port 28047 is the only port i can get open, that open port will see.
i can’t get this to work,
please help.
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.