plex movie feed

plex서버에서 최신피드 xml 형으로 만들기


드라마/예능 라이브러리는 xml 방식이 조금다르다. 


* php / codeigniter 기준으로 되어있습니다. 


1. Simplexml 라이브러리 


출처 : https://www.codeigniter-kr.org/bbs/view/source?idx=7542


Simplexml.php


2. xml 주소만들기 


토큰과 카테고리 주소를 알아야된다.


가장쉬운방법으로는 영상 정보에서 xml열기로 확인하자



1. 정보보기

2. view xml


xml 파일을 열어보면 주소 마지막에 토큰값이 있다. ( X-Plex-Token= )

카테고리는 librarySectionKey="/library/sections/21"부분 확인




이제 최신 영화 피드를 보는 xml를 만들어보자.


http://server-ip:32400/library/sections/카테고리ID/recentlyAdded?X-Plex-Container-Size=10&X-Plex-Token=토큰ID


들어가서 확인해보면 xml이 만들어져있다. 


3. xml 파싱하기


//Controller 
public function index()
{
	$this->load->model('plexMediaFeed');
	$url = 'server-url';
	$token = '토큰ID';
	$category =  카테고리ID

	$data = array(
		'movieData' => $this->plexMediaFeed->getMovieFeed($url,$token,$category,5)
	);
	$this->load->view('plex-update',$data);
}

//Model 
/**
* $url : 서버주소
* $token : 토큰ID
* $category : 카테고리ID
* $limit : 가져올 개수 
**/
function getMovieFeed($url,$token,$category,$limit='5') {
	$xml_url = $url.'/library/sections/'.$category.'/recentlyAdded?X-Plex-Container-Size=10&X-Plex-Token='.$token;
	$xmlRaw = file_get_contents($xml_url);
	$xmlData = $this->simplexml->xml_parse($xmlRaw);

	$data = array();
	foreach($xmlData['Video'] as $row)
	{
		if(!$limit--) break;
		array_push($data,
			array ( 
				'title' => $row['@attributes']['title'], //영화이름
				'thumb' => $url.$row['@attributes']['thumb'].'?X-Plex-Token='.$token, //썸네일 이미지주소 
			)
		);
	}
}


4. 확인 


태그 : CI, php, plex, plex xml, XML

댓글()

plex 쓸만한 플러그인

취미생활/알쓸기능|2018.11.26 22:05

1. Youtube 플러그인


https://github.com/kolsys/YouTubeTV.bundle


2. daum TV에이전시


https://github.com/wonipapa/DaumMovieTVSeries.bundle


3. 자막관리기 

- 한영통합자막 분리해줌.

- smi -> srt 변환


https://github.com/hojel/SmiConvert.bundle


4. pooq 플러그인


https://github.com/soju6jan/soju6jan.github.io/tree/master/kodi_plugin




PLEX 관련 글


2018/11/11 - [취미생활/리눅스] - plex 서버 업데이트받기

2018/11/13 - [취미생활/리눅스] - plex 서브도메인 설정

2018/11/26 - [취미생활/알쓸기능] - plex 숫자들어간 파일이름 지정

2018/11/26 - [취미생활/알쓸기능] - Plex Youtube 플러그인 추가하기


태그 : plex

댓글()

Plex Youtube 플러그인 추가하기

취미생활/알쓸기능|2018.11.26 21:36

plex에 youtube 플러그인을 추가해보자.




https://github.com/kolsys/YouTubeTV.bundle


위 주소에서 플러그인을 다운로드받고 plex plugin-ins폴더에 넣어주자.

ubuntu 경로 /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins



플러그인으로 들어가면 YoutubeTV가 추가되어있다. 



YoutubeTV를 들어가면 Code가 나온다. 이것을 

https://www.google.com/device


위 주소로 들어가서 코드를 입력하고 구글아이디를 로그인하여 엑세스허용을 해준다. 



다시 플렉스로 돌아와 새로고침을 해보면 본인이 구독한 사람들이 나오고 시청할수 있다. 

왠만하면 youtube를 이용하여 보겠지만.. 그냥 설치해본 기능



댓글()

plex 숫자들어간 파일이름 지정

취미생활/알쓸기능|2018.11.26 21:09

plex 서버에 숫자가 들어간 영상업로드시 에피소드 출력이 잘안될때가 있다.

파일명에 숫자가 들어가면 그 숫자를 에피소드로 인식할때가 있으니 아래 사진처럼 []로 감싸줘야한다.


예를들어서 응답하라 1988이면 응답하라 [1988] 로 해줘야되고

38사기동대 라면 [38]사기동대 라고 지정해줘야 정상적으로 출력된다.



댓글()

plex 서브도메인 설정

Plex Media Server에 서브도메인을 달아보자.
내 서버는 아파치가 설치되어있어 아파치 기준이다. nginx 이전 전까지는 아파치로 사용할것 같다.
apache2 설정

 

$ vi /etc/apache2/sites-available/파일명.conf

 

80포트
ProxyPass 와 ProxyPassReverse의 주소는 개인 plex주소로 변경한다.

  


  ServerName plex.lovejin90.com
 

    Order deny,allow
    Allow from all

 
  ProxyRequests Off
  ProxyPreserveHost On
 
  ProxyPass / http://localhost:32400/
  ProxyPassReverse / http://localhost:32400/
 
  RewriteEngine on
  RewriteCond %{REQUEST_URI} !^/web
  RewriteRule ^/$ /web/$1 [R,L]
 
  SSLEngine on
  SSLProtocol all -SSLv2 -SSLv3
 
 
  SSLCertificateFile "/etc/letsencrypt/live/도메인/cert.pem”            
  SSLCertificateKeyFile "/etc/letsencrypt/live/도메인/privkey.pem”    
  SSLCertificateChainFile "/etc/letsencrypt/live/도메인/chain.pem"

 

 

443 (ssl)
기타 ssl설정은 본인설정에 맞게 변경해준다.

 


  ServerName plex.lovejin90.com
 

    Order deny,allow
    Allow from all

 
  ProxyRequests Off
  ProxyPreserveHost On
 
  ProxyPass / http://localhost:32400/
  ProxyPassReverse / http://localhost:32400/
 
  RewriteEngine on
  RewriteCond %{REQUEST_URI} !^/web
  RewriteRule ^/$ /web/$1 [R,L]
 
  SSLEngine on
  SSLProtocol all -SSLv2 -SSLv3
 
 
  SSLCertificateFile "/etc/letsencrypt/live/도메인/cert.pem”            
  SSLCertificateKeyFile "/etc/letsencrypt/live/도메인/privkey.pem”    
  SSLCertificateChainFile "/etc/letsencrypt/live/도메인/chain.pem"

 

태그 : plex, ubuntu, 리눅스

댓글()

plex 서버 업데이트받기

plex 미디어서버 설치&업데이트받기 


$ sudo wget plexmediaserver_1.x.x.xxxx.deb
$ sudo dpkg -i plexmediaserver_1.x.x.xxxx.deb

18년 10월 이후 영화 에이전시업데이트


태그 : plex, 리눅스

댓글()