Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

docu

  • Loading branch information...
commit a5bdf31f4aa584946d784eaa358f7b7fa2bc0cb2 1 parent 1916e01
Roger Pack authored
40 README
View
@@ -13,19 +13,21 @@ It will pop up some windows where you choose what to do.
Note: please install from the zip files at https://sourceforge.net/projects/sensible-cinema/files/
and not from github's "download" button. See the "install" section, below, for finer grained details.
-Sensible cinema basically allows you to create an edited video version of the DVD, onto your hard drive, and you can watch it there.
+Sensible cinema basically allows you to create an edited video version of the DVD, onto your hard drive,
+and you can watch it there. It also has some realtime playback support via the use of EDL playback in some
+popular video players.
How? Sensible cinema basically takes the original DVD, slices out the bad parts, then combines it back
into a new file and gives you the result.
-It is basically a linear editor [1] that applies Edit Decision Lists [2] to videos. It wraps
+It is essentially a linear editor [1] that applies Edit Decision Lists [2] to videos. It wraps
a few freely available open source programs [3] to accomplish the editing for you.
-It also has a few "realtime viewing" options available, again based on open source software [3].
+Note that the process can take several hours, so budget some time for it.
+It also has a few "realtime viewing" options available, again based on some freely available
+open source software [3].
-Note that the whole process can take several hours, so budget some time for it.
-
-Also note that just because an edited video lacks profanity...does not immediately make it an inspiring experience.
-I'd suggest carefully evaluating your real values, and going with those.
-Sensible cinema does not a clean movie make of a dirty one. Don't watch it if it's not wholesome! Be nice to yourself!
+On a more moral note, just because an edited video lacks profanity/sex scenes...does not immediately make it an inspiring experience.
+I'd suggest carefully evaluating your real values/motives, and going with those.
+Sensible cinema does not a clean movie make of a dirty one. Don't watch it if it's not uplifting! Be nice to yourself!
dove.org and common sense media are good references for discovering the "uplifting" level of movies [4].
kids-in-mind.com is also a good reference for profanity levels, though sometimes it misses profanities,
@@ -180,7 +182,7 @@ realtime tracking, so I also included this ability.
The playlist option is disabled in later releases, as it was deemed too user-non-friendly, and because VLC timing
is "different" than standard DVD players, so I decided to just use standardized timing, though it worked fine
for VLC playbacks.
-I replaced it with support for mplayer's EDL format
+I replaced it with support for mplayer's EDL format, which works better, and has consistent timing, though is still a bit buggy.
You can see a full list of other features that have been published and demonstrated
in the accompanying file change_log_with_feature_list.txt. Each feature mentioned works
@@ -247,23 +249,15 @@ See first also the file "is_it_legal_to_copy_dvds.txt" for more information on l
== Troubleshooting ==
-If you run into some snag, it possibly could have failed in "grabbing" the DVD, and only got part of it.
-Try cleaning your DVD and starting over (delete all files, start again).
+If you run into some snag, try cleaning your DVD and starting over (delete all files, start again).
Baking soda toothpaste might help with cleaning it.
If it still errs, report it, along with a screen snapshot and steps of
how to reproduce the problem, preferably. See the feedback section.
It can fail also because a deletion is past end of DVD, or
-Also note that if your DVD has scratches that cause it to skip, the time signatures will be off after that point,
-so clean your discs and try again!
-"DVDNAV stream read error!"
- this typically means a dirty or scratched DVD.
-
Also make sure you aren't out of disk space.
-Try playback in VLC Media Player.
-
-Also you could try another computer (desktop computers' DVD drives seem to work better at times than laptops')
+Try playback in "VLC Media Player"
You try to play back a sensible cinema-ized video file and it plays back without
audio or video (example: windows media player)?
@@ -272,17 +266,21 @@ You try to play back a sensible cinema-ized video file and it plays back without
to handle this type of audio. Not to fear, just download the "ffdshow tryouts" (google for it)
and, when it gives you the option, be sure to check "mpeg2 video" and then
it should "just work." You could also optionally just play the file in VLC Media Player or smplayer
- (there's a button for that). Installing "AC3Filter" may help if you have no audio.
+ (there's a button for that). Installing "AC3Filter" may help if you can hear no audio.
+ Really VLC Media Player is your best bet though.
If the end result picture is too grainy/pixelated or if the overall process is too slow, let me know and I'll work on
making it better. No really, I have some ideas, but want to see if there's need first for improvement in those areas.
+Finally, report back! If there are problems that arise, I want to hear about them so we can help you through it.
+
== Thanks ==
Thanks to Jarmo for the win32-screenshot gem, the mini_magick gem authors, jruby guys, etc.
The combination of these tools made programming this actually something of a pleasure,
and a breeze cross platform.
-Sensible Cinema leverages code from lots of other projects (see LICENSE.TXT)--many thanks to the authors and maintainers of said libraries, and anybody else I forgot to mention.
+Sensible Cinema leverages code from lots of other projects (see LICENSE.TXT)--many thanks to
+the authors and maintainers of said libraries, and anybody else I forgot to mention.
== Feedback/Development ==
17 TODO
View
@@ -30,7 +30,6 @@
just in case youtube takes over the world
== yes do ordered ==
- EDL for that fella...
transfer from little stickie at....
try buy delete lists from all x,y,z [?] maybe ask for them for free first? ()
unit tests
@@ -64,7 +63,7 @@
"you could edit your file "raw" file "with avidemux, except video will be slightly off, but audio will be on"
"VLC [or any GUI] is always slightly off."
can I avoid requiring use of tsmuxer first?
- check with blu-ray...does it match timing-wise? sub-title wise?
+ check with blu-ray...do they match timing-wise? sub-title wise?
donate tsmuxer, makemkv, http://ffmpeg.zeranoe.com/builds, mulder [?] smplayer
auto tsmuxer/mediainfo [yikes]?
MUXOPT --no-pcr-on-video-pid --new-audio-pes --vbr --vbv-len=500 V_MPEG-2, "G:\Video\c\title00.mkv", fps=23.976, ar=As source, track=1, lang=eng A_AC3, "G:\Video\c\title00.mkv", track=2, lang=eng
@@ -99,10 +98,9 @@
can come out of full screen more easily :P
note pay for XP http://windows.microsoft.com/en-US/windows/downloads/windows-media-player/plug-ins search for the cheapest
note to them windows vista/7: use ac3filter [?]
- if it doesn't parse something it loops *forever* "error pooping" "error pooping" [?]
donate menumeter $
- tool tips for all buttons...tweak naming, too :P do something!
- fix/create the "play previously credited edited file for current DVD" button
+ tool tips for all buttons...tweak naming, too :P
+ fix/create the "play previously created edited file for current DVD" button
vendorize smplayer * 2
test if latest smplayer can work with edl and seek [?]
be able to use smplayer, never just mplayer [yikes]
@@ -111,8 +109,6 @@
ask for more beta testers for use, ask for more beta testers for creation, too
beta release: rinse and repeat with various ppl
youtube videos -> new account name
- vendorize a copy of ffmpeg, then they don't have to install imagemagick...also then we'll have ffprobe
- and sanity
note "pay us/somebody to do it for you on the google group"?
note "this is the full list--your help is wanted/needed"
create a semi-accurate phantom edit EDL
@@ -130,14 +126,13 @@
ppc?
app store mplayer perhaps? maybe tell the players to start supportin' dvdnav?
bundle a copy of smplayer locally? huh?
- delete unedited.fulli file automatically
+ typically delete unedited.fulli file automatically
except if it's a specific scene run test...
- investigate: can I use zoomplayer max?
the final "edited.avi" really "could/should" be playable in WMP...
- "profanity" => "language"
it should clear old smplayer options on startup always, just in case, somehow
use smplayer with my mplayer always...unless I'm moving away from that...
@makemkv: show us the title numbers, and number them *by those*
+ generic EDL run through should be through smplayer...do I need the other way around, even?
== other lists ==
@@ -166,9 +161,11 @@
note to them [in how_to_create]: can do the two types of preview at same time...concurrently...to save time...
can I make playback more smooth by upping mplayer cache? does smplayer pass it a parameter?
lua VLC EDL plugin? LOL yeah right.
+ investigate: can I use zoomplayer max?
== DVD/DVD-realtime backlog (totally unordered, some very low prio, basically all never do) ==
+ if it doesn't parse a file you choose it annoyingly loops *forever* "error pooping" "error pooping" [?]
"real" dvdid for blu-ray, can work with them (once I figure out timing info...)
accept the "user inputable" profanities, based on the DVD (like "thor" or what not...)
can I train the ps3ms to play a real DVD, with EDL ?
57 bin/sensible-cinema
View
@@ -149,13 +149,13 @@ module SensibleSwing
do_copy_dvd_to_hard_drive false
}
- @create_new_edl_for_current_dvd = new_jbutton("Create new Delete List for a DVD", true,
+ @create_new_edl_for_current_dvd = new_jbutton("Create new Delete List for a new DVD", true,
"If your DVD doesn't have an EDL created for it, this will be your first step--create a new EDL file for it.")
@create_new_edl_for_current_dvd.on_clicked do
create_brand_new_edl
end
- @open_list = new_jbutton("Open/Edit a Delete List", true, "If your DVD has a previously existing EDL for it, you can open it to edit it with this button.")
+ @open_list = new_jbutton("Open/Edit a previously existing Delete List", true, "If your DVD has a previously existing EDL for it, you can open it to edit it with this button.")
@open_list.on_clicked {
dialog = FileDialog.new(self, "Pick file to edit")
dialog.set_directory EDL_DIR
@@ -163,11 +163,11 @@ module SensibleSwing
open_file_to_edit_it filename if filename
}
- @play_smplayer = new_jbutton( "Watch DVD unedited (realtime smplayer)", true)
+ @play_smplayer = new_jbutton( "Watch full DVD unedited (realtime smplayer)", true)
@play_smplayer.tool_tip = <<-EOL
This will play the DVD unedited within smplayer.
- NB it will default to track 1, so updated your EDL file that matches this DVD with the proper track if this doesn't work for you
- i.e. if it just plays a single preview track or what not, and not the main title, you need to change this value.
+ NB it will default to title 1, so updated your EDL file that matches this DVD with the proper title if this doesn't work for you
+ i.e. if it just plays a single preview title or what not, and not the main title, you need to change this value.
This is useful if you want to just kind of watch the movie to enjoy it, and look for scenes to cut out.
You can use the built-in OSD (on-screen-display) to see what time frame the questionable scenes are at
(type "o" to toggle it). However, just realize that the OSD is in 30 fps, and our time stamps are all in 29.97
@@ -177,7 +177,7 @@ module SensibleSwing
play_dvd_smplayer_unedited
}
- @play_mplayer_raw = new_jbutton( "Watch DVD unedited (realtime mplayer)", true)
+ @play_mplayer_raw = new_jbutton( "Watch full DVD unedited (realtime mplayer)", true)
@play_mplayer_raw.tool_tip = <<-EOL
This is also useful for comparing subtitle files to see
if they have accurate timings.
@@ -209,7 +209,7 @@ module SensibleSwing
do_copy_dvd_to_hard_drive true, false, true
}
- @rerun_preview = new_jbutton( "Re-run most recently watched file preview time frame", true )
+ @rerun_preview = new_jbutton( "Re-run most recently watched preview time frame", true )
@rerun_preview.tool_tip = "This will re-run the preview that you most recently performed. Great for checking to see if you last edits were successful or not."
@rerun_preview.on_clicked {
repeat_last_copy_dvd_to_hard_drive
@@ -298,6 +298,7 @@ module SensibleSwing
@exit.on_clicked {
Thread.new { self.close } # don't waste the time to close it :P
kill_processes
+ puts 'Thank you for using Sensible Cinema.'
java.lang.System.exit 0
}
@@ -687,7 +688,7 @@ module SensibleSwing
@_get_import_from_filename ||=
begin
file_from_chooser = new_filechooser Storage['get_import_from_filename_dir']
- file_from_chooser.set_title "Please choose the file that is your ripped version of #{dvd_title} title ##{dvd_title_track} (.mpg or .ts--see README)"
+ file_from_chooser.set_title "Please choose the file that is your ripped version of #{dvd_title} title ##{dvd_title_track} (.mpg or .ts--see how_to_use.txt)"
outgoing = file_from_chooser.go
Storage['get_import_from_filename_dir'] = File.dirname(outgoing)
outgoing
@@ -727,8 +728,14 @@ module SensibleSwing
# LODO allow for spaces in the save_to filename
if should_prompt_for_start_and_end_times
# only show this message once :)
- @show_block ||= show_blocking_message_dialog("Ok, let's preview just a portion of it. \nNote that you'll want to preview a section that wholly includes a deleted section in it\n For example, if it mutes from second 1 to second 10, you'll want to play from 00:00 to 00:12 or what not.\nAlso note that the first time you preview a section of a video, it will take a long time (like an hour) as it sets up the video for previewing.\nSubsequent previews will be faster, though, as long as you use the same filename.\n
- Also note that if you change your delete list, you'll need to close, and regenerate the video to see it with your new settings.", "Preview")
+ @show_block ||= show_blocking_message_dialog(<<-EOL, "Preview")
+ Ok, let's preview just a portion of it.
+ Note that you'll want to preview a section that wholly includes a deleted section in it.
+ For example, if it mutes from second 1 to second 10, you'll want to play from 00:00 to 00:12 or what not.
+ Also note that the first time you preview a section of a video, it will take a long time (like an hour) as it sets up the entire video for processing.
+ Subsequent previews will be faster, though, as long as you use the same filename, as it won't have to re-set it up for processing.
+ Also note that if you change your delete list, you'll need to close, and restart the video to be able to see it with your new settings.
+ EOL
old_start = Storage['start_time']
start_time = get_user_input("At what point in the video would you like to start your preview? (like 01:00 for starting at 1 minute)", Storage['start_time'])
default_end = Storage['end_time']
@@ -752,7 +759,7 @@ module SensibleSwing
save_to_edited = get_save_to_filename dvd_friendly_name
fulli = MencoderWrapper.calculate_fulli_filename save_to_edited
if exit_early_if_fulli_exists
- if File.exist? fulli + ".done"
+ if fulli_dot_done_file_exists
return [true, fulli]
end
# make it create a dummy response file for us :)
@@ -770,6 +777,11 @@ module SensibleSwing
DriveInfo.get_drive_with_most_space_with_slash
end
+ def fulli_dot_done_file_exists? save_to_edited
+ fulli = MencoderWrapper.calculate_fulli_filename save_to_edited
+ File.exist?(fulli + ".done") # stinky!
+ end
+
# to make it stubbable :)
def get_mencoder_commands descriptors, file_from, save_to, start_time, end_time, dvd_title_track, require_deletion_entry
delete_partials = true unless start_time # in case anybody wants to look really really close [?]
@@ -790,15 +802,23 @@ module SensibleSwing
temp_dir = Dir.tmpdir
temp_file = temp_dir + '/vlc.temp.bat'
File.write(temp_file, commands)
- popup = show_non_blocking_message_dialog(<<-EOL, "OK")
+ popup_message = <<-EOL
Applying #{File.basename edit_list_path}
to #{file_from} (#{dvd_title}).
Copying to #{save_to}.
- This could take quite awhile, and will prompt you and chime a noise when it is done.
- You can close this window and continue working while it runs in the background.
- NB that the created file will be playable only with VLC (possibly with smplayer, possibly with
- Windows Media Player if you install ffdshow first with mpeg2 video checkbox checked).
EOL
+ if !fulli_dot_done_file_exists save_to
+ popup_message += "This could take quite awhile (several hours), and will prompt you with a chime noise when it is done.\n
+ You can close this window and minimize sensible cinema and continue using your computer while it runs in the background."
+ end
+
+ if !start_time
+ # assume a full run..
+ popup_message += "\nNB that the created file will be playable only with VLC (possibly also with smplayer), but probably not with windows media player."
+ end
+
+
+ popup = show_non_blocking_message_dialog(popup_message, "OK")
# allow our popups to still be serviced while it is running
@background_thread = Thread.new {
@@ -836,7 +856,10 @@ module SensibleSwing
system_non_blocking "smplayer_portable #{saved_to}"
else
show_file = "explorer /e,/select,\"#{File.expand_path(saved_to).to_filename}\""
- system_blocking show_file # returns immediately
+ begin
+ system_blocking show_file # returns immediately tho...
+ rescue => why_does_this_happen_ignore_this_exception_it_actually_succeeded
+ end
PlayAudio.play(File.expand_path(File.dirname(__FILE__)) + "/../vendor/music.wav")
show_blocking_message_dialog "Done--you may now watch file\n #{saved_to}\n in VLC player (or possibly smplayer)"
end
24 is_it_legal_to_copy_dvds.txt
View
@@ -15,33 +15,33 @@ and relies on you to use something else for that, on your own.
It is controversial to use open source software to play/rip commercial DVD's.
There are a few conflicting views.
-Sensible-cinema doesn't actually do any decryption or decoding, nor has any knowledge of it.
-It doesn't even have knowledge
-as to whether the DVD was originally encrypted or not, we chose a "you have to do the ripping through
-some other means" philosophy.
-You can ask the authors of the ripping programs if it is legal. Apparently
+Sensible-cinema doesn't actually do any decryption or decoding, nor has any knowledge of how it occurred
+originally.
+It doesn't even have knowledge as to whether the DVD was originally encrypted or not, we choose a
+"you have to do the ripping through some other means" philosophy, to avoid legal issues.
+You can ask the authors of the ripping programs you use if their software is legal. Apparently
libdvdcss (which the other programs that it calls out to use) has never been legally challenged in court (or so they say),
and uses a slightly different algorithm than those that have, so the jury's still out. Possibly
-it has been challenged in French courts and found legal so it might vary from country to country [4].
+it has been challenged in French courts and found legal so it might vary from country to country, as well [4].
Using sensible-cinema also might not be more unethical than ripping your DVD collection to your hard
-drive so you can "keep your DVD's all in one place" or what not (which might even be termed fair use), since it
+drive so you can "keep your DVD's all in one place" or what not (which might perhaps be termed fair use), since it
basically only saves parts from the original concatenated. Only original content is saved. It just happens to be bits and
pieces that don't have the profanity.
Note also that fair use at times does allow one to "record" things for personal use/backup (for example off the TV).
-Note that sensible cinema does require the original DVD to be present when using it, also, to help enforce copy protection,
-at least for watching it/using from within sensible cinema. Certainly do not rip DVD's you don't own.
+Note also that sensible cinema does require the original DVD to be present when using it, to help enforce legality,
+at least for watching it/using from within sensible cinema. Certainly, do not rip DVD's you don't own.
If general, if it's not legal in your country, then don't use it!
You are responsible for your actions and use of the program.
It is possible that the authors of sensible-cinema are not cupable of anything
regarding its use themselves, since they re-distribute no edited media,
-nor distribute cracking codes. Check your country's rules first. Be warned.
+nor distribute cracking codes. Check your country's rules first. You have been warned.
-Note: do not redistribute or re-sell edited DVD's, certainly that is illegal.
+Note: do not redistribute or re-sell edited DVD's, certainly that is illegal in the US.
We have learned from clean flicks that redistributing
(well at least renting/selling) edited commercial DVD's is illegal in the US.
-Please don't redistribute. Consult your lawyer.
+Please don't redistribute. Consult your lawyer if you have any questions/concerns.
DO NOT MAKE ILLEGAL COPIES.
USE AT YOUR OWN RISK.
1  todo.inventionzy.txt
View
@@ -1,6 +1,7 @@
=== patentzy yes actually do vaguely ordered ===
blu-ray OCR
+ can pick specific profanities to avoid
both mute and blank when blanking by default...
manual select which to include into an EDL
user preference "how many down clicks on volume for profanity"?
2  todo.open_edl_list_org.txt
View
@@ -1,6 +1,8 @@
(profanity parsing stuff is in other todo)
tell them "exactly how to make super specific" cuts
+can associate with a subtitle file [?] number? real file?
+
a wholesomeness/proclamation meter?
they can add their own buffer time periods :P
1  todo.propaganda
View
@@ -1,5 +1,6 @@
keywords:
+can I leverage "mymovies" or "xbmc" communities or some odd?
own really long url movie bad scene skipper sensible cinema.t28.net add in there content editor or something lots of google SEO happy words
2  zamples/edit_decision_lists/dvds/sintel_open_source_blender.txt
View
@@ -5,7 +5,7 @@
"blank_outs" => [
"00:00:56.0" , "00:00:57.0", "violence", "knife stabbing",
- "00:01:05.0" , "00:01:13.0", "violence", "stab through",
+ "00:01:05.0" , "00:01:14.5", "violence", "stab through",
],
"name" => "sintel open source blender",
Please sign in to comment.
Something went wrong with that request. Please try again.