sensible-cinema 0.21.9 → 0.21.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE.TXT +8 -72
- data/README +126 -90
- data/Rakefile +28 -34
- data/TODO +157 -129
- data/VERSION +1 -1
- data/bin/sensible-cinema +40 -23
- data/change_log_with_feature_list.txt +26 -0
- data/development.txt +15 -6
- data/go.bat +1 -1
- data/go_ocr_tracker.bat +1 -1
- data/gocreatemode.bat +1 -1
- data/is_it_legal_to_copy_dvds.txt +80 -0
- data/lib/auto_convert.rb +4 -3
- data/lib/count_down_timer_jruby_swing.rb +5 -5
- data/lib/drive_info.rb +27 -7
- data/lib/edl_parser.rb +0 -1
- data/lib/mencoder_wrapper.rb +4 -5
- data/lib/subtitle_profanity_finder.rb +128 -0
- data/sensible-cinema.gemspec +24 -93
- data/spec/common.rb +8 -9
- data/spec/dragon.srt +32 -0
- data/spec/drive_info.spec.rb +2 -1
- data/spec/how_to +13 -0
- data/spec/notes +651 -41
- data/spec/subtitle_profanity_finder.spec.rb +53 -0
- data/template_bats/RUN SENSIBLE CINEMA CLICK HERE.bat +11 -2
- data/todo.build_library.txt +1 -1
- data/todo.inventionzy.txt +16 -11
- data/todo.open_edl_list_org.txt +19 -2
- data/todo.subtitle +16 -4
- data/{bin → vendor}/monkey.png +0 -0
- data/www/index.html +1 -1
- data/zamples/edit_decision_lists/dvds/how_to_train_your_dragon.txt +25 -0
- data/zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt +1 -1
- data/zamples/edit_decision_lists/dvds/sintel_open_source_blender.txt +18 -0
- data/zamples/edit_decision_lists/dvds/tron_legacy.txt +27 -0
- metadata +306 -413
- data/lib/profanity_finder.rb +0 -84
- data/spec/images/black.bmp +0 -0
- data/spec/images/colon.bmp +0 -0
- data/spec/images/hulu_0.bmp +0 -0
- data/spec/images/hulu_2.bmp +0 -0
- data/spec/images/hulu_2_3.bmp +0 -0
- data/spec/images/hulu_2_4.bmp +0 -0
- data/spec/images/hulu_3.bmp +0 -0
- data/spec/images/hulu_3_4.bmp +0 -0
- data/spec/images/hulu_4.bmp +0 -0
- data/spec/images/hulu_4_4.bmp +0 -0
- data/spec/images/hulu_5.bmp +0 -0
- data/spec/images/hulu_7.bmp +0 -0
- data/spec/images/hulu_8.bmp +0 -0
- data/spec/images/hulu_slash.bmp +0 -0
- data/spec/images/netflix_a0.bmp +0 -0
- data/spec/images/netflix_a1.bmp +0 -0
- data/spec/images/netflix_a2.bmp +0 -0
- data/spec/images/netflix_a3.bmp +0 -0
- data/spec/images/netflix_a4.bmp +0 -0
- data/spec/images/netflix_a5.bmp +0 -0
- data/spec/images/netflix_a6.bmp +0 -0
- data/spec/images/netflix_a7.bmp +0 -0
- data/spec/images/netflix_a8.bmp +0 -0
- data/spec/images/netflix_a9.bmp +0 -0
- data/spec/images/netflix_b9.bmp +0 -0
- data/spec/images/vlc_0.bmp +0 -0
- data/spec/images/vlc_2_4.bmp +0 -0
- data/spec/images/vlc_2_6.bmp +0 -0
- data/spec/images/vlc_4.bmp +0 -0
- data/spec/images/vlc_5.bmp +0 -0
- data/spec/images/vlc_6.bmp +0 -0
- data/spec/images/vlc_9.bmp +0 -0
- data/spec/images/vlc_colon.bmp +0 -0
- data/spec/images/youtube_0.bmp +0 -0
- data/spec/images/youtube_1.bmp +0 -0
- data/spec/images/youtube_2_0.bmp +0 -0
- data/spec/images/youtube_2_5.bmp +0 -0
- data/spec/images/youtube_2_6.bmp +0 -0
- data/spec/images/youtube_3_0.bmp +0 -0
- data/spec/images/youtube_4.bmp +0 -0
- data/spec/images/youtube_4_0.bmp +0 -0
- data/spec/images/youtube_5.bmp +0 -0
- data/spec/images/youtube_6.bmp +0 -0
- data/spec/images/youtube_light_0.bmp +0 -0
- data/spec/images/youtube_light_1_3.bmp +0 -0
- data/spec/images/youtube_light_2_1.bmp +0 -0
- data/spec/images/youtube_light_2_3.bmp +0 -0
- data/spec/images/youtube_light_2_9.bmp +0 -0
- data/spec/images/youtube_light_4.bmp +0 -0
- data/spec/images/youtube_light_4_3.bmp +0 -0
- data/spec/images/youtube_light_5.bmp +0 -0
- data/spec/images/youtube_light_5_0.bmp +0 -0
- data/spec/images/youtube_light_8.bmp +0 -0
- data/spec/images/youtube_light_9.bmp +0 -0
- data/spec/images/youtube_small_0.bmp +0 -0
- data/spec/images/youtube_small_2.bmp +0 -0
- data/spec/images/youtube_small_2_0.bmp +0 -0
- data/spec/images/youtube_small_4.bmp +0 -0
- data/spec/silence.wav +0 -0
- data/vendor/SetPriority.exe +0 -0
- data/vendor/gocr049.exe +0 -0
- data/vendor/music.wav +0 -0
- data/vendor/unzip.exe +0 -0
data/LICENSE.TXT
CHANGED
|
@@ -1,79 +1,15 @@
|
|
|
1
|
-
All files (c) Roger Pack 2010
|
|
2
|
-
All files released under the GPLv3 license [1] unless otherwise specified. Ping me if you want/need this changed at all.
|
|
1
|
+
All files (c) Roger Pack 2010-2011
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
All files released under the GPLv3 license [1] unless otherwise specified. Ping me if you want/need this changed at some point.
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
So...is this legal?
|
|
9
|
-
|
|
10
|
-
Unclear. In general ripping personal DVD's is legal.
|
|
11
|
-
And making "backup copies" of commercial DVD's (I think--I'm no laywer) may fall under fair use [3] .
|
|
12
|
-
|
|
13
|
-
It is controversial to use open source software to play/rip commercial DVD's.
|
|
14
|
-
There are a few conflicting views.
|
|
15
|
-
Sensible-cinema doesn't actually do any decryption or decoding, nor has any knowledge of it.
|
|
16
|
-
It doesn't even have knowledge
|
|
17
|
-
as to whether the DVD being ripped is encrypted or not. We don't distribute sensible-cinema with
|
|
18
|
-
the ripping program, or any ripping codes, either (the user must install it later after being prompted).
|
|
19
|
-
You can ask the authors of that program if it is legal. Apparently
|
|
20
|
-
libdvdcss (which the other programs that it calls out to use) has never been legally challenged in court (or so they say),
|
|
21
|
-
and uses a slightly different algorithm than those that have, so the jury's out.
|
|
22
|
-
Also since we only call out to another (separate) executable, we're as legal as audacity calling out to winlame.dll for its
|
|
23
|
-
mp3 conversions, or perhaps similar to Handbrake calling out to VLC Media Player. Use only after knowing the risk.
|
|
24
|
-
Using sensible-cinema is also might not be more unethical than ripping your DVD collection to your hard
|
|
25
|
-
drive so you can "keep your DVD's all in one place" or what not (which might be fair use), since it
|
|
26
|
-
basically saves away the original with sections removed. Only original content is saved.
|
|
27
|
-
It's about the same as using VLC media player to watch a DVD, which also uses libdvdcss.
|
|
28
|
-
Also note that if you watch an edited DVD in a commercial DVD player, your are using a DVD player that conforms
|
|
29
|
-
with encryption specifications, so that might have some sway.
|
|
30
|
-
Note also that fair use at times does allow one to "record" things for personal use/backup (for example off the TV).
|
|
31
|
-
Note that sensible cinema does require the original DVD to be present when using it, also.
|
|
32
|
-
|
|
33
|
-
If general, if it's not legal in your country, then don't use it!
|
|
34
|
-
You are responsible for your actions and use of this program.
|
|
35
|
-
It is possible that the authors of sensible-cinema are not cupable of anything
|
|
36
|
-
regarding its use themselves, since they re-distribute no edited media,
|
|
37
|
-
nor distribute cracking codes. Check your country's rules first.
|
|
38
|
-
If it's illegal, don't use it!
|
|
39
|
-
|
|
40
|
-
Note: for sure do not redistribute/re-sell edited DVD's. We have learned from clean flicks that
|
|
41
|
-
redistributing (well at least renting/selling) edited commercial DVD's is against copyright in the US. We hope that sensible-cinema
|
|
42
|
-
is more legal, since you basically have to have the original DVD in hand.
|
|
43
|
-
Please don't redistribute. If creating copies of commercial DVD's is illegal
|
|
44
|
-
in your country, then don't do it! Use the "watch in realtime" option. Unless that's illegal.
|
|
45
|
-
USING THIS SOFTWARE MIGHT BE ILLEGAL IN SOME COUNTRIES.
|
|
46
|
-
DO NOT MAKE ILLEGAL COPIES.
|
|
47
|
-
|
|
48
|
-
In terms of copyright, it could be legal under the The Family Home Movie Act of 2005,
|
|
49
|
-
at least in the United States, when viewed using the "playlist" option (v 0.10'ish, later removed--used VLC), or the "realtime" option (0.18.0'ish +, using mplayer).
|
|
50
|
-
In general, if I have the original DVD sitting next to my TV, I don't feel bad about watching
|
|
51
|
-
its edited copy, but please consult a laywer first if you have any concerns.
|
|
5
|
+
The edit lists included, are creative commons licensed.
|
|
52
6
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Note that this software might well be legal in the EU,
|
|
56
|
-
as it is only software (if you watch it on your computer), and therefore possibly not subject to patents in certain countries
|
|
57
|
-
(see "What about patent licenses?" in [2]).
|
|
58
|
-
|
|
59
|
-
Also note that several ideas have been released in the code that are disabled in the final release. Please see the blog
|
|
60
|
-
for release notes http://betterlogic.com/roger, as well as http://ruby-forum.com (ruby talk ML there), and rubygems.org
|
|
61
|
-
which lists the various releases, including release notes, when installed, and also github.com/rdp/sensible-cinema which,
|
|
62
|
-
lists commits and changes and release notes, and is publicly available.
|
|
63
|
-
|
|
64
|
-
A more ancient history of various brainstorming thoughts was described here:
|
|
65
|
-
http://betterlogic.com/roger/?p=2618
|
|
66
|
-
|
|
67
|
-
Note sensible cinema is distributed free for free, source code is also available (see README text file).
|
|
68
|
-
|
|
69
|
-
YOU MUST AGREE TO THE gplv3 in order to use this software.
|
|
7
|
+
Note: may call out to some 3rd party libraries/executables under their own (separate, open source) licenses.
|
|
70
8
|
|
|
71
|
-
Note also that we used parts of the 7-Zip program, that 7-Zip is licensed under the GNU LGPL license, see http://www.7-zip.org, where
|
|
9
|
+
Note also that we used parts of the 7-Zip program, that 7-Zip is licensed under the GNU LGPL license, see http://www.7-zip.org, where its source code can be found.
|
|
72
10
|
|
|
73
|
-
|
|
11
|
+
Ffmpeg is included, under the GPLv2: http://www.ffmpeg.org/legal.html http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
74
12
|
|
|
75
|
-
|
|
76
|
-
[2] http://www.videolan.org/legal.html
|
|
77
|
-
[3] http://www.macworld.com/article/150731/2010/04/dvdripping_faqs.html
|
|
13
|
+
curl is included, released under an MIT/X style license: http://curl.haxx.se/docs/copyright.html
|
|
78
14
|
|
|
79
|
-
|
|
15
|
+
See first also the file "is_it_legal_to_copy_dvds.txt" for more information on legal use in your country.
|
data/README
CHANGED
|
@@ -1,33 +1,37 @@
|
|
|
1
|
-
Sensible-cinema
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
I.e. you can play or edit a DVD to "mute out" or skip certain scenes.
|
|
6
|
-
|
|
1
|
+
Sensible-cinema [5] allows you to apply pre-programmed delete lists
|
|
2
|
+
(e.g. Edit Decision Lists [2]) to DVD's you own.
|
|
3
|
+
I.e. you can edit a DVD to "mute out" or skip certain scenes.
|
|
7
4
|
This allows you to sit back and relax as you watch a more "sensiblized" showing of your DVD.
|
|
8
5
|
|
|
9
|
-
|
|
6
|
+
It is currently in beta, though will always be free software, even after release.
|
|
7
|
+
It also includes a library of EDL's that go along with various DVD's, we need volunteers
|
|
8
|
+
to help it to grow!
|
|
10
9
|
|
|
11
|
-
To use
|
|
12
|
-
It will pop up some windows where you choose what to do
|
|
10
|
+
To use, basically install, then insert an original DVD that you want to edited, then run sensible cinema.
|
|
11
|
+
It will pop up some windows where you choose what to do.
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
Note: please install from the zip files at http://rogerdpack.t28.net/sensible-cinema and not from gitub's "downloads" button.
|
|
14
|
+
See the "install" section.
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
It basically allows you to create an edited video version of the DVD, onto your hard drive, and you can watch it there.
|
|
17
|
+
|
|
18
|
+
How? Sensible cinema basically takes the original DVD, slices out the bad parts, then combines it back
|
|
19
|
+
into a new file and gives you the result.
|
|
20
|
+
It is basically a linear editor [1] that applies Edit Decision Lists [2] to videos. It wraps
|
|
19
21
|
a few freely available open source programs [3] to accomplish the editing for you.
|
|
20
22
|
It also has a few "realtime viewing" options available, again based on open source software [3].
|
|
21
23
|
|
|
22
24
|
Note that the whole process can take several hours, so budget some time for it.
|
|
23
25
|
|
|
24
26
|
Also note that just because an edited video lacks profanity...does not immediately make it an inspiring experience.
|
|
25
|
-
I'd suggest carefully evaluating your
|
|
27
|
+
I'd suggest carefully evaluating your real values, and going with those.
|
|
26
28
|
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!
|
|
27
29
|
|
|
28
|
-
dove.org and common sense media are good references for discovering the "uplifting" level of movies [4].
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
dove.org and common sense media are good references for discovering the "uplifting" level of movies [4].
|
|
31
|
+
kids-in-mind.com is also a good reference for profanity levels, though sometimes it misses profanities,
|
|
32
|
+
and it also lacks timestamps to know when the profanities occur. Hence this project.
|
|
33
|
+
Also note that even if you happen to have an edited copy of a DVD floating around, if you have kids, chances are they
|
|
34
|
+
will eventually find (and watch) the unedited originals, so be careful there.
|
|
31
35
|
|
|
32
36
|
Enjoy your movies!
|
|
33
37
|
|
|
@@ -35,88 +39,103 @@ Enjoy your movies!
|
|
|
35
39
|
[2] http://en.wikipedia.org/wiki/Edit_decision_list
|
|
36
40
|
[3] mostly GPL programs, see http://www.gnu.org/licenses/ VLC Media Player, Mplayer/mencoder, ffmpeg, et al.
|
|
37
41
|
[4] http://lds.org/library/display/0,4945,161-1-11-1,00.html search for the word "wholesome"
|
|
42
|
+
[5] Also known to us as "paranoid cinema" (our inside joke :).
|
|
38
43
|
|
|
39
44
|
== Installation ==
|
|
40
45
|
|
|
41
|
-
|
|
42
|
-
NB that you want to download from there, not from github, and the file you want
|
|
46
|
+
Installation instructions available here: http://rogerdpack.t28.net/sensible-cinema
|
|
47
|
+
NB that you want to download from there only, not from github, and the file you want to get
|
|
48
|
+
is called "latest-sensible-cinema.zip"
|
|
43
49
|
|
|
44
|
-
== Creating Your Own Delete Lists, or modifying
|
|
50
|
+
== Creating Your Own Delete Lists, or modifying previously existing ones ==
|
|
45
51
|
|
|
46
52
|
See the accompanied how_to_create_your_own_delete_lists.txt file.
|
|
47
53
|
|
|
48
|
-
== Creating
|
|
54
|
+
== Creating an edited DVD ==
|
|
49
55
|
|
|
50
|
-
|
|
56
|
+
See also is_it_legal_to_copy_dvds.txt for some caveats you should understand.
|
|
57
|
+
I don't actually know how I've never burned a DVD.
|
|
51
58
|
Windows DVD Maker might help, http://www.dvdflick.net might help.
|
|
52
|
-
|
|
59
|
+
iDVD might help on mac.
|
|
60
|
+
DO NOT MAKE ILLEGAL COPIES OF DVD's. See is_it_legal_to_copy_dvds.txt.
|
|
53
61
|
|
|
54
62
|
== FAQ ==
|
|
55
63
|
|
|
56
64
|
Q. How do I watch these on my TV, not just on my computer?
|
|
57
65
|
A. You also might be able to move a laptop over to near your TV and hook it in from your laptop.
|
|
58
66
|
Or buy a very long monitor cord and plug it in from your desktop/laptop.
|
|
59
|
-
You could also buy a projector, attach it to your laptop, and then use that to
|
|
67
|
+
You could also buy a projector, attach it to your laptop, and then use that to watch it.
|
|
60
68
|
If you're interested in also being able to "beam" it from your computer to your game console (ex: PS3) ping me--I might have
|
|
61
69
|
something in mind that could help, though hasn't been created yet. (Playon.tv does something like this, too, but
|
|
62
|
-
I might come up with a competitor to it if desired, as
|
|
70
|
+
I might come up with a competitor to it if desired, as the existing one costs money).
|
|
63
71
|
If you're really ambitious and bleeding edge you could even try VGA over an Ethernet cable, too:
|
|
64
|
-
http://ps3mediaserver.org/forum/viewtopic.php?f=6&t=5731#p34279
|
|
72
|
+
http://ps3mediaserver.org/forum/viewtopic.php?f=6&t=5731#p34279
|
|
73
|
+
You may be able to create your own edited DVD, see section "Creating an edited DVD"
|
|
74
|
+
You may be able to come up with some real-time player editor, too, see section "related works" et al
|
|
65
75
|
|
|
66
76
|
Q. I want to give an edited DVD to a friend, how do I do that well?
|
|
67
|
-
A. Give them the original DVD and a link to sensible-cinema's website
|
|
77
|
+
A. Give them the original unedited DVD and a link to sensible-cinema's website.
|
|
68
78
|
|
|
69
79
|
== Caveats ==
|
|
70
80
|
|
|
71
81
|
NB that "someone" has to first create a delete list, per DVD.
|
|
72
82
|
If one doesn't yet exist for the DVD you want edited,
|
|
73
|
-
you could
|
|
74
|
-
back to us when you're done, so that
|
|
75
|
-
Fortunately
|
|
76
|
-
editing process is
|
|
83
|
+
you could create it yourself, or employ somebody to create it. Make sure to submit it
|
|
84
|
+
back to us when you're done, so that the rest of the users can benefit from it.
|
|
85
|
+
Fortunately just one person has to do it, once, for everybody to benefit, and the
|
|
86
|
+
editing process is not too bad.
|
|
87
|
+
|
|
88
|
+
We also have a subtitle parser which really helps locate profanity more conveniently, so that will help you
|
|
89
|
+
build your delete list.
|
|
77
90
|
|
|
78
91
|
Also note that if your DVD has scratches that cause it to skip, the time signatures will be off,
|
|
79
|
-
so we recommend to always clean your discs!
|
|
92
|
+
so we recommend to always clean your discs first!
|
|
80
93
|
|
|
81
94
|
== Motivation ==
|
|
82
95
|
|
|
83
96
|
The initial motivation for the project was that I dislike deity profanity in movies.
|
|
84
97
|
And really any profanity is jarring, if you're not used to it in real life, and can
|
|
85
|
-
put you a bit on edge when you watch a movie.
|
|
86
|
-
Also sometimes producers put in certain scenes (read: sex scenes)
|
|
87
|
-
|
|
98
|
+
put you a bit on edge when you watch a movie.
|
|
99
|
+
Also sometimes producers put in certain scenes (read: sex scenes)
|
|
100
|
+
just to get a desired rating.
|
|
101
|
+
I don't want those scenes, but still want to be able to enjoy said movies :)
|
|
88
102
|
|
|
89
103
|
I once tried Clearplay (a "filter"ed DVD player)
|
|
90
|
-
but (for me) it didn't
|
|
91
|
-
many other people don't use it because of this
|
|
104
|
+
but (for me) it didn't cut it. It costs money monthly (I'm too cheap to pay--and many
|
|
105
|
+
many other people don't use it because of this...). Their
|
|
92
106
|
filters sometimes don't cut out all unwanted content (ex: Saints and
|
|
93
107
|
Soldiers left profanity in...which wasn't what I had
|
|
94
|
-
expected, so they
|
|
108
|
+
expected), so if they differ in standards somewhat, you're out of luck.
|
|
95
109
|
Others have noted that sometimes their edit timings (or perhaps DVD players)
|
|
96
|
-
are slightly mismatched so that it will
|
|
97
|
-
not muting the profanity itself. Clearplay apparently also runs a rather
|
|
98
|
-
confusing subscription policy, I'm told [1], as well as selling DVD players that
|
|
99
|
-
are a bit lackluster at times [2].
|
|
100
|
-
|
|
101
|
-
|
|
110
|
+
are slightly mismatched so that it will end up muting sections just previous to profanity, while
|
|
111
|
+
not muting the profanity itself, or so I've heard. Clearplay apparently also runs a rather
|
|
112
|
+
confusing subscription policy, so I'm told [1], as well as selling DVD players that
|
|
113
|
+
are a bit lackluster at times [2]. Their DVD players aren't quite as readily accessible (read:
|
|
114
|
+
can't buy at walmart anymore), nor as cheap to buy as some out there.
|
|
115
|
+
Clearplay also has little community collaboration/review (though you can email them feedback I suppose).
|
|
102
116
|
They also don't have filters for all movies that I, at times, would like to watch edited (Condorman and Tron
|
|
103
117
|
lacking last time I checked...probably because they are too
|
|
104
|
-
obscure.)
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
118
|
+
obscure.) If there isn't one, you basically have to request one and then *hope* they get around to it.
|
|
119
|
+
They might never get around to it, or it might take a bit longer than you'd hope.
|
|
120
|
+
Also, some people watch movies only on computer, and they
|
|
121
|
+
no longer seem to offer a computer player, just hardware DVD players. They also don't edit streamed
|
|
122
|
+
online movies either (last time I checked, anyway), nor offer a blu-ray player.
|
|
108
123
|
I also emailed them once (2003?) to inform them I'd be making an open source
|
|
109
124
|
equivalent, and haven't heard back, which I assume to mean implicitly
|
|
110
|
-
they're all for it
|
|
111
|
-
Also
|
|
112
|
-
|
|
113
|
-
for example, skip the intro to specific movies (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
125
|
+
they're all for it (in reality this project is more like in-home cleanflicks than clearplay, anyway)
|
|
126
|
+
Also clearplay isn't quite flexible enough, editing out only profanity/sex/violence et al (and based
|
|
127
|
+
only on their own criteria). Some users may want to,
|
|
128
|
+
for example, skip the intro to specific movies (like older movies with long songs and no
|
|
129
|
+
content during the intro) because...it's deemed boring. Or skip commercials in some recording.
|
|
130
|
+
Or use it on their home dvd's. Clearplay does not allow for that.
|
|
131
|
+
Also clearplay doesn't seem to users for example leave comments on their filters, to improve them, etc.
|
|
132
|
+
|
|
133
|
+
So overall I wanted to build my own that overcame some of these hurdles, hopefully.
|
|
117
134
|
|
|
118
135
|
I also wanted to get a prototype out there of some of these ideas so that
|
|
119
|
-
others can't later patent them and pretend that they were first inventors :)
|
|
136
|
+
others can't later patent them and pretend that they were first inventors later :)
|
|
137
|
+
|
|
138
|
+
See also the "Overly Verbose History" section.
|
|
120
139
|
|
|
121
140
|
[1] http://www.amazon.com/gp/product/B002YPRW7S/ref=cm_rdp_product
|
|
122
141
|
"...I agree that it is not made clear on their website that if you don't continue your membership, you can't continue
|
|
@@ -129,19 +148,21 @@ others can't later patent them and pretend that they were first inventors :)
|
|
|
129
148
|
|
|
130
149
|
== Overly Verbose History ==
|
|
131
150
|
|
|
132
|
-
It was preceded/inspired by EDL's in the 90's, cleanflicks (both analog and digital
|
|
133
|
-
zoomplayer
|
|
134
|
-
|
|
135
|
-
|
|
151
|
+
It was preceded/inspired by EDL's in editors in the 90's, cleanflicks (both analog and digital incantations late 90's),
|
|
152
|
+
then mplayer began to support EDL, zoomplayer added a scene-cut editor,
|
|
153
|
+
http://code.google.com/p/movie-content-editor came along, and also many
|
|
154
|
+
other editors have historically supported EDL for content creation and/or playback (see wikipedia's "edit decision list"),
|
|
155
|
+
and also mythtv/XBMC's EDL support (as suggested by the phantom edit [1], oreillynet.com),
|
|
156
|
+
VLC also added playlists with optional start and stop positions per entry.
|
|
157
|
+
I knew the right elements were ready for sensible cinema.
|
|
136
158
|
|
|
137
|
-
See also the "related" section.
|
|
159
|
+
See also the "related" section, and "motivation" section.
|
|
138
160
|
|
|
139
161
|
Originally the project started as a prototype to "watch hulu (online) and netflix instant movies
|
|
140
|
-
edited" (it uses/used screen snap-shotting
|
|
141
|
-
timestamp of the player,
|
|
162
|
+
edited" (it uses/used screen snap-shotting (of specific locations where the digits are, based on windows position)
|
|
163
|
+
and then tracks, using OCR of the on-screen timestamp of the player, to monitor it for specific times, and react appropriately.
|
|
142
164
|
However, this functionality, though working and available, is disabled currently for potential patent
|
|
143
|
-
issues.
|
|
144
|
-
Some older released versions had it enabled, but not the latest releases.
|
|
165
|
+
issues. Some older released versions had it enabled, but not the later releases.
|
|
145
166
|
Then I realized I could basically create the same effect using the
|
|
146
167
|
(possibly more patent friendly) pre-processing style, like cutting out bad scenes, like cleanflix did.
|
|
147
168
|
It basically was implementing Edit Decision Lists (EDL's) using playlists and
|
|
@@ -155,20 +176,14 @@ realtime tracking, so I included that ability.
|
|
|
155
176
|
The playlist option is disabled in later releases, as it was deemed too user-non-friendly, because VLC timing
|
|
156
177
|
is "different" than standard DVD players, so I decided to just use standardized timing, though it worked fine
|
|
157
178
|
for VLC playbacks.
|
|
179
|
+
Many releases had built-in support for mplayer's EDL format, but I took it
|
|
180
|
+
out to concentrate on the cleanflicks side of things.
|
|
158
181
|
|
|
159
182
|
You can see a full list of other features that have been published and demonstrated
|
|
160
183
|
in the accompanying change_log_with_feature_list.txt. Each feature works in some released version of sensible-cinema
|
|
161
|
-
though some features
|
|
184
|
+
though some features have been removed in later versions.
|
|
162
185
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
See the included LICENSE.TXT file for licensing and usage terms (basically it's released under gplv3).
|
|
166
|
-
Some other programs are (distributed separately and) leveraged, if present. These are
|
|
167
|
-
typically released under their own copy of the gplv2 license.
|
|
168
|
-
|
|
169
|
-
All files (c) 2010 Roger Pack
|
|
170
|
-
|
|
171
|
-
See the accompanied LICENSE.TXT file for more legal information, before using the product.
|
|
186
|
+
[1] http://www.oreillynet.com/sysadmin/blog/2005/06/make_your_own_phantom_edit_wit.html
|
|
172
187
|
|
|
173
188
|
== Related ==
|
|
174
189
|
|
|
@@ -181,6 +196,7 @@ http://imdb.com tends to have reasonably good lists of what occurs in movies (fi
|
|
|
181
196
|
Normal movies versus "directors cut" versions of movies (one is at times preferable, profanity wise)
|
|
182
197
|
http://en.wikipedia.org/wiki/Edit_decision_list (it's a linear editing tool, after all--so see the vast list of those)
|
|
183
198
|
Clean Flicks (used to) sell edited movies
|
|
199
|
+
http://www.videoredo.com/en/index.htm lets you "cut out" offensive content (commercials et al) and burn DVD's from mpeg's/h264 streams
|
|
184
200
|
http://www.mplayerhq.hu/DOCS/HTML/en/edl.html
|
|
185
201
|
http://www.oreillynet.com/sysadmin/blog/2005/06/make_your_own_phantom_edit_wit.html (mplayer has had this ability for awhile, with no complaints).
|
|
186
202
|
http://clearplay.com a commercial editing player (tracks DVD's while they play--closed source, costs money, no user contribution possible), and only for DVD's.
|
|
@@ -197,7 +213,7 @@ http://forums.gbpvr.com/showthread.php?10606-Automated-Cutting-and-Transcoding-G
|
|
|
197
213
|
http://www.imdb.com/swiki/special?ParentalGuideHelp (search for "scene description")
|
|
198
214
|
http://www.mythtv.org/wiki/Removing_Commercials
|
|
199
215
|
Using the remote control with the pause, mute, stop, fast forward, and play buttons, along with previous knowledge of scene locations
|
|
200
|
-
The scissors and old VHS tapes (Clean Flicks' origin, if I remember correctly). http://www.familysafemedia.com/home_movie_editor.html
|
|
216
|
+
The scissors and old VHS tapes (Clean Flicks' origin, if I remember correctly). http://www.familysafemedia.com/home_movie_editor.html (was a helper kit for cutting VHS tape)
|
|
201
217
|
Windows Movie Maker. Allows for users to cut and copy scenes of movies to their heart's content.
|
|
202
218
|
http://forum.videolan.org/viewtopic.php?f=7&t=56998 VLC Media Player using EDL's via playlists
|
|
203
219
|
Corel WinDVD has "Quick Clip" settings for capturing from DVD.
|
|
@@ -205,7 +221,17 @@ Microsoft's magnified basically copies DVD's screen output if mouse is placed ov
|
|
|
205
221
|
http://superuser.com/questions/85278/how-can-i-cut-scenes-out-of-a-dvd
|
|
206
222
|
http://blog.josephhall.com/2008/09/command-line-dvd-authoring-part-1.html
|
|
207
223
|
ZoomPlayer MAX's scene cut editor
|
|
208
|
-
|
|
224
|
+
Anydvd HD's "magic file replacement" for DVD's/blu-ray's
|
|
225
|
+
RiffTrax
|
|
226
|
+
|
|
227
|
+
== License ==
|
|
228
|
+
|
|
229
|
+
See the included LICENSE.TXT file for licensing and usage terms (basically it's released under gplv3).
|
|
230
|
+
Some other programs are (distributed separately and) used, if present. These are
|
|
231
|
+
typically released under their own copy of the gplv2 license.
|
|
232
|
+
|
|
233
|
+
All files are (c) 2010 Roger Pack
|
|
234
|
+
EDL files themselves are released under the Creative Commons License.
|
|
209
235
|
|
|
210
236
|
== Troubleshooting ==
|
|
211
237
|
|
|
@@ -213,35 +239,35 @@ If you run into some snag, it possibly could have failed in "grabbing" the DVD,
|
|
|
213
239
|
Try cleaning your DVD and starting over (delete all files, start again).
|
|
214
240
|
Baking soda toothpaste might help with cleaning it.
|
|
215
241
|
If it still errs, report it, along with a screen snapshot and steps of
|
|
216
|
-
how to reproduce the problem, preferably. See feedback section.
|
|
242
|
+
how to reproduce the problem, preferably. See the feedback section.
|
|
217
243
|
|
|
218
244
|
It can fail also because a deletion is past end of DVD, or
|
|
219
245
|
Also note that if your DVD has scratches that cause it to skip, the time signatures will be off after that point,
|
|
220
246
|
so clean your discs and try again!
|
|
247
|
+
"DVDNAV stream read error!"
|
|
248
|
+
this typically means a dirty or scratched DVD.
|
|
221
249
|
|
|
222
250
|
Also make sure you aren't out of disk space.
|
|
223
251
|
|
|
224
|
-
Also you could try
|
|
225
|
-
|
|
226
|
-
Also (for power users) make sure your version of ffmpeg is relatively new, as older versions (r19313) is known to crop wrong.
|
|
227
|
-
If you don't know what this means then you're probably ok and don't have to worry about it.
|
|
228
|
-
|
|
229
|
-
"DVDNAV stream read error!"
|
|
230
|
-
this typically means a dirty or scratched DVD.
|
|
252
|
+
Also you could try another computer (desktop computers' DVD drives seem to work better at times than laptops')
|
|
231
253
|
|
|
232
254
|
You try to play back a sensible cinema-ized video file and it plays back without
|
|
233
255
|
audio or video (example: windows media player)?
|
|
234
256
|
|
|
235
257
|
This probably means you're using windows media player, and don't have "codecs" installed
|
|
236
|
-
to handle this type of
|
|
258
|
+
to handle this type of audio. Not to fear, just download the "ffdshow tryouts" (google for it)
|
|
237
259
|
and, when it gives you the option, be sure to check "mpeg2 video" and then
|
|
238
|
-
it should "just work." You could also play the file in VLC Media Player or smplayer
|
|
239
|
-
(there's a button for that).
|
|
260
|
+
it should "just work." You could also optionally just play the file in VLC Media Player or smplayer
|
|
261
|
+
(there's a button for that). Installing "AC3Filter" may help if you have no audio.
|
|
262
|
+
|
|
263
|
+
If the picture is too grainy/pixelated or the process is too slow, let me know and I'll work on
|
|
264
|
+
making it better. No really, I have some ideas, but want to know if there's need first.
|
|
240
265
|
|
|
241
266
|
== Thanks ==
|
|
242
267
|
|
|
243
268
|
Thanks to Jarmo for the win32-screenshot gem, the mini_magick gem authors, jruby guys, etc.
|
|
244
|
-
The combination of these tools made programming this actually something of a pleasure
|
|
269
|
+
The combination of these tools made programming this actually something of a pleasure,
|
|
270
|
+
and a breeze cross platform.
|
|
245
271
|
|
|
246
272
|
== Feedback/Development ==
|
|
247
273
|
|
|
@@ -250,4 +276,14 @@ Feedback, including feature requests, comments, etc. welcome:
|
|
|
250
276
|
Mailing List: http://groups.google.com/group/sensible-cinema
|
|
251
277
|
|
|
252
278
|
If you're a developer and want to help out with programmming or look and feel, etc., please do!
|
|
253
|
-
See development.txt / github.com/rdp
|
|
279
|
+
See development.txt / github.com/rdp/sensible-cinema
|
|
280
|
+
|
|
281
|
+
If you want to donate something, please consider donating to a charity of your choice. No really. Do it for this!
|
|
282
|
+
|
|
283
|
+
== Competition/use of files ==
|
|
284
|
+
|
|
285
|
+
Note that competition/use of files from sensible cinema is welcome!
|
|
286
|
+
|
|
287
|
+
In fact, the current end goal is to publish the delete lists (EDL's) as a separate repository, under the creative
|
|
288
|
+
commons license, meaning that even for profit users can use them for whatever other use they want, hopefully
|
|
289
|
+
good uses :)
|
data/Rakefile
CHANGED
|
@@ -13,17 +13,20 @@ Jeweler::Tasks.new do |s|
|
|
|
13
13
|
s.add_dependency 'rdp-win32screenshot', '>= 0.0.7.3' # was 0.8.0 ?
|
|
14
14
|
s.add_dependency 'mini_magick', '>= 3.1' # for ocr...
|
|
15
15
|
s.add_dependency 'whichr', '>= 0.3.6'
|
|
16
|
-
s.add_dependency '
|
|
17
|
-
s.add_dependency '
|
|
16
|
+
s.add_dependency 'rdp-ruby-wmi' # windows
|
|
17
|
+
s.add_dependency 'plist' # mac
|
|
18
18
|
s.add_dependency 'ffi' # mouse, etc. needed at least for MRI
|
|
19
|
-
|
|
19
|
+
s.files.exclude '**/*.exe', '**/*.wav', '**/images/*'
|
|
20
20
|
s.add_development_dependency 'hitimes' # now jruby compat!
|
|
21
|
-
s.add_development_dependency 'rspec'
|
|
21
|
+
s.add_development_dependency 'rspec', '> 2'
|
|
22
|
+
s.add_development_dependency 'jeweler'
|
|
23
|
+
s.add_development_dependency 'rake'
|
|
22
24
|
|
|
23
|
-
# add as real dependencies for now, as gem install --development is still broken for jruby, basically installing transitive dependencies in error
|
|
24
|
-
|
|
25
|
+
# add as real dependencies for now, as gem install --development is still broken for jruby, basically installing transitive dependencies in error <sigh>
|
|
26
|
+
|
|
27
|
+
for gem in s.development_dependencies #['hitimes', 'rspec', 'jeweler', 'rake']
|
|
25
28
|
# bundling rake won't be too expensive, right? and this allows for easier dev setup through gem install
|
|
26
|
-
s.add_dependency name
|
|
29
|
+
s.add_dependency gem.name
|
|
27
30
|
end
|
|
28
31
|
end
|
|
29
32
|
|
|
@@ -73,41 +76,25 @@ task 'bundle_dependencies' => 'gemspec' do
|
|
|
73
76
|
system("rm -rf ../cache.bak")
|
|
74
77
|
system("cp -r vendor/cache ../cache.bak") # for retrieval later
|
|
75
78
|
Dir['vendor/cache/*'].each{|f|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
raise 'unable to delete: ' + f if File.exist?(f)
|
|
79
|
-
end
|
|
79
|
+
FileUtils.rm_rf f
|
|
80
|
+
raise 'unable to delete: ' + f if File.exist?(f)
|
|
80
81
|
}
|
|
81
82
|
FileUtils.mkdir_p 'vendor/cache'
|
|
82
83
|
Dir.chdir 'vendor/cache' do
|
|
83
84
|
dependencies.each{|d|
|
|
84
85
|
system("#{Gem.ruby} -S gem unpack #{d.name}")
|
|
85
86
|
}
|
|
86
|
-
to_here = "jruby-complete-1.5.5.jar"
|
|
87
|
-
unless File.exist? to_here
|
|
88
|
-
url = "/downloads/1.6.1/jruby-complete-1.6.1.jar"
|
|
89
|
-
puts 'downloading in jruby-complete.jar file ' + url
|
|
90
|
-
# jruby complete .jar file
|
|
91
|
-
Net::HTTP.start("jruby.org.s3.amazonaws.com") { |http|
|
|
92
|
-
resp = http.get(url)
|
|
93
|
-
puts 'copying jruby complete in... '
|
|
94
|
-
open(to_here, "wb") { |file|
|
|
95
|
-
file.write(resp.body)
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
end
|
|
99
87
|
|
|
100
88
|
# create a shunt win32ole file, so that require 'win32ole' will just work.
|
|
101
|
-
# XXXX may no longer need
|
|
89
|
+
# XXXX may no longer need this...
|
|
102
90
|
Dir.mkdir 'lib'
|
|
103
91
|
File.write('lib/win32ole.rb', 'require "jruby-win32ole"')
|
|
104
|
-
|
|
105
|
-
end # chdir
|
|
92
|
+
end
|
|
106
93
|
|
|
107
94
|
end
|
|
108
95
|
|
|
109
96
|
desc 'create distro zippable dir'
|
|
110
|
-
task 'create_distro_dir' do
|
|
97
|
+
task 'create_distro_dir' => :gemspec do # depends on gemspec...
|
|
111
98
|
raise 'need bundle_dependencies first' unless File.directory? 'vendor/cache'
|
|
112
99
|
require 'fileutils'
|
|
113
100
|
spec = eval File.read('sensible-cinema.gemspec')
|
|
@@ -126,6 +113,7 @@ end
|
|
|
126
113
|
def cur_ver
|
|
127
114
|
File.read('VERSION').strip
|
|
128
115
|
end
|
|
116
|
+
|
|
129
117
|
task 'zip' do
|
|
130
118
|
name = 'sensible-cinema-' + cur_ver
|
|
131
119
|
c = "\"c:\\Program Files\\7-Zip\\7z.exe\" a -tzip -r #{name}.zip #{name}"
|
|
@@ -147,16 +135,22 @@ task 'deploy' do
|
|
|
147
135
|
raise unless system("ssh rdp@ilab1.cs.byu.edu 'ssh wilkboar@freemusicformormons.com \\\"ln -s \\~/www/rogerdpackt28/sensible-cinema/releases/#{name} \\\\~/www/rogerdpackt28/sensible-cinema/releases/latest-sensible-cinema.zip\\\"'")
|
|
148
136
|
end
|
|
149
137
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
raise unless system("git push origin master")
|
|
138
|
+
task 'gem_release' do
|
|
139
|
+
FileUtils.rm_rf 'pkg'
|
|
140
|
+
Rake::Task["build"].execute
|
|
154
141
|
gems = Dir['pkg/*.gem']
|
|
155
142
|
gems[0..-2].each{|f| File.delete f} # kill old versions...
|
|
156
|
-
system("#{Gem.ruby} -S gem push #{gems[-1]}")
|
|
143
|
+
raise unless system("#{Gem.ruby} -S gem push #{gems[-1]}")
|
|
157
144
|
FileUtils.rm_rf 'pkg'
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
desc 'j -S rake bundle_dependencies create_distro_dir ... (releases with clean cache dir, which we need now)'
|
|
148
|
+
task 'full_release' => [:bundle_dependencies, :create_distro_dir] do # this is :release
|
|
149
|
+
raise unless system("git pull")
|
|
150
|
+
raise unless system("git push origin master")
|
|
151
|
+
Rake::Task["gem_release"].execute
|
|
158
152
|
Rake::Task["zip"].execute
|
|
159
153
|
Rake::Task["deploy"].execute
|
|
160
154
|
system(c = "cp -r ../cache.bak/* vendor/cache")
|
|
161
155
|
system("rm -rf ../cache.bak")
|
|
162
|
-
end
|
|
156
|
+
end
|