IpimpProfiler for Streaming to Symbian, Android or other Clients (1 Viewer)

huha

Extension Developer
January 3, 2008
890
556
Home Country
Germany Germany
Version 0.0.0.3beta released on 01.Jan.2011

Ipimp Profiler is an addon to iPimp 5.1.0.x to enable flexible user profiles for streaming to clients and enable user defined commands.
Please note that this is a first alpha version and not stable yet.

Key features:

  • Streaming and Encoding of TV, Radio and Video for Symbian (tested with Nokia 5800)
  • Streaming and Encoding of TV, Radio and Video for Android (2.2) without flash support (tested with 1&1 Smartpad)
  • If user name matches profile it will be activated after login
  • Different profile dependent transcoding name extension e.g. nokia.mp4
  • Starting MediaPortal Client on the Tv server computer from iPimP
  • Easy creation of new user profiles for new devices (smartphone, pad or computer) by enabling new streaming methods (like VLC)
  • Easy creation of user defined commands which can be started from iPiMP
  • WebCam Streaming with VLC
  • PlayList Streaming with VLC
  • DVD Streaming with VLC
  • Different configurations for native iPiMP streaming


First of all a big thanks to Cheezey for his great iPiMP plugin. This has become one of my favourite addons for MP.

As I do have a Nokia 5800 and a 1&1 smartpad without flash i could not use the streaming of iPiMP. This braught me to the idea of creating IpimpProfiler and I got it to work for my devices by using VLC for streaming over my local network.

So my vision would be that expert users can create profiles for new devices which may require different streaming methods depending on the client capabilities.
The concept is very simple as you can see from the attached pictures and example profiles. To create a new profile for a new device just copy an existing profile, rename it and apply your changes. All *.ipimp files will be listed under the profile page.

In addition to the profiles user can create their own commands, where the user has to specify the .exe file and the arguments. I have attached an example for starting a media portal client via iPimP.

The attached files are a first proof of concept, which i would like to continue to make it more robust and userfriendly.
I have done code changes in iPIMP, which i have attached in the IPIMP source files and marked my changes. The iPimpprofiler source code is attached as well.

Future plans:
- different naming extensions for mp4 encoding in the transcoding tv server plugin (currently only one file transcoding is supporting the name extension)
- detailed manual
- add language support
- improve video and audio quality - i hope to get some help from experienced VLC users on improving the current profiles



Installation and Usage:

1) Unzip IpimpProfilerVx.x.x.x.Release.zip and run Install.exe (Do not run out of the zipped folder, but unzip first)

2) check Autostart iPimpProfiler for current user (for different users you need to run the install.exe for each user) and click install

3) after the installation check in Ipimpprofiler Setup all global variables and ensure that they match to your system

4) now logon to ipimp, select admin -> profiles and select your profile. Then start streaming tv. VLC should start as soon as you hit streaming and the countdown begins.
With play you can watch TV/Radio/Recorded on your mobile. Do not forget to stop the stream. VLC will then close.

Sometimes the stream cannot be started on the first trial or only audio is playing.
Then it needs to be started multiple times. It can be related to how many "WLAN neighbors" you have and may require to change to a new "quiet" channel for your WLAN.

I tested with a Nokia 5800 (using opera mobile 10.1beta) and a 1&1 smartpad running android 2.2 (using the default internet browser) with m-player.
I have not done internet streaming yet, only local network. Please refer to the threads of jeng on page2.

If you report issues, always post your IpimpProfiler.log file


If a user selects the "iPiMP native streaming" profile, the original iPiMP streaming and encoding method will be used (default setting) without any interaction of IpimpProfiler.


How it works

IpimpProfiler is a simple filewatcher, which handles the communication to iPiMP via files. Triggered by some commandfiles or profiles it will start video or audio streaming or the execution of commands. As Ipimpprofiler is started as a user process it can handle Windows GUIs and, therefore, e.g. start MediaPortal if installed on the same computer as the Tvserver.

The format of a command file is very simple and consists only of specifying an EXE, ARGS and the Working directory:
The release section is currently just for documentation ( I plan to include it later for displaying additional information)
IpimpProfiler supports global variables which are defined in the setting file Ipimpprofiler.Settings.xml
A command file is a simple .xml file like below:


<?xml version="1.0" encoding="UTF-8" ?>
<!-- IpimpProfiler Command to start a MediaPortal Client -->


<ROOT>

<PROFILES>

<COMMAND>

<EXEC>"%PROGRAMFILES%\Team MediaPortal\MediaPortal\MediaPortal.exe"</EXEC>
<ARGS></ARGS>
<WORKDIR>"%PROGRAMFILES%\Team MediaPortal\MediaPortal"</WORKDIR>

</COMMAND>

</PROFILES>

<RELEASE>

<Client>MediaPortalClient</Client>
<FUNCTION>The command starts the Mediaportal Client on the remote computer</FUNCTION>
<Version>0.0.0.1</Version>
<Author>huha</Author>
<TESTED>tested on Win7 64 bit with MP1.1.1</TESTED>
<RELEASEDATUM>2010_11_12</RELEASEDATUM>
<MINIPIMPVERSION>5.1.0.0</MINIPIMPVERSION>
<MINIPIMPPROFILERVERSION>0.0.0.1</MINIPIMPPROFILERVERSION>

</RELEASE>

</ROOT>


The same structure is being used for profiles only that different profiles are defined for VIDEOSTREAM, AUDIOSTREAM and VIDEOTRANSCODE
All three sections must be defined. The user can specify a java script, which will be executed when playing a stream on the client.


Folder Structure:
%ALLUSERSPROFILE%\IpimpProfiler\Profiles all user profiles <name>.ipimp must be there
%ALLUSERSPROFILE%\IpimpProfiler\Commandfiles all user commands <name>.ipimp must be there
%ALLUSERSPROFILE%\\IpimpProfiler\Clientfiles all user java files <name>.js must be there with a function function ProfilerClient()

Version History:
V0.0.0.3 released on 08.jan.2011
- bugfix on user rights with active java file
- support for creating command files with any VLC input streamings like Webcam, playlist or DVD. Any other input format for VLC can be used for audio or video streaming. Please see the new command file examples in C:\ProgramData\IpimpProfiler\Commandfiles
- profiler can be used to create different configurations for native iPiMP streaming. Please see the profile C:\ProgramData\IpimpProfiler\Profiles\iPiMP newconfig.ipimp as an example. The entries for <TRANSCODER_LIVETV>, <TRANSCODER_RECORDING>, <TRANSCODER_TVSERIES> and <TRANSCODER_RADIO> must be used out of the file C:\Program Files\iPiMP\Aspx\config.xml and the users can modify then the parameters. Please note that instead of &quot; you must use #quot; in the profile.
-profiler can be used to create different encoder settings for native iPiMP encoding. The profile commands <TRANSCODER_TYPE>, <TRANSCODER_PRESET> and <TRANSCODER_CUSTOM> will change the parametrs in the iPimp tv server transcoding plugin "iPiMP Transcode To MP4". You can choose <TRANSCODER_TYPE> either ffmpeg or handbrake, <TRANSCODER_PRESET> for select preset and the <TRANSCODER_CUSTOM> below the preset. If you leave the latter empty, the defined preset will be used for encoding. Please see the profile C:\ProgramData\IpimpProfiler\Profiles\iPiMP newconfig.ipimp as an example.
V0.0.0.2 released on 10.Dec2010
- automated installer added
- profiler setup added for user friendly checking and adding of global variables
- automatically activate profile if identical to username
- add profile/command information at execution
- mp name extension for mp4 encoding if defined by <MP4>nokia.mp4</MP4> in the profile to enable different file names for different transcoding settings. This is not working yet for the TV server transcoding plugin (will come next)
 

Attachments

  • Ipimpprofiler1.JPG
    Ipimpprofiler1.JPG
    40.7 KB
  • Ipimpprofiler2.JPG
    Ipimpprofiler2.JPG
    32 KB
  • Ipimpprofiler3.JPG
    Ipimpprofiler3.JPG
    56.7 KB
  • IpimpProfiler4.JPG
    IpimpProfiler4.JPG
    68.9 KB
  • IpimpProfiler5.JPG
    IpimpProfiler5.JPG
    62.1 KB
  • IpimpProfiler6.JPG
    IpimpProfiler6.JPG
    50.6 KB
  • IpimpProfilerV0.0.0.3.Release.zip
    199.4 KB
  • IpimpProfilerV0.0.0.3.Source.zip
    890.5 KB

DieBagger

Retired Team Member
  • Premium Supporter
  • September 11, 2007
    2,516
    1,276
    39
    Austria
    Home Country
    Austria Austria
    Re: IpimpProfiler for Streaming to New Clients

    Wow man, awesome!!!

    What profile/command/format did you use to stream video to android?

    :D
     

    cubii

    Portal Pro
    November 1, 2006
    627
    32
    48
    AW: IpimpProfiler for Streaming to New Clients

    YEAHH!!

    Will try it asap. My workaround with piitv and android 1.6 was not working very well (tv server was busy after stopping stream from android)


    Thanks!!


    :D:D


    Tja.. Doesn't work here, because the stream comes from the wrong ip address: rtsp://192.168.2.20:5554/mystream.sdp but my htpc has 192.168.178.xx

    Is this my fault or is this ip somewhere hardcoded or so?

    I have virtual network adapters, but thes have other ip addresses and are deactivated...
    the log says also nothing about this ip..

    Will try it tomorrow again, now i am tired... n8
     

    cheezey

    Community Plugin Dev
    August 26, 2004
    1,560
    312
    55
    West Yorks, UK
    Home Country
    United Kingdom United Kingdom
    Re: IpimpProfiler for Streaming to New Clients

    Awesome!

    I'll have a closer look into your solution this evening.

    :D:D
     

    huha

    Extension Developer
    January 3, 2008
    890
    556
    Home Country
    Germany Germany
    • Thread starter
    • Moderator
    • #5
    Diebagger,
    have a look at %PROGRAMFILES%\iPiMP\Utilities\IpimpProfiler\Profiles\1und1Smartpad.ipimp
    It should be pretty self explaining. I am using VLC RTSP streaming. You can specify separate parameters for Videostream, Audiostream or Videoencode.
    If you want to change parameters just create a copy of this file with another name.ipmp and select it under profiles & commands.

    cubii, you have to open your setting file %PROGRAMFILES%\iPiMP\Utilities\IpimpProfiler\IpimpProfilerSettings.xml and update your personal settings. There is a global varaiable IP address defiend which you have to overwrite with your setting. Your router must be set up to use always the same IP address for your server computer. I have not tried, but it could also work if you use your computername for the IP address.

    cheezey, I am very glad you like it. I have documented every line of code change in iPimp Source changed.zip.
     

    cubii

    Portal Pro
    November 1, 2006
    627
    32
    48
    AW: IpimpProfiler for Streaming to Symbian, Android or other Clients

    Hi huha,

    i cant get it to work:

    Ipimp flash works (ipimp standard profile).

    Android and nokia profiles give me the wrong ip address for the stream.

    ipimpprofilesettings.xml has correct ip.

    But i found that file "ProfilerClient.js" in folder aspx/iphone/script has the ip 192.168.2.20 .

    Could that be the problem?

    If i click on play via Browser, it tries to open a stream with this address, this cannot work...


    I also have deinstalled ipiimp, and reinstalled ipiimp and ipiimpprifiler, one time i changed the file ProfilerClient.js to my ip address but it wont work.

    Doof.

    Is it working on other peoples pc`s/mobiles?
     

    cubii

    Portal Pro
    November 1, 2006
    627
    32
    48
    AW: IpimpProfiler for Streaming to Symbian, Android or other Clients

    i dont know if this has something todo with my router, i think vlc gets the wrong ip from ipiimpprofiler to stream to....
    but i am only guessing
     

    huha

    Extension Developer
    January 3, 2008
    890
    556
    Home Country
    Germany Germany
    • Thread starter
    • Moderator
    • #9
    cubii,
    i found in your logfile
    06:35:14.7200: CLIENT_JAVA_FILE=\iPiMP\Utilities\IpimpProfiler\Clientfiles\rtsp_stream.js
    06:35:14.7275: Error in reading input file \iPiMP\Utilities\IpimpProfiler\Clientfiles\rtsp_stream.js
    Exception message is
    Ein Teil des Pfades "C:\iPiMP\Utilities\IpimpProfiler\Clientfiles\rtsp_stream.js" konnte nicht gefunden werden.
    06:35:14.7275: Aborting processing because of error in substituting global variables in client java file \iPiMP\Utilities\IpimpProfiler\Clientfiles\rtsp_stream.js


    There is a path problem in your setup. can you post or send me a private message with your setting file %PROGRAMFILES%\iPiMP\Utilities\IpimpProfiler\IpimpProfilerSettings.xml?

    Update:
    i suspect your setting file does not have a correct entry under global variables like
    <PROGRAMFILES>C:\Program Files</PROGRAMFILES>

    cubii and all,
    looks like i have a bug for 32bit Windows systems.
    If you see in your setting file <PROGRAMFILES/> you must replace it manually by <PROGRAMFILES>C:\Program Files</PROGRAMFILES> (or whereever you have iPimp installed)
     

    cubii

    Portal Pro
    November 1, 2006
    627
    32
    48
    AW: IpimpProfiler for Streaming to Symbian, Android or other Clients

    thanks huha, that was the problem, it works now on the nokia 5800 (nice quality!).

    But i t wont work on my eken m001 (android 1.6,) i think because of wrong video/audio codec combination.

    Will play with it, and if it works i will post here my profile file.

    Thanks for this nice addon!!
    About your todolist: - if there exists a profile which has an identical name to the user name activate it automatically after login

    this would be a really helpful function!

    Have a nice weekend
     

    Users who are viewing this thread

    Top Bottom