*
1 Likes

Тема: Обзор и просмотр файлов из папки для nStream

Показано с 1 по 10 из 26

  1. #1
    Member
    Регистрация 25.03.2012
    Сообщений 47

    Обзор и просмотр файлов из папки для nStream



    Написал скрипт на пхп, который генерирует XML плей лист для nStream****:
    - отобажает медиафайлы и выдаёт на них прямые http ссылки;
    - для m3u/xml делает тоже самое только выставляет тип "плейлист" и значёк ставит как для папки - те плей лист нормально открывается.

    Те можно как в файловом менеджере гулять по папкам и открывать файлы.

    Теперь чтобы смотреть с домашнего сервера (у кого он есть) скаченные киношки не нужно ломать голову и телек, достаточно в телек воткнуть nStream / nStream**** и прописать в кач плей листа ссылку на скрипт.

    Установка и настройка:
    Скачиваем: http://www.netlab.linkpc.net/downloa...ung/browse.php
    кладём на свой сервер в папку доступную по http, выставляем +x (права на запуск).

    В nStream нужно скормить ссылку на плей лист, я добавил в start.xml:
    Код:
    <channel>
    	<title>Browse NAS</title>
    	<playlist_url>http://АДРЕС_СЕРВЕРА/download/Samsun...aylist_url>
    	<description>Browse NAS folders</description>
    	<category_id>3</category_id>
    </channel>
    В скрипте правим пути:
    $basedir="/usr/data/"; /* File system path. */
    Указывает где на диске находится корневая папка для расшаривания телеку.

    $baseurl="/DataStore"; /* URL path. */
    Указывает в url до этой папки.

    Это часть конфига nginx, чтобы было немного понятнее:
    Код:
    		# allow files listing: DataStore
    		location ^~ /DataStore/ {
    			root			/usr/;
    
    			#allow 10.0.0.0/8;
    			#allow 127.0.0.0/8;
    			#allow 169.254.0.0/16;
    			allow 172.16.0.0/12;
    			#allow 192.168.0.0/16;
    			deny all;
    
    			access_log		off;
    			autoindex		on;
    			autoindex_exact_size	on;
    			autoindex_localtime	on;
    		}
    
    		# php in chroot for: Samsung TV
    		location ^~ /download/Samsung_TV/ {
    			root			/usr/local/www/;
    
    			#allow 10.0.0.0/8;
    			#allow 127.0.0.0/8;
    			#allow 169.254.0.0/16;
    			allow 172.16.0.0/12;
    			#allow 192.168.0.0/16;
    			deny all;
    
    			access_log		off;
    
    			# php
    			location ~* \.php$ {
    				include			fastcgi_params;
    				#fastcgi_pass		127.0.0.1:54475;
    				fastcgi_pass		unix:/var/run/rtorrent-fcgi.sock;
    				fastcgi_connect_timeout 30;
    				fastcgi_read_timeout	600;
    				fastcgi_send_timeout	600;
    				fastcgi_ignore_client_abort off;
    				#fastcgi_cache_valid	any 10s;
    				fastcgi_intercept_errors off;
    				fastcgi_index		index.php;
    				fastcgi_param		SCRIPT_FILENAME /usr/local/www$fastcgi_script_name;
    			}
    		}
    Те у меня при открытии http://АДРЕС_СЕРВЕРА/DataStore/
    на диске открывается /usr/DataStore/

    Можно пользоватся любым http сервером, лишь бы он хоть немного php поддерживал и умел шустро отдавать файл.
    Например lighttpd.


    Сюдаже можно добавить генерацию в формате NetPlayer/OVP - подкиньте ссылку на формат, я их себе не ставил.
    Так же думал о взможности конвертить m3u в xml при открытии через скрипт, но пока не очень нужно.


    PS: купил телек 4 дня назад, и лезть внуть с сэмиго прошивкой вообще не охота, потому что меня это дело затянет на недели, а телек я брал из расчёта что это будет монитор для общего просмотра фильмов и IPTV - взял, подключил за 10 минут и забыл об обслуживании. Когда оказалось что там есть своя начинка - решил повременить с подключением к компу.
    Satti. likes this.
  2. #2
    Senior Member
    Аватар для nitrogen14
    Регистрация 17.04.2008
    Сообщений 50,019

    Re: Обзор и просмотр файлов из папки для nStream

    это типо чтобы смотреть файлы по хттп с компа вместо нормального просмотра по сети, которая есть у телика?
    у телика вроде пропорции не меняются, это поднапрягает но не более того.
    Обсуждение всех нюансов развода в Германии. www.razvod.net
  3. #3
    Member
    Регистрация 25.03.2012
    Сообщений 47

    Re: Обзор и просмотр файлов из папки для nStream

    Да, просмотр по http.

    minidlna - тянет за собой тонну зависимостей во фре, к тому же транскодинг мне нафик не нужен - тогда уже проще медиаплеер на винде собрать и приделать к телеку.
    На винду всякую хрень ставить не хочу.
    Какие ещё варианты?
  4. #4
    Senior Member
    Аватар для nitrogen14
    Регистрация 17.04.2008
    Сообщений 50,019

    Re: Обзор и просмотр файлов из папки для nStream

    ну стоило в первом сообщении написать о цели данной задумки
    Обсуждение всех нюансов развода в Германии. www.razvod.net
  5. #5
    Member
    Регистрация 25.03.2012
    Сообщений 47

    Re: Обзор и просмотр файлов из папки для nStream

    Цель - с минимальными вмешательствами в телек и домашний сервер на фре (торренты, файлопомойка, роутер, сайт...) получить доступ удобный ко всей файлопомойке.

    Если бы телек (как китайские плееры на реалтеке) понимал самбо шары из каробки то это было бы не нужно.

    По формату плей листа - где почитать про последную версию nStream?
    browser_url и video_type - всё ещё используются? они обязательны?
  6. #6
    Senior Member
    Аватар для nitrogen14
    Регистрация 17.04.2008
    Сообщений 50,019

    Re: Обзор и просмотр файлов из папки для nStream

    зависит от того каким плеером ты пользуешся оригиналом или модом
    о оригинале данный раздел, видеотайп не нужен, браузер всё еще используется
    мод обсуждается здесь
    http://www.pristavka.de/index.php/topic,9749.0.html
    Обсуждение всех нюансов развода в Германии. www.razvod.net
  7. #7
    Member
    Регистрация 25.03.2012
    Сообщений 47

    Re: Обзор и просмотр файлов из папки для nStream

    Про мод я уже достаточно знаю.
    Ещё видел size с которым показывать, но не могу вспомнить где, кажется в OVP.
  8. #8
    Member
    Регистрация 10.09.2011
    Сообщений 40

    Re: Обзор и просмотр файлов из папки для nStream

    Доброго времени суток. В развитии темы... Автору спасибо за интересный материал, сам я, когда поставил nstreamplayer_****, тоже озадачился хотелкой смотреть все из одного места... До того пока не хакнул телек, юзал на роутере xupnpd, он спрвляется с этим на ура, но для тяжелых файлов нужен NFS... Посему недавно хакнул своего самца и написал свой первый в жизни php скрипт, который обеспечивает просмотр контента, включая вложенные папки, по NFS. Вот его текст
    Код:
    <?php
    /*-
     * Используете на свой страх и риск
     *  
     * Скрипт предназначен для обеспечения доступа по NFS 
     * из виджетов NstreamPlayer (original, mod)                  *    
     * Размещаете данный скрипт на компьютере (роутере) с NFS 
     * и HTTP серверами в корневой папке Http сервера под именем
     * nfs2xml.php. Ставите на телек SamyGO, настраиваете на нем 
     * доступ по NFS к вашему компьютеру (роутеру). Затем в teg 
     * playlist_url нужного плейлиста вписываете вот такой адрес
     * 
     * http://адрескомпа:порт/
     * nfs2xml.php?
     * &mount=/dtv/usb/sdb/nfs/192.168.2.1/_tmp_mnt_disc1_1_full_hd/
     * &source=/tmp/harddisk2/full_hd/
     * 
     * где mount - точка монтирования каталога в телевизоре
     *   source - реальное расположение каталога на компьютере (роутере).
     * 
     * При работе был частично использован скрипт TheDark GetSharedMedia
     * 
     *  
     *                 skuwakin@gmail.com 27.03.2012
     * 
    */
            $v_path=$_GET['mount'];
            $path=$_GET['source'];
            $s_path=$_GET['source'];
    		$files = GetDirFileArray2($path,true,false);         // папки
    		echo ("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n");
    		echo ("<items>\r\n");
    		if ($files!=="") {
    			foreach ($files as $f) {
    				echo ("<channel>\r\n");
    				echo ("<title>$f</title>\r\n");
    				echo ("<description>$f</description>\r\n");
    				echo ("<description><![CDATA[<table><tr><td style=\"vertical-align: top\"><img src=\"logos/image.png\" height=\"128\" width=\"128\"/></td>&f</td><h1></h1></td></tr></table>]]></description>\r\n");
    				echo ("<playlist_url>http://".$_SERVER['HTTP_HOST']."/testphp.php?mount=$v_path$f/&source=$s_path$f/</playlist_url>\r\n");
    				echo ("</channel>\r\n");
    			}	
     		}
    		$files = GetDirFileArray2($path,false,true);         // файлы
    		if ($files!=="") {
    			foreach ($files as $f) {
                    $f_path=str_replace ($s_path,$v_path,$path); 
    				echo ("<channel>\r\n");
    				echo ("<title>$f</title>\r\n");
    				echo ("<logo_30x30>image.png</logo_30x30>\r\n");
    				echo ("<description><![CDATA[$f_path$f]]></description>\r\n");
    				echo ("<stream_url>$f_path$f</stream_url>\r\n");
    				echo ("</channel>\r\n");
    			}	
    		}
     
    		echo ("</items>\r\n");
    function GetPath($path) {
    	if ($path=="") return null;
    	$a = explode("/",$path);										// защита
    	if ($a[0]!=NetServerName) return null;
    	foreach($a as $e) {
    		if ($e=="." || $e=="..") return null;
    	}
    	$a = array_splice($a,1);
    	$path = implode($a,"/");
    	return SharedMediaDir."/".$path;
    }
     
     
    function GetDirFileArray2($path,$isDirs,$isFiles,$ext="") {
    	$arr="";
    	clearstatcache();
    	if (!is_dir($path)) return "";
     	if (!($dh = opendir($path))) return "";
      	while (($FileName = readdir($dh)) !== false) { 
    		$f = is_dir($path.$FileName);
    		if (!$isDirs && $f) continue;
    		if (!$isFiles && !$f) continue;
    		if ($FileName=="." || $FileName=="..") continue;
    		if ($ext!="") { if (!preg_match("/\.".$ext."$/i",$FileName)) continue; };
    		$arr[] = $FileName;
    	}
      closedir($dh);
    	if (is_array($arr)) sort($arr);
    	return $arr;
    }
     
    ?>

  9. #9
    Member
    Регистрация 25.03.2012
    Сообщений 47

    Re: Обзор и просмотр файлов из папки для nStream

    Как xupnpd сделать обзор папок?
    (я его под фрю портировал, и колупаюсь в системно-сетевых недрах, до таких плюшек пока не добрался)


    Не, хакать пока не хочу
    Мне по работе хватает возни с линуксами, в тч иногда приходится пилить прошивку медиаплеера на реалтеке 1077.

    У меня пока не возникало проблем с просмотром по http: домашний сервер запросто отдаёт более 30 мегаБайт/сек (до 80), честный проводной гигабит, у телека порт вроде сотка, ему больше 11 в принципе не получить.
    Если будет напрягать - выставлю для TCP htcp алгоритм "передачи".
    Единственная проблема - не возможность переключения языков.
    Ещё вылетает иногда на некоторых видео - не разбирался почему.


    PS: написал багрепорт что телек как наркоман в инет лазит на каждый чих в смартхабе и про косяк с мультикастом: join-leave-join на старте воспроизведения - сказали что не заявлено производителем %)
    нихрена работать не хотят.
  10. #10
    Member
    Регистрация 10.09.2011
    Сообщений 40

    Re: Обзор и просмотр файлов из папки для nStream

    чтобы добавить папку в xupnpd, прописываете в xupnpd.lua в секции playlist нечто подобное

    {'/tmp/mnt/disc0_3/video/Мультики и детские фильмы' , 'Мультики и детские фильмы' },
    {'/tmp/mnt/disc0_3/video/Экскурсии по Петербургу' , 'Экскурсии по Петербургу' },

    затем зоходите в вебинтерфейс,xupnpd-playlist выбирайте нужый и из браузера сохраняете его как.... Не знаю как новые версии, но rc6 не умела обрабатывать вложенные папки. Так что пришлось маленько поизвращаться....

    Дело у меня осложняется тем, что 3.5T висит на стареньком wl-500w и скорость доступа по сети максимальна именно по NFS. Посему и пришлось хакнуть своего самца... Пока не испытал ни одного неудобства от хака. Что называется, сделал и забыл... (тьфу,тьфу, стучу по дереву)

    вы пишете "выставлю для TCP htcp алгоритм "передачи"." А можно поподробнее про это... Очень интересно.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения