[RELEASE] Swiss-Army-Knife Addon - Blu-ray and DVD-Video Ripper and Transcoder
#16
Inside the settings 3 directorys has to be set correctly.
What should be unclear about the message "DIRECTORY NOT FOUND OR WRITEABLE"
I hope you did not select a directory with " " .... this would be very bad ...
Reply
#17
Ok release 0.6.11 is out a few days ....

Is it working ?
There are at least 50 poeple using the addon ....
Reply
#18
Is this addon only for linux?
Reply
#19
yes . It runs only on linux
I do not have the resources and time to port the addon to windows and mac.
If someone send the patches I will integrate them.
Cheers hans
Reply
#20
I've got a windows script in the works, I'll have a version of my script in about a week. linuxluemmel, since you are probably very familiar with most of the video programs, do you know of one that will take all of the mt2s files and combine them into one after a blu-ray is ripped?

What do you think that the best method is to combine blu-ray m2ts files automatically and without compression?
Reply
#21
I guess mencoder would do the work ....
http://www.mplayerhq.hu/design7/dload.html
Cheers Hans
Reply
#22
OK I found a realy ugly bug inside this function :


Code:
#########################################################
# Function  : OSCheckLicence                            #
#########################################################
# Parameter : none                                      #
#                                                       #
# Returns   :                                           #
#                                                       #
# 1           makemkv use a valid licence               #
# 0           makemkv use a expired licence             #
#                                                       #
#########################################################

If you did run setup.sh prio to running the script and would need a other ssh command than xbmc@localhost then you have a little problem ....
In this case xbmc will crash completly ...
I will integrate a function to check that the ssh-command settings are correct on startup.
Reply
#23
Could you perhaps add the option to copy dvd to video_ts folder (instead of ISO)?
I don't use ISO format for DVDs. A simple video_ts folder can be played by most players. If I want to watch a movie on my laptop in bed (instead of XBMC in the livingroom), I can use wmp or MPC-HC to play video_ts folder.
Reply
#24
I will try ... will report back about the state on weekend .....
Reply
#25
linuxluemmel Wrote:OK I found a realy ugly bug inside this function :

fixed in svn release r230
Reply
#26
FYI, 9.10 Karmic XBMC r32246 with all addons working perfectly. Now, that being said, I have found some problems with your script. It installs Makemkv 1.56 and we are at 1.58, most everthing else installs correctly. A question appeared and asked did I want to install Makemkv 1.56 and handbrake so I had to say yes since I did not have handbrake, it might be better to do a check first on /usr/bin/makemkv to see if it is installed already. I also have a valid purchased key (That is located in .MAKEMKV/settings.xml), but your program gives me an error, which in turn disables most everything. A couple of XBMC crashes also that I haven't looked into yet and just trying to copy an sd disk fails so far.

EDIT: I enabled the addon, but I did not configure it. After setting up the configuration for SFAK and selecting dvd backup to ISO, it fails with this error: "File swiss-army-knife/media/state could not be openend".
Reply
#27
Here are the logs for ripp a dvd to iso:

XBMC.log
Code:
5167104  NOTICE: [swiss-army-knife]: [OSlog]  file delete : /home/xbmc/.xbmc/userdata/addon_data/script.video.swiss.army.knife/log/ssh-log
17:06:47 T:3078100864 M:1445167104   DEBUG: Activating window ID: 10138
17:06:47 T:3078100864 M:1445167104   DEBUG: Checking if window ID 10138 is locked.
17:06:47 T:3078100864 M:1445167104   DEBUG: ------ Window Init (DialogBusy.xml) ------
17:06:47 T:3078100864 M:1445167104   DEBUG: Alloc resources: 0.01ms (0.00 ms skin load)
17:06:48 T:3078100864 M:1444638720   DEBUG: Activating window ID: 10138
17:06:48 T:3078100864 M:1444638720   DEBUG: Checking if window ID 10138 is locked.
17:06:49 T:3078100864 M:1445146624   DEBUG: ------ Window Deinit (DialogBusy.xml) ------
17:06:54 T:2989972336 M:1445486592  NOTICE: [swiss-army-knife]: [OSlog]  Media detected
17:06:55 T:3078100864 M:1445105664   DEBUG: Activating window ID: 10138
17:06:55 T:3078100864 M:1445105664   DEBUG: Checking if window ID 10138 is locked.
17:06:55 T:3078100864 M:1445105664   DEBUG: ------ Window Init (DialogBusy.xml) ------
17:06:55 T:3078100864 M:1445105664   DEBUG: Alloc resources: 0.01ms (0.00 ms skin load)
17:07:22 T:2989972336 M:1445588992    INFO: -->Python script returned the following error<--
17:07:22 T:2989972336 M:1445588992   ERROR: Error Type: exceptions.NameError
17:07:22 T:2989972336 M:1445588992   ERROR: Error Contents: global name 'verbose' is not defined
17:07:22 T:2989972336 M:1445588992   ERROR: Traceback (most recent call last):
                                              File "/home/xbmc/.xbmc/addons/script.video.swiss.army.knife/default.py", line 880, in ?
                                                menu01 = GUIMain01Class()
                                              File "/home/xbmc/.xbmc/addons/script.video.swiss.army.knife/default.py", line 761, in __init__
                                                tracklist = OSChapterDVD()
                                              File "/home/xbmc/.xbmc/addons/script.video.swiss.army.knife/resources/lib/linux.py", line 977, in OSChapterDVD
                                            NameError: global name 'verbose' is not defined
17:07:22 T:2989972336 M:1445588992    INFO: -->End of Python script error report<--
17:07:22 T:3078100864 M:1445588992   DEBUG: ------ Window Init (DialogKaiToast.xml) ------
17:07:22 T:3078100864 M:1445588992   DEBUG: Alloc resources: 0.01ms (0.01 ms skin load)
17:07:22 T:2989972336 M:1445588992    INFO: Python script stopped
17:07:22 T:2989972336 M:1445588992   DEBUG: Thread 2989972336 terminating
17:07:22 T:3078100864 M:1445588992   DEBUG: python thread 2 destructed
17:07:27 T:3078100864 M:1445597184   DEBUG: ------ Window Deinit (DialogKaiToast.xml) ------
17:07:32 T:3078100864 M:1445605376    INFO: Python, unloading python24.dll because no scripts are running anymore
17:07:32 T:3078100864 M:1445605376   DEBUG: UnloadExtensionLibs, clearing python extension libraries

SSH Log:
dvd0.sh /dev/sr0/
dvd1.sh /dev/sr0/ 1
Reply
#28
I can not reproduce this error
you cat this line

File "/home/xbmc/.xbmc/addons/script.video.swiss.army.knife/resources/lib/linux.py", line 977, in OSChapterDVD
Reply
#29
linuxluemmel Wrote:I can not reproduce this error
you cat this line

File "/home/xbmc/.xbmc/addons/script.video.swiss.army.knife/resources/lib/linux.py", line 977, in OSChapterDVD


Here you go, Also I could not find the file "home/xbmc/.xbmc/addons/script.video.swiss.army.knife/resources/lib/linux.py". I did find it but it was named Linux.py, so I changed the file name to linux.py and still fails with same error. I checked all the folders to make sure the file names started with a lower case and found one more changed it but same problem.

Line 977: if (verbose == 'true'): ### Highlighted in RED below ###

Code:
# Function  : OSChapterDVD                              #
#########################################################
# Parameter : none                                      #
#                                                       #
# Returns   :                                           #
#                                                       #
# tracklist   contains all tracks from the dvd          #
#             If tracklist could not be read the list   #
#             only contains "none"                      #
#                                                       #
#########################################################
def OSChapterDVD():

    global __configLinux__
    global __verbose__

    tracklist = []

    # Execution of shell-script br1.sh inside shell-linux

    if (__verbose__ == 'true'):
        OSlog("dvd-chapter.sh command ready to start")

    OSRun("dvd1.sh " +  __configLinux__[1] + " 1 ",True,False)

    if (__verbose__ == 'true'):
        OSlog("dvd-chapter.sh command executed")

    xbmc.executebuiltin("ActivateWindow(busydialog)")

    # We must wait until the file with the track-information could be read
    # Without the list of track we can not select inside the list .....
    # If someone knows a bettey way to get this list faster ... send me pm .-)

    time.sleep(15)

    WCycles = 10
    Waitexit = True
    while (Waitexit):
           if (os.path.exists(__configLinux__[46])):
               if (__verbose__ == 'true'):
                   OSlog("track-files exist ...")
               Waitexit = False
           else:
               WCycles = WCycles + 3
               time.sleep(3)
           if (WCycles >= 20):
              [b][color=Red]if (verbose == 'true'):   [/color] [/b]  
                 OSlog("Timeout 90 secounds reached for track-file  ...")
               xbmc.executebuiltin("Dialog.Close(busydialog)")
               tracklist.append('none')
               return tracklist

    xbmc.executebuiltin("Dialog.Close(busydialog)")

    if (__verbose__ == 'true'):
        OSlog("track-files exist . Create list for GUI")

    # We should have the file with the state

    if (os.path.exists(__configLinux__[46])):
        trackfile = open(__configLinux__[46],'r')
        for line in trackfile.readlines():
                line = line.strip()
                tracklist.append(line)
        trackfile.close
        return tracklist
    else:
        tracklist.append('none')
        return tracklist

#########################################################
Reply
#30
Checked XBMC.log again (after fixing file names, i.e. Linux.py with linux.py), and although I am getting the same error on screen "File swiss-army-knife/media/state could not be openend", the XBMC error log has a new entry state.sh exceeded a 15 sec timeout.. Here is the new info:

Code:
01:22:33 T:3055900544 M:1433161728   DEBUG: OnKey: 11 pressed, action is Select
01:22:33 T:3055900544 M:1433161728   DEBUG: ------ Window Deinit (DialogSelect.xml) ------
01:22:33 T:2995092336 M:1433161728  NOTICE: [swiss-army-knife]: [OSlog]  file delete : /home/xbmc/.xbmc/userdata/addon_data/script.video.swiss.army.knife/log/ssh-log
01:22:33 T:3055900544 M:1433161728   DEBUG: Activating window ID: 10138
01:22:33 T:3055900544 M:1433161728   DEBUG: Checking if window ID 10138 is locked.
01:22:33 T:3055900544 M:1433161728   DEBUG: ------ Window Init (DialogBusy.xml) ------
01:22:33 T:3055900544 M:1433161728   DEBUG: Alloc resources: 0.01ms (0.00 ms skin load)
01:22:34 T:2995092336 M:1433157632  NOTICE: [swiss-army-knife]: [OSlog]  state.sh command ready to start
01:22:34 T:2995092336 M:1433284608  NOTICE: [swiss-army-knife]: [OSlog]  Command to log inside ssh:echo "dvd0.sh /dev/sr0/" >> /home/xbmc/.xbmc/userdata/addon_data/script.video.swiss.army.knife/log/ssh-log
01:22:34 T:2995092336 M:1433284608  NOTICE: [swiss-army-knife]: [OSlog]  OSRun start
01:22:34 T:2995092336 M:1433411584  NOTICE: [swiss-army-knife]: [OSlog]  Command to run :ssh xbmc@localhost /home/xbmc/.xbmc/addons/script.video.swiss.army.knife/shell-linux/dvd0.sh /dev/sr0/  > /dev/null 2>&1 &
01:22:34 T:2995092336 M:1433538560  NOTICE: [swiss-army-knife]: [OSlog]  OSRun end
01:22:34 T:2995092336 M:1433538560  NOTICE: [swiss-army-knife]: [OSlog]  state.sh command executed
01:22:34 T:3055900544 M:1433030656   DEBUG: Activating window ID: 10138
01:22:34 T:3055900544 M:1433030656   DEBUG: Checking if window ID 10138 is locked.
01:22:34 T:3055900544 M:1433284608   DEBUG: ------ Window Deinit (DialogBusy.xml) ------
01:22:49 T:2995092336 M:1433300992  NOTICE: [swiss-army-knife]: [OSlog]  Timeout 15 secounds reached for track-file  ...
01:22:49 T:2995092336 M:1433300992    INFO: Loading skin file: DialogOK.xml
01:22:49 T:2995092336 M:1433300992   DEBUG: Load DialogOK.xml: 18.28ms
01:22:49 T:3055900544 M:1433300992   DEBUG: ------ Window Init (DialogOK.xml) ------
01:22:49 T:3055900544 M:1433300992   DEBUG: Alloc resources: 0.05ms (0.00 ms skin load)
01:22:50 T:2951244656 M:1433300992   DEBUG: Thread 2951244656 terminating (autodelete)
01:22:50 T:2982148976 M:1433309184   DEBUG: Thread 2982148976 terminating (autodelete)
01:22:50 T:3055900544 M:1433309184   DEBUG: SECTION:UnloadDelayed(DLL: special://xbmcbin/system/ImageLib-i486-linux.so)
01:22:50 T:3055900544 M:1433309184   DEBUG: Unloading: ImageLib-i486-linux.so

EDIT: Continuing to look through the code I found that I can manually execute the commands thru my ssh connection. Executing ./state.sh /dev/sr0 while I am in the 15 second wait state and then sudo ./dvd-chapter.sh /dev/sr0 1 (had to use sudo because of permission errors) takes me to dvd3.sh and more errors. Here is the XBMC error log. So for some reason it can not execute the state.sh /dev/sr0 script and find the DVD drive. although manually I can do it. I also had another error where it was trying to write to a tmp file in Userdata/addons_data/dvd/tmp but the fiename was tmo instead of tmp so I changed it and moved on to the next error. I used the svn command to download code from google per 1st post, maybe I need to remove everything and reload from a fresh download, maybe I should try the zip file. I am at r232 right now.

Code:
02:40:41 T:2997930864 M:1420423168  NOTICE: [swiss-army-knife]: [OSlog]  state.sh command executed
02:40:41 T:3077916544 M:1420042240   DEBUG: Activating window ID: 10138
02:40:41 T:3077916544 M:1420042240   DEBUG: Checking if window ID 10138 is locked.
02:40:41 T:3077916544 M:1420046336   DEBUG: ------ Window Deinit (DialogBusy.xml) ------
02:40:47 T:2997930864 M:1420165120  NOTICE: [swiss-army-knife]: [OSlog]  state-files exist ...
02:40:47 T:2997930864 M:1420165120  NOTICE: [swiss-army-knife]: [OSlog]  Media detected
02:40:47 T:2997930864 M:1420165120  NOTICE: [swiss-army-knife]: [OSlog]  dvd-chapter.sh command ready to start
02:40:47 T:2997930864 M:1420419072  NOTICE: [swiss-army-knife]: [OSlog]  Command to log inside ssh:echo "dvd1.sh /dev/sr0/ 1 " >> /home/xbmc/.xbmc/userdata/addon_data/script.video.swiss.army.knife/log/ssh-log
02:40:47 T:2997930864 M:1420419072  NOTICE: [swiss-army-knife]: [OSlog]  OSRun start
02:40:47 T:2997930864 M:1420546048  NOTICE: [swiss-army-knife]: [OSlog]  Command to run :ssh xbmc@localhost /home/xbmc/.xbmc/addons/script.video.swiss.army.knife/shell-linux/dvd1.sh /dev/sr0/ 1   > /dev/null 2>&1 &
02:40:47 T:2997930864 M:1420292096  NOTICE: [swiss-army-knife]: [OSlog]  OSRun end
02:40:47 T:2997930864 M:1420292096  NOTICE: [swiss-army-knife]: [OSlog]  dvd-chapter.sh command executed
02:40:47 T:3077916544 M:1419784192   DEBUG: Activating window ID: 10138
02:40:47 T:3077916544 M:1419784192   DEBUG: Checking if window ID 10138 is locked.
02:40:47 T:3077916544 M:1419784192   DEBUG: ------ Window Init (DialogBusy.xml) ------
02:40:47 T:3077916544 M:1419784192   DEBUG: Alloc resources: 0.02ms (0.00 ms skin load)
02:41:02 T:2997930864 M:1420726272  NOTICE: [swiss-army-knife]: [OSlog]  track-files exist ...
02:41:02 T:2997930864 M:1420726272  NOTICE: [swiss-army-knife]: [OSlog]  track-files exist . Create list for GUI
02:41:02 T:3077916544 M:1420726272   DEBUG: Activating window ID: 10138
02:41:02 T:3077916544 M:1420726272   DEBUG: Checking if window ID 10138 is locked.
02:41:02 T:3077916544 M:1420730368   DEBUG: ------ Window Deinit (DialogBusy.xml) ------
02:41:03 T:2997930864 M:1420730368  NOTICE: [swiss-army-knife]: [OSlog]  dvd3.sh command ready to start
02:41:03 T:2997930864 M:1420730368    INFO: -->Python script returned the following error<--
02:41:03 T:2997930864 M:1420730368   ERROR: Error Type: exceptions.IndexError
02:41:03 T:2997930864 M:1420730368   ERROR: Error Contents: list index out of range
02:41:03 T:2997930864 M:1420730368   ERROR: Traceback (most recent call last):
                                              File "/home/xbmc/.xbmc/addons/script.video.swiss.army.knife/default.py", line 880, in ?
                                                menu01 = GUIMain01Class()
                                              File "/home/xbmc/.xbmc/addons/script.video.swiss.army.knife/default.py", line 765, in __init__
                                                execstate = OSDVDcopyToIso()
                                              File "/home/xbmc/.xbmc/addons/script.video.swiss.army.knife/resources/lib/linux.py", line 1223, in OSDVDcopyToIso
                                                dvd_command = dvd_command + " " + __exec_dvd__[0] + " " + __exec_dvd__[1] + " " + __exec_dvd__[2]
                                            IndexError: list index out of range
02:41:03 T:2997930864 M:1420730368    INFO: -->End of Python script error report<--
02:41:03 T:3077916544 M:1420730368   DEBUG: Activating window ID: 10138
02:41:03 T:3077916544 M:1420730368   DEBUG: Checking if window ID 10138 is locked.
02:41:03 T:3077916544 M:1420730368   DEBUG: ------ Window Init (DialogBusy.xml) ------
02:41:03 T:3077916544 M:1420730368   DEBUG: Alloc resources: 0.01ms (0.00 ms skin load)
02:41:03 T:3077916544 M:1420730368   DEBUG: ------ Window Init (DialogKaiToast.xml) ------
02:41:03 T:3077916544 M:1420730368   DEBUG: Alloc resources: 0.01ms (0.00 ms skin load)
02:41:03 T:2997930864 M:1420730368    INFO: Python script stopped
02:41:03 T:2997930864 M:1420730368   DEBUG: Thread 2997930864 terminating
02:41:03 T:3077916544 M:1420730368   DEBUG: python thread 4 destructed
02:41:08 T:3077916544 M:1420754944   DEBUG: ------ Window Deinit (DialogKaiToast.xml) ------
Reply

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Swiss-Army-Knife Addon - Blu-ray and DVD-Video Ripper and Transcoder1