2017년 5월 5일 금요일

[KODI] TV 녹화를 위한 EPG 정보 변환 팁

TV방송을 녹화 할 때 EPG를 기반으로 폴더와 파일명을 만드는 규칙을 사용하실 텐데요.. (예. $t/$c$-t.%F$.e$n.$x)
이렇게 녹화 해서 보다 보면 가끔  "창사특집 xxx.... " "한가위특집 xxx..." "200회 특집..." "xxx 1부" 와 같이 EPG 프로그램명이 변경되서 폴더가 바뀌거나 하죠..

이렇게 되면 KODI나 PLEX에서 스크래퍼가 정보를 못 불러오게 되고 라이브러리에 보이지 않게 되더군요.
폴더를 변경하고 파일명을 바꿔주고.... 그러면 되는데 좀 귀찮죠... 그래서 녹화하는 프로그램들의 경우 원래 프로그램명으로 고정 되게 간단한 PHP 스크립트를 만들어서 공유 합니다. epg데이터를 xml로 만들어서 사용하는 분들에게 유효합니다.
<?PHP
$autorecdir = "/volume8/@appstore/tvheadend-testing/var/dvr/autorec"; 
$epgfile="/volume8/PVR/BtvEPG.xml";
$dir_handle=opendir($autorecdir);
$i=0;
$autorecTitle=array();
while(($file=readdir($dir_handle))!= false) { 
 $fname = $file;  
 if($fname == "." || $fname == "..") { continue; } 
 $fp = fopen($autorecdir."/".$fname,"r"); 
 $fr = fread($fp, filesize($autorecdir."/".$fname)); 
 preg_match('/"title": "(.+?)",/i',$fr,$result);
 if(!in_array($result[1],$autorecTitle)){
  $autorecTitle[$i]=$result[1]; 
  $i++;
 }
 fclose($fp); 
} 
closedir($dir_handle);
$response = file_get_contents($epgfile);
foreach($autorecTitle as $title){
 $response=preg_replace('/<title lang="kr">.*?('.$title.').*?<\/title>/i', '<title lang="kr">'.$title.'</title>', $response);
}
file_put_contents($epgfile,$response);
?>
본인의 설치/실행 경로로 변경 해야 할 곳이 두 군데 있습니다.
두 번째 줄에 @autorecdir 경로는 본인의 tvheadend 설치 경로로 변경 해 주시고
세 번째 줄에 @epgfile 경로는 epg.xml 파일 위치로 변경 해 주시면 됩니다.
마지막으로 cron 등의 스캐줄러로 epg.xml 파일 생성 후에 이 스크리트가 실행 되게 하시면 되겠습니다. 시놀로지는 작업 스캐줄러에 등록 하시면 되겠죠? ^^.

AutoREC 기능으로 녹화 시 AuroREC상 프로그램명으로 EPG 데이터를 변경 시키는 방법임으로 이용하실 때 참고 하시면 좋을 것 같습니다.

댓글 없음:

댓글 쓰기