Author Topic: Problem Playing Movies from NAS  (Read 4506 times)

0 Members and 2 Guests are viewing this topic.

omar

  • Jr. Member
  • **
  • Posts: 4
  • Karma: 0
    • View Profile
Problem Playing Movies from NAS
« on: November 06, 2014, 02:58:45 AM »
I just installed VC. I have XBMC Gotham playing my movies from a Synology NAS and a central MySQL DB running on the main home computer.

I installed the MySQL plugin and I ran the GenXML and I can see that the xbmcMovieIDs.xml is now populated. When I say Play Movie The Avengers I get acknowledgment on the XBMC interface that the command was received correctly and displays "1 Play Movie {The Avengers}" at the top of the screen but nothing happens.

the movie plays fine manually. The macro shows XJason.Raw Player.Open "item": {"movieid": {1}} for that command

Any help will be much appreciated.


Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2320
  • Karma: 47
    • View Profile
Re: Problem Playing Movies from NAS
« Reply #1 on: November 06, 2014, 03:06:28 AM »
Hi omar and welcome to VC forum.
Did you follow this tutorial?
https://www.youtube.com/watch?v=O-9QNjEdNhI
***********  get excited and make things  **********

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Problem Playing Movies from NAS
« Reply #2 on: November 06, 2014, 07:50:49 AM »

omar

  • Jr. Member
  • **
  • Posts: 4
  • Karma: 0
    • View Profile
Re: Problem Playing Movies from NAS
« Reply #3 on: November 06, 2014, 02:26:49 PM »
Looking at the video I found that I had the Video DB set to myvideos75 and looking into the MySQL DB I found the highest number was myvideos78. After I modified that value and regenerating the XMLs I was able to play the movies by name.

The Find Movie macro was not working and the macro looks quite a bit more complex. It had this value in the first line

XJson.SmartPL smart\MoviebyName.xsp {2}

If I change the {2} by {1} the macro seems to work most of the time. Is that correct or I am doing something wrong by modifying that value?

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 1999
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Problem Playing Movies from NAS
« Reply #4 on: November 06, 2014, 02:41:33 PM »
You should not modify that value. Actually, it's a good idea for you to learn what payloads are (the notation that {1} and {2} are for) by watching some of the core tutorial videos for VC, especially those on editing commands.

http://voxcommando.com/mediawiki/index.php?title=Video_Tutorials

Now that you have selected the correct database file, you should generate your xml again. Then the command should work correctly for all titles (hopefully). This is because VC will now be able to scan the correct file to get all of the titles in your current collection. If you don't re-generate the xml, it will simply use the information it scanned previously.

If you look in your command tree at the voice command for "Find Movie":

"Find, Search, Show" is the first payload.
The second payload is the actual payload xml file that contains the references to all of your movie media, so that action definitely needs the notation {2}.
« Last Edit: November 06, 2014, 02:45:55 PM by nime5ter »
TIPS: POST VC VERSION #. Explain what you want VC to do. Say what you've tried & what happened, or post a video demo. Attach VC log. Link to instructions followed.  Post your command (xml)

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Problem Playing Movies from NAS
« Reply #5 on: November 06, 2014, 02:48:42 PM »
Earlier you said that you were using MySQL and then you started talking about changing the path to the SQL files.

The settings for the path to SQL files is in the xSQL plugin.  In the xMySQL plugin there is no such setting.  You should be using the xSQL plugin (for normal installs of XBMC) or the XMySQL plugin if you use MySQL databases with XMBC.  You should not be using both.

You should also be using the xJson plugin no matter what.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Problem Playing Movies from NAS
« Reply #6 on: November 06, 2014, 03:15:15 PM »
Actually after re-reading Omar's post and looking at the xMySQL plugin settings, I think I may have misunderstood.

Sorry if I did.

I'm pretty sure the payloads in the default configuration are correct, but I will set up a test configuration using MySQL to make sure everything is still working correctly.

omar

  • Jr. Member
  • **
  • Posts: 4
  • Karma: 0
    • View Profile
Re: Problem Playing Movies from NAS
« Reply #7 on: November 06, 2014, 03:26:57 PM »
Apologies for the confusion. To make the play movies macro work I went to the settings on the xMySQL plugin and in the OutPut (XML Payloads) section I modified the database myvideos75 for myvideos78 saved it and generated the XMLs again. Play Movie uses xbmcMoviesIDs.xml

The Find Movie Macro seems to use a different XML (xbmcMovies.xml) which on my file has these type of lines

Value
dav://user:pass@NAS_IP:port/Movies/2%20Guns.mp4

Pharases
2 Guns

From what little I understand at this point the macro seems to create a playlist 'on the fly' with the name of the movie you provide (attached picture). On that macro, if I replace the {2} by {1} the playlist gets created and finds the movie Ok, but If I leave it as {2} it doesn't seems to work.
« Last Edit: November 06, 2014, 03:50:08 PM by omar »

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Problem Playing Movies from NAS
« Reply #8 on: November 06, 2014, 03:53:20 PM »
I don't see how it can possibly work using payload 1.

I have tested it here and it seems to work fine without editing the macro.

Please use the original macro and send us a log.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Problem Playing Movies from NAS
« Reply #9 on: November 06, 2014, 04:40:43 PM »
The one problem I have been able to find with the "find movie" command is that movies containing an & will not work, because in the xml it expects it to look like &

This will be fixed in the next release.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Problem Playing Movies from NAS
« Reply #10 on: November 06, 2014, 05:14:45 PM »
I have put together a new better way to handle all the movie functions in one command.

With this command you can "Find/Show/Browse", or "Play", or "Resume".

It uses the movie ID so no worries about special characters.

Please delete the entire group named "XBMC Movies" and then replace it by pasting this XML into your tree.

(see http://voxcommando.com/mediawiki/index.php?title=XML_on_the_forum for more info)

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.0.7-->
<commandGroup open="True" name="XBMC Movies" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="806" name="NEW {1} Movie {2}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)Contains(B)</ifType>
      <ifParams>Find,Show,Browse&amp;&amp;{1}</ifParams>
      <then>
        <action>
          <cmdType>XJson.Raw</cmdType>
          <params>
            <param>Playlist.Clear</param>
            <param>"playlistid": 1</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw</cmdType>
          <params>
            <param>Playlist.Add</param>
            <param>"playlistid": 1, "item": {"movieid": {2}}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw</cmdType>
          <params>
            <param>GUI.ActivateWindow</param>
            <param>"window": "videoplaylist"</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>VC.StopMacro</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)Contains(B)</ifType>
      <ifParams>Resume&amp;&amp;{1}</ifParams>
      <then>
        <action>
          <cmdType>XJson.Raw</cmdType>
          <params>
            <param>Player.Open</param>
            <param>"item": { "movieid": {2} } , "options":{ "resume":true }</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else>
        <action>
          <cmdType>XJson.Raw</cmdType>
          <params>
            <param>Player.Open</param>
            <param>"item": { "movieid": {2} }</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </else>
    </if>
    <payloadList>Find, Browse, Show, Resume, Play</payloadList>
    <phrase>film, films, movie, movies, moving picture</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">XbmcPayloads\xbmcMovieIDs.xml</payloadFromXML>
  </command>
  <command id="809" name="Find/Browse Genre {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>GUI.ActivateWindow</param>
        <param>"window": "video", "parameters": [ "videodb://1/1/{1}/" ]</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Find, Browse, Show</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">XbmcPayloads\xbmcVideoGenres.xml</payloadFromXML>
    <phrase>movies, films, videos</phrase>
  </command>
  <command id="1005" name="Find Actor {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>GUI.ActivateWindow</param>
        <param>"window": "video", "parameters": [ "videodb://1/4/{1}" ]</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>TTS.Speak</cmdType>
      <params>
        <param>Showing movies with {PF.1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase optional="true">Find, Search, Show</phrase>
    <phrase>film, films, movie, movies</phrase>
    <phrase>with, starring</phrase>
    <phrase optional="true">actor</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">XbmcPayloads\xbmcMovieActors.xml</payloadFromXML>
  </command>
  <command id="406" name="Download subtitles (Gotham)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>GUI.ActivateWindow</param>
        <param>subtitlesearch</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>download subtitles, subtitle search, find subtitles</phrase>
  </command>
</commandGroup>

After you edit the tree, you will need to save it and close it before the changes will take effect.

omar

  • Jr. Member
  • **
  • Posts: 4
  • Karma: 0
    • View Profile
Re: Problem Playing Movies from NAS
« Reply #11 on: November 06, 2014, 07:12:29 PM »
Thanks James, the XML you created works great.