Hi alib
Wonderful work !
Congratulation
Hi alib
Wonderful work !
Congratulation
oO. Seems something going wrong with 1.0 ....
I can see "Sessions" and "Checking running sessions", but nothing else ..
/tmp/istreamdev.log:
[2010/03/29 23:02:12] Executing action [getGlobals]
[2010/03/29 23:02:12] Executing action [getRunningSessions]
[2010/03/29 23:02:12] Listing sessions
apache2_error.log:
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] File does not exist: /srv/www/vhosts/fhem/www/istreamdev/istreamdev.manifest
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] PHP Notice: Undefined variable: min_symlinks in /srv/www/vhosts/fhem/www/istreamdev/min/index.php on line 32, referer: http://192.168.178.27/istreamdev/index.php
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] PHP Notice: Undefined variable: min_symlinks in /srv/www/vhosts/fhem/www/istreamdev/min/index.php on line 32, referer: http://192.168.178.27/istreamdev/index.php
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] PHP Warning: Call-time pass-by-reference has been deprecated in /srv/www/vhosts/fhem/www/istreamdev/bin/svdrp.php on line 32, referer: http://192.168.178.27/istreamdev/index.php
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] PHP Warning: Call-time pass-by-reference has been deprecated in /srv/www/vhosts/fhem/www/istreamdev/bin/svdrp.php on line 32, referer: http://192.168.178.27/istreamdev/index.php
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] PHP Fatal error: Call to undefined function json_encode() in /srv/www/vhosts/fhem/www/istreamdev/bin/jsonapi.php on line 24, referer: http://192.168.178.27/istreamdev/index.php
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] PHP Warning: Call-time pass-by-reference has been deprecated in /srv/www/vhosts/fhem/www/istreamdev/bin/svdrp.php on line 32, referer: http://192.168.178.27/istreamdev/index.php
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] PHP Warning: Call-time pass-by-reference has been deprecated in /srv/www/vhosts/fhem/www/istreamdev/bin/svdrp.php on line 32, referer: http://192.168.178.27/istreamdev/index.php
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] PHP Fatal error: Call to undefined function json_encode() in /srv/www/vhosts/fhem/www/istreamdev/bin/jsonapi.php on line 169, referer: http://192.168.178.27/istreamdev/index.php
[Mon Mar 29 23:00:33 2010] [error] [client 192.168.178.26] File does not exist: /srv/www/vhosts/fhem/www/favicon.ico, referer: http://192.168.178.27/istreamdev/index.php
config:
<?php
// Enable/disable features
$enablevdr=1; // VDR features
$enablemediavideo=1; // Video files streaming
$enablemediaaudio=1; // Audio files streaming
// Debug mode
$debug=1; // Debug all action
$debugfile="/tmp/istreamdev.log"; // Debug file
$ffmpegdebug=1; // Debug ffmpeg
$ffmpegdebugfile="/tmp/istreamdev-ffmpeg.log"; // FFmpeg debug file
// Http configuration
$user='user'; // Login
$pass='pass'; // Password
$httppath='/istreamdev/'; // Absolute path to the index.php file. Don't put http://yourdomain !!
// VDR configuration
$vdrchannels='/etc/vdr/channels.conf'; // VDR channel list
$svdrpport=2001; // SVDRP port
$svdrpip='127.0.0.1'; // SVDRP ip
$vdrstreamdev='http://127.0.0.1:3000/TS/'; // VDR streamdev URL
$vdrrecpath='/video/'; // VDR recording directory
$vdrepgmaxdays=10; // Number of days to get from EPG
// Media configuration
$videotypes='avi mkv ts mov mp4 wmv flv mpg mpeg mpeg2 mpv '; // Supported video extensions (must finish with a space)
$audiotypes='mp3 aac wav '; // Supported audio extensions
$videosource='/srv/movies'; // Video files directory
$audiosource='/srv/mp3'; // Audio files directory
// Encoding (The name cannot be changed)
// Name Video Audio Resolution
$quality=array ( 'edge' => '128k 64k 240x160',
'3g' => '350k 64k 408x272',
'wifi' => '512k 128k 480x320');
$maxencodingprocesses=3; // Max simultaneous encoding processes
// Misc
$ffmpegpath='/usr/local/bin/ffmpeg'; //path to ffmpeg binary
$segmenterpath='/usr/local/bin/segmenter'; //path to segmenter binary
// Version
$isdversion = "1.0";
?>
Display More
Where is my Fault?
same here ..
what is wrong?
mentox
What's your version of php ?
You need PHP 5 >= 5.2.0
Or try updating to the git. A fix have been pushed with this function for older php.
( Or add this function manually to bin/utils.php : http://www.stetsenko.net/2009/09/php-js…e-before-5-2-0/ )
hmm,
I try a new git installation ...
# rm istreamdev -R
# git clone git://projects.vdr-developer.org/istreamdev.git
# chwon wwwrun:www istreamdev -R
[Tue Mar 30 08:22:13 2010] [error] [client 88.79.85.86] PHP Notice: Undefined variable: min_symlinks in /srv/www/vhosts/fhem/www/istreamdev/min/index.php on line 32, referer: http://mimmiomi.mine.nu/istreamdev/index.php
[Tue Mar 30 08:22:15 2010] [error] [client 88.79.85.86] PHP Warning: Call-time pass-by-reference has been deprecated in /srv/www/vhosts/fhem/www/istreamdev/bin/svdrp.php on line 32, referer: http://mimmiomi.mine.nu/istreamdev/index.php
[Tue Mar 30 08:22:15 2010] [error] [client 88.79.85.86] PHP Warning: Call-time pass-by-reference has been deprecated in /srv/www/vhosts/fhem/www/istreamdev/bin/svdrp.php on line 32, referer: http://mimmiomi.mine.nu/istreamdev/index.php
[Tue Mar 30 08:22:16 2010] [error] [client 88.79.85.86] PHP Warning: Call-time pass-by-reference has been deprecated in /srv/www/vhosts/fhem/www/istreamdev/bin/svdrp.php on line 32, referer: http://mimmiomi.mine.nu/istreamdev/index.php
[Tue Mar 30 08:22:16 2010] [error] [client 88.79.85.86] PHP Warning: Call-time pass-by-reference has been deprecated in /srv/www/vhosts/fhem/www/istreamdev/bin/svdrp.php on line 32, referer: http://mimmiomi.mine.nu/istreamdev/index.php
The Error ( in Apache2-log ) is away, but nothing happened.
See attachment
----
Edit: Updating PHP5 to 5.2.12 -> the same storry.
# php5 --version
PHP 5.2.12 with Suhosin-Patch 0.9.7 (cli) (built: Feb 12 2010 15:10:01)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
# rpm -qa |grep php5
php5-5.2.12-0.1.1
apache2-mod_php5-5.2.12-0.1.1
php5-gd-5.2.12-0.1.1
---
It seems that the whole webside is in browser-cache, but would not be shown on Safari.
eg. Show Source on Firefox:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" manifest="istreamdev.manifest">
<head>
<meta charset="UTF-8" />
<title>iStreamdev</title>
<link rel="stylesheet" href="min/?b=css&f=jqtouch.css,theme.css,istreamdev.css,spinningwheel.css" type="text/css" media="screen" />
<script src="min/?b=js&f=jquery-1.4.2.min.js,jqtouch.js,jqtouch.transitions.js,functions.js,spinningwheel.js,jquery.scrollTo-1.4.2.js,istreamdev.js" type="text/javascript" charset="utf-8"></script>
</head>
<body onorientationchange=\"updateOrientation();\">
<div id="loader"></div>
<div id="status_box"></div>
<div id="jqt">
<!-- HOME SCREEN (always present) -->
<div id="home" class="current">
<div class="toolbar">
<h1>HOME</h1>
</div>
<ul class="rounded" id="runningsessions">
<li><span class="menutitle">SESSIONS</span></li>
<li>Checking running session</li>
</ul>
</div>
<!-- / HOME SCREEN -->
<!-- CHAN CATEGORY SCREEN -->
<div id="categories">
<div class="toolbar">
<a href="#" class="back">Home</a>
<h1><img class="menuicon" src="img/tv.png" /> CATEGORIES</h1>
</div>
<ul id="cat_menu" class="rounded">
</ul>
</div>
<div id="channels">
<div class="toolbar">
<a href="#" class="back">Back</a>
<a href="#home" id="home_but" class="button">Home</a>
<h1><img class="menuicon" src="img/tv.png" /> CHANNELS</h1>
</div>
<ul id="chan_menu" class="rounded">
</ul>
</div>
<!--/CHAN CATEGORY SCREEN -->
<!-- STREAM SCREEN -->
<div id="streamchannel">
<div class="toolbar">
<a href="#" class="back">Back</a>
<a href="#home" id="home_but" class="button">Home</a>
<h1><img class="menuicon" src="img/tv.png" />Channel</h1>
</div>
<center><ul class="thumb" style="width:90px"><img class="thumbnail" id="thumbnail" src="" onerror="this.src='img/nologoTV.png'" /></ul></center>
<ul class="streaminfo">
<li><span class="name_now"></span>
<span class="epgtime_now"></span>
<span class="desc_now"></span></li>
<li>
<span class="name_next"></span>
<span class="epgtime_next"></span></li>
</ul>
<center>
<br>
<span class="streamButton"><a id="edge" href="#">Edge</a></span><span class="streamButton"><a id="3g" href="#" class="cube"> 3G </a></span><span class="streamButton"><a id="wifi" href="#" class="cube">Wifi</a></span><span class="recButton"><a id="rec" href="#" class="cube">Rec.</a></span>
<br><br>
</center>
<div rel="dataholder" style="visibility:hidden">
<span rel="type"></span>
<span rel="url"></span>
<span rel="number"></span>
<span rel="channame"></span>
</div>
</div>
<div id="streamrec">
<div class="toolbar">
<a href="#" class="back">Back</a>
<a href="#home" id="home_but" class="button">Home</a>
<h1>Recordings</h1>
</div>
<center><ul class="thumb" style="width:90px"><img class="thumbnail" id="thumbnail" src="" onerror="this.src='img/nologoTV.png'" /></ul></center>
<ul class="streaminfo">
<li>
<span class="name_now"></span>
<span class="epgtime_now"></span>
<span class="desc_now"></span>
</li>
</ul>
<center><br>
<span class="streamButton"><a id="edge" href="#">Edge</a></span><span class="streamButton"><a id="3g" href="#" class="cube"> 3G </a></span><span class="streamButton"><a id="wifi" href="#" class="cube">Wifi</a></span>
<br><br>
</center>
<div rel="dataholder" style="visibility:hidden">
<span rel="type"></span>
<span rel="url"></span>
</div>
</div>
<div id="streamvid">
<div class="toolbar">
<a href="#" class="back">Back</a>
<a href="#home" id="home_but" class="button">Home</a>
<h1>Video</h1>
</div>
<center><ul class="thumb" style="width:190px;"><img class="thumbnail" id="thumbnail" src="" /></ul></center>
<ul class="streaminfo">
<li>
<span class="name_now"></span>
<span class="epgtime_now"></span>
<span class="desc_now"></span>
</li>
</ul>
<center><br>
<span class="streamButton"><a id="edge" href="#">Edge</a></span><span class="streamButton"><a id="3g" href="#" class="cube"> 3G </a></span><span class="streamButton"><a id="wifi" href="#" class="cube">Wifi</a></span>
<br><br>
</center>
<div rel="dataholder" style="visibility:hidden">
<span rel="type"></span>
<span rel="url"></span>
</div>
</div>
<div id="streaming">
<div class="toolbar">
<a href="#" class="back">Back</a>
<a href="#home" id="home_but" class="button">Home</a>
<h1></h1>
</div>
<center><ul class="thumb" id="player"><img class="thumbnail" id="thumbnail" src="" /></ul></center>
<ul class="streamstatus">
<span class="title">Status</span>
<span class="mode"></span>
</ul>
<ul class="streaminfo">
</ul>
<center>
<span class="streamButton"><a rel="stopbroadcast" href="#">Stop stream</a></span>
<br><br>
</center>
<div rel="dataholder" style="visibility:hidden">
<span rel="session"></span>
<span rel="name"></span>
<span rel="thumbwidth"></span>
<span rel="thumbheight"></span>
<span rel="number"></span>
</div>
</div>
<!-- /STREAM SCREEN -->
<!-- TIMERS SCREEN -->
<div id="timers">
<div class="toolbar">
<a href="#" class="back">Home</a>
<h1><img class="menuicon" src="img/timers.png" /> TIMERS</h1>
</div>
<ul class="rounded" rel="timers">
</ul>
<ul class="rounded">
<li class="arrow"><a href="#" rel="new"><span class="menuname">New Timer</span></a></li>
</ul>
</div>
<div id="edittimer">
<div class="toolbar">
<a href="#" class="back">Back</a>
<a href="#home" id="home_but" class="button">Home</a>
<h1></h1>
</div>
<form name="timer" id="timer" action="#">
<ul class="rounded">
<li><span class="timertitle">Active</span><span class="toggle"><input id="timer_active" name="timer_active" type="checkbox" /></span></li>
</ul>
<ul class="rounded" rel="name">
<li><span class="timertitle">Name</span></li>
<li class="formerror" id="timer_name_error"><span class="formerrormsg">Recording name is missing</span></li>
<li><input type="text" name="name" placeholder="Enter recording name" id="timer_name" style="color: #FFFFFF" /></li>
</ul>
<ul class="rounded" rel="channel">
<li>
<span class="timertitle">Channel</span>
</li>
<li>
<select id="timer_chan">
</select>
</li>
</ul>
<ul class="rounded" rel="date">
<li><span class="timertitle">Date</span></li>
<li class="formerror" id="timer_date_error"><span class="formerrormsg">Date is missing</span></li>
<li class="arrow"><a id="a_date" class="abutton" href="#" onClick="$('#timer_date_error').hide();"><span class="menuname" id="layer_date">Select date</span></a></li>
</ul>
<ul class="rounded" rel="stime">
<li><span class="timertitle">Start time</span></li>
<li class="formerror" id="timer_starttime_error"><span class="formerrormsg">Starting time is missing</span></li>
<li class="arrow"><a id="a_starttime" class="abutton" href="#" onClick="$('#timer_starttime_error').hide();"><span class="menuname" id="layer_starttime">Select start time</span></a></li>
</ul>
<ul class="rounded" rel="etime">
<li><span class="timertitle">End time</span></li>
<li class="formerror" id="timer_endtime_error"><span class="formerrormsg">Ending time is missing</span></li>
<li class="arrow"><a id="a_endtime" class="abutton" href="#" onClick="$('#timer_endtime_error').hide();"><span class="menuname" id="layer_endtime">Select end time</span></a></li>
</ul>
<input name="timer_id" type="hidden" id="timer_id" value="" />
<input name="timer_date" type="hidden" id="timer_date" value="" />
<input name="timer_starttime" type="hidden" id="timer_starttime" value="" />
<input name="timer_endtime" type="hidden" id="timer_endtime" value="" />
</form>
</div>
<!-- EPG -->
<div id="epg">
<div class="toolbar">
<a href="#" class="back">Home</a>
<h1>EPG</h1>
</div>
<ul class="rounded">
<li class="arrow"><a href="#" rel="whatsnow"><span class="menuname">WHAT'S NOW</span></a></li>
</ul>
<form name="epgform" id="epgform" action="#">
<ul class="rounded">
<li><span class="menuname" style="color:white">WHAT'S:</span></li>
<li><span class="timertitle">IN Channel:</span></li>
<li><select id="epg_chan"><option value="all">All channels</option></select></li>
<li><span class="timertitle">ON Day:</span></li>
<li><select id="epg_day"><option value="today">Today</option></select>
<li><span class="timertitle">AT Time:</span></li>
<li><select id="epg_time"></select></li>
</ul>
<ul class="rounded" ref="submitbut"><li><center><a href="#" class="submit_epg">Get Programs</a></center></li></ul>
</form>
</div>
<div id="epglist">
<div class="toolbar">
<a href="#" class="back">Back</a>
<a href="#home" id="home_but" class="button">Home</a>
<h1>EPG</h1>
</div>
<form name="form_selector" id="form_selector" action="#">
<ul class="rounded"><li id="epg_selector"></li></ul>
</form>
<ul class="edgetoedge" id="ul_epglist">
</ul>
<div rel="dataholder" style="visibility:hidden">
<span rel="day"></span>
</div>
</div>
<div id="epgdetails">
<div class="toolbar">
<a href="#" class="back">Back</a>
<a href="#home" id="home_but" class="button">Home</a>
<h1><img class="menuicon" src="img/tv.png" />Channel</h1>
</div>
<center><ul class="thumb" style="width:90px"><img class="thumbnail" id="thumbnail" src="" onerror="this.src='img/nologoTV.png'" /></ul></center>
<ul class="streaminfo">
<li><span class="name_now"></span>
<span class="epgtime_now"></span>
<span class="desc_now"></span></li>
</ul>
<center>
<br>
<div id="epgdetails_buttons"></div>
<br><br>
</center>
<div rel="dataholder" style="visibility:hidden">
<span rel="number"></span>
<span rel="channame"></span>
<span rel="date"></span>
<span rel="stime"></span>
<span rel="etime"></span>
<span rel="url"></span>
</div>
</div>
</div>
</body>
</html>
Display More
mhh , really strange.
edit: I've fixed warnings in php. Can you update from git to test ?
or try to deactivate warning in php if it don't fix it. Perhaps the php answer some warnings in the json output.
->set your php.ini with display_errors = Off
Can one of you booth give me access to istreamdev in PM ? I will check what's happening
( in this case don't remove display_errors = off when i test ).
Last thing that could be the cause, you perhaps have to declare "application/json" mime type in your apache config.
Bad OpenSuSE ...
now I found a Package named: "php5-json" ... installing it does not directly correct the error ...
I'm going to try some settings.
PS: Error=Off does not solve the Problem.
i've just edited my previous post.
try updating to git, and pm me your istreamdev url then i can test.
Thanks.
Yeah,
I intall some php5-extensions, and IT WORKS!
php5-zlib php5-zip php5-xmlwriter php5-xmlrpc php5-xmlreader php5-wddx php5-tokenizer php5-tidy php5-sysvshm php5-sysvmsg php5-suhosin php5-sqlite php5-soap php5-shmop php5-readline php5-pspell php5-posix php5-mcrypt php5-pear php5-json php5-iconv php5-gettext php5-fastcgi php5-devel php5-exif php5-ctype php5-bz2
Which one is needed?
interesting.
I think php5-json & php5-zlib
What's trange here, is i use a default php5 install from debian and it works.
If you find the missing package, i'm interested to add it in the README.
Fixed in Git , it should try to load extension dynamically if not loaded by default by your php installation.
If extension is not installed of course it won't work.
Thanks.
now i have the following packages installed, and it works:
# rpm -qa |grep php5
php5-zlib-5.2.12-0.1.1
php5-5.2.12-0.1.1
php5-json-5.2.12-0.1.1
apache2-mod_php5-5.2.12-0.1.1
php5-json and php5-zlib seems to be needed.
SuSE:
or if you use smart
mentox: Can you validate this?
one litle minor flaw:
The Quicktime-Preview is shiftet to the right.
otherwise:
Very, very nice ... Thank you
this seems to be a cache problem because of previous bug.
Can you delete all history, cache & cookies from your iphone, as your /tmp/minify* files on your server and try again ?
Never saw this bug here.
QuoteOriginal von alib
this seems to be a cache problem because of previous bug.Can you delete all history, cache & cookies from your iphone, as your /tmp/minify* files on your server and try again ?
Never saw this bug here.
I'll make this at evening ( to much browser-tabs open at present ).
PS: Can you help me to adapt this patch from 0.3.7 to 1.0 ? I can't speak Java well.
This will be a little bit more tricky to do right now.
What i can plan for next feature, is to add something in the config.php file to allow you having some special links in homePage without touching the js code.
something like:
AddCategory1 = "Home Automation";
AddButton= "Open Garage,http://127.0.0.1:7072?action=parameter";
What kind of HTTP call do you need ? On what i see it's not Post data.
Sounds great.
Is not a big thing, it should principally simply call a commandline-script when clicked. In second it should show a diffrent picture when a file exist. Not a great thing.
"Open Garage,http://127.0.0.1:7072?action=parameter" does not work. it needs the Commandline call: "printf \"/usr/src/fhem-4.8/fhem.pl 127.0.0.1:7072 \\\"set swz011 off\\\"\" |at now" and the showing state!
Best thing ( i think ) simply to call a "user defined" - php-include
... my problem is, that i don't understand the building of the "home" - page ... and that is needed for the different images.
eg:
Category = Home Automation
Button 1 = Garage ( image when statusfile exist - or - otherimage when statusfile not exist ) + ( call userdefinedbutton1.sh when clicked )
edit
AddCat1 = Home Automation {
CatType = Fhem
AddButton1 = Garage; /path/to/statusfile ; img/off ; img/on ; togglescript
AddButton2 = Light ; /path/to/statusfile2 ; img/off; img/on ; togglescript2
}
...
seems that it must be a patch.
The Status ( on/off - open/close ) is equally important to the Toggle-Function.
The naming for calls, and how it calls is your thing.
Hmm, Tricky.
Thank you. ( and sorry for my ugly english ).
is there a way to implement it like:
AddCat1 = Home Automation {
CatType = Fhem
AddButton1 = Garage; /path/to/statusfile ; img/off.gif ; img/on.gif ; togglescript
AddButton2 = Light ; /path/to/statusfile2 ; img/off.gif; img/on.gif ; togglescript2
}
And build it in "home" with
if /path/to/statusfile: img/on.gif else: img/off.gif ... on click togglescript
CatType opened the way to serious Plugins
* calling simple http-sides
* Remote-controlls
* different button types ( like scrollbars ).
, and the script-actions not your problem. ?
we will see for next rev.
I see something like this so:
We define a new plugin in config.php:
Plugin[0] = "Fhem" {
MenuTitle = "Home Automation",
//case trigger:
//button[x] = trigger;button name; command to call; command parameters; button pic
//case toggle:
//button[x] = toggle;button name; command to call; command parameters; {button pic on,button pic off};togglestatusfile
Button[0] = "'toggle';'Garage';'/usr/src/fhem-4.8/fhem.pl';'127.0.0.1:7072 \"set swz011 off\"';{'img/on.gif','img/off.gif'};'/path/to/statusfile'"
}
And new json functions:
Json:
call: getPluginData
post: name=[pluginname]
Answer:
{ "plugin": "Fhem",
"buttons":
[
{
"name": "Garage",
"type": "toggle",
"img_on": "img/on.gif",
"img_off": "img/off.gif",
"status": "on";
},
{
"name": "Shutdown VDR",
"type": "trigger",
"img": "img/vdr.gif",
}
]
}
call: callPlugin ( when a button is clicked )
post: name=[pluginname]&button=[buttonname]
Answer:
{ "status": "done" }
nice, nice.
Don’t have an account yet? Register yourself now and be a part of our community!