sensible-cinema 0.21.9 → 0.21.10
Sign up to get free protection for your applications and to get access to all the features.
- 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
|