== 0.28.0 == Includes vendored support (experimental) for EDL playback via VLC via its internal libVLC control API includes parsing of srt files to detect subtitle profanity time, merging of EDL with other EDL, subtitle preferences, etc. And a GUI for editing etc. pulled from http://code.google.com/p/movie-content-editor, has its own license/owner/responsibility. "VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVD, Audio CD, VCD, and various streaming protocols." So I suppose you can say we merge/join with that and its playback/scripting/EDL playback ability now. Also had the idea of applying edit lists to streaming content like media/audio (ex: OCR iTunes to mute etc., possibly automatically detecting playback content via strings, OCR, or being able to specify it play file x at time y, etc., as one can do with VLC). Also note that VLC can playback from a playlist to mix different types of media (audio/video, differing sources, etc.). VLC also contains several other side-projects too, so I suppose you can say our code mixes well with theirs for those as well. This may also bind us to a license as well, I'm not sure. == 0.27.0 == Added support for Microsoft DVD Player style playback codes. This one uses the built in DVD player interface, which is typically licensed, and also performs quite well. It also respects UOP's et al. It involves interaction back and forth to control playback/monitor. == 0.26.3 == Make it so that it can modify timestamps from .srt files programmatically in order to ensure that time signatures match whichever player you're using now. Includes a means of coordinating across different time signatures based on start time and length. Had a git commit with an example pure JSON EDL, and several other mixed/mplayer compatible styles. NB that sensible cinema can use a directshow capture device and pin it to the location of a given window to be able to stream/upconvert. NB that we have an optimized routine for taking screen captures so as to not use up as much cpu by sampling/doing them less frequently et all. Also includes work toward a directshow DVD player employing its API's (in separate project) for playback/skipping/muting/pausing et al. and basically progammatic control of a playing back DVD player. example EDL with a tenseness metric by level example EDL with a tenseness metric by age commits == 0.26.2 == Fix license acceptance code (quick redeploy). == 0.26.1 == Cleaned up the upconvert interface, added a way for easier comparison of different upconversion settings (automated-ly-zy). Note that we also use a simplified (for editing) EDL file format for easier human consumption, including use of timestamps. Note also that you can screen capture a playing video using my other project to project it "edited" to some device. Also you can capture the audio and "manipulate it" using my other project. Add some EDL's == 0.26.0 == It can now parse out (screen scraping from web page), at runtime, EDL information from a user editable online 3rd party wiki (imdb parent guide), including property timestamp conversions and making it easy to read, etc., and doing all the various sections to an appropriate category. So it binds the DVD's unique ID with its imdb database. Note that Sensible Cinema can convert timestamps back and forth, using the command line, to convert its own EDL's into a format that is copy and pastable into a wiki page on IMDB. (30 to 29.97 fps) Note also that it could just as easily parse from a wiki, parse out timestamps, including +- descriptions, and save that away to be distributable by the program at compile time, as well. Note also that it is basically almost a "universal" player at this point, because it has been made to work with demos of already several various online/local program playing video players. Including software blu-ray players etc. Note that it already demo'ed being able to have "user customizable" volume level for muted sections (i.e. not mute it all the way, if desired) Also included "leveling" (if above x level, then allow or the like) demo'ed. Note also that it can be used by hooking to a projector or from computer -> tv so we have this unofficially in the living room or across several devices or the like. Note that the various video screenshots recorded imply that one would be able to readily stream sensible cinema via screenshot capture to any device ready to receive it. See also coupling it with [1] and [2]. [1] https://github.com/rdp/virtual-audio-capture-grabber-device [2] https://github.com/rdp/screen-capture-recorder-program == 0.25.5== Cleaned up upconverting options to hopefully cause less confusion. Until somebody complains otherwise. Also note the existence of these files and their implication: ...\sensible-cinema>ls legal control_youtube.html md5s.txt serve.rb transcript_mute_vlc.txt == 0.25.4 == Also note experimented with diferent frequencies of mouse jitter at one point, to preserve that the timestamp be available on screen, and also it avoids annoying the user with mouse jerks when the user has been moving it, and several other advanced features. Add a mode for "skipping" when using OCR overlayer (mute and blank, basically). == 0.25.3 == Mostly explore some more "inventionzy" ideas. Add abiliy to filter whole categories of content (allow/disallow them), or levels of content, based on user perceived level/user desired, including opposite. Note also that we have successfully discovered how to integrate with playing through peoples' portable playing devices/consoles (windows media center--use plugins, XBMC, use its EDL's, ps3ms, use EDL's), see mailing list. Also a lot of work has been done on upconverting screen capture, which can also similarly be applied to edited movie content, with DVD and/or/ blu-ray and/or online based streaming media. Also we have fairly sophisticated algorithms for determining the correct time to actually do or trust the OCR readout, ex: checking for screen change frequently before doing any actual digit detection, using third party OCR software reader software, checking to coordinate timestamp signatures when "09" goes to "10" or the like. To help the timing needs there. Also we can detect arbitrary players, and warn when detect fails/ceases, and detect when it pauses but doesn't fail, et al. See also more comments below, etc. Also sensible cinema has been shown to work with 3rd party "subtitle detection" software, run that against the film, and it works splendidly. There has also been some experimentation with leveraging 3rd party (read: Microsoft) DVD player software/API's/internals in order to effect an appropriate EDL playback, with and without messages being sent back and forth between the two programs. We've also experimented with capturing virtual audio (audio out), as well as combining it with virtual camera (desktop screen shot capture), in order to be able to beam out what is playing on the computer to available devices. This also could be made to work for edited content output, ex: netflix instant and since it can select the exact coordinates it needs, it could thus be made to avoid the timestamp signature while still being able to keep it on-screen to OCR while the content edited movie is playing. Also I have experimented slightly with keeping parts of a window "off screen" but still being able to OCR them (windows 7 aero allows this). There is also lots of subtitle comparison helpers, etc., and edited movie segment "checking EDL settings" helpers that have been integrated along the way, like a good ol' editing movie software might do. We leverage all sorts of nifty things like bringing windows to the top, internal audio api's, all the good stuff. Since we integrate with VLC, we already have edited blu-ray playback implicitly, by playing them back through slysoft hd-dvd. Also the python "movie content editor" has EDL support for VLC natively, so that means blu-ray explicit EDL playback support. Note also that I recently showed demos of how an edited player can jump around/skip to scenes within a movie, not just playback linear "skipping" content. We have many timing conversion utility helpers (see source for details). Also have ability to auto-generate EDL files based on current DVD et al., and use DVD ID generator software, basically from Microsoft, to auto-recognize inserted DVD's. Also note that there was a case recently demoing a new style of skipping: it pauses, then the user basically fast forwards or "skips it forward" themself, thus jumping over the questionable scenes. Also note that mine currently allows for "unlimited" levels of detail/categorization of media, it can parse it all, and even use it in a limited manner. Note that we can also copy to the clipboard == 0.25.2 == It tracks better now if the current OCR tracked player is paused, reverting back to its current timestamp. Added ability to "auto-select" based on the url of currently open browsers, the right EDL. Added ability to "auto-download" an EDL based on the current movie playing in the browser. Video also shows retraining when window changes. Added ability to "auto-select" player based on what is running, browser windows up, crossed with movies running. Added the above, without file download (earlier commit could do them both however). Note that this also means that it can scan over several player descriptions to "pick the right one" automatically. Added a demo of VLC doing "transparent" and "opaque" overlays on another running image, based on timing. NB That I already have shown a demo of adjusting volume and/or overlaying new audio on top of existing media (a la rifftrax) previously. Added demo of merging two video clips, with or without opacity/user configurable locations/dynamic ok too. Added some demo commits showing how it could assign new/improved/user configurable/ ratings to EDL's and/or pieces of them. Added ability to have one EDL "refer" to another..allowing multiple DVD's/dvd-id's to re-utilize the same EDL, and even add more settings of their own, if desired. == 0.25.1 == Added ability to dynamically "find" which window contained the playing movie, and capture it, from desktop, for upscaling or capturing. added ability to "minimize" and "unminimize" a movie player window in order to "simulate" blanking. possible speedup for slower systems without upconversion == 0.25.0 == Created my own directshow screen capture filter to go along with netflix instant upconvert, easier configurable, controllable at all LOL. https://rdp:githubrox@github.com/rdp/open-source-directshow-screen-capture-filter.git Version bumped some dependencies. I can adjust programmatically where the window is "grabbed" from, and also already have code in the base to find the correct hwnd, so could theoretically look up its coords and thus automatically it adjust to find the right window in (hulu, netflix instant, etc), since I already have programmed players for the same. == 0.24.9 == Fix so that mplayer can display subtitles again in advanced mode. Hopefully only in advanced mode :) NB that already mplayer2 can pull in from multiple source locations for its new EDL format: http://lists.mplayer2.org/pipermail/mplayer2-git/2011-April/000068.html Added experimental support for upconverting {youtube, netflix instant, whatever}, complete with demo video even. It tracks exact screen coordinates (if entered manually), and upconverts through a way of a 3rd party upconverter, to another 3rd party player. With variable settings for upconversion. Added support for using volume keys to "mute" or "partial" mute (equivalent of hitting down volume key on keyboard) of any 3rd party application. With video. Note also that the previous video of how to overlay "static" for muting is also a demonstration of how to overlay any arbitrary audio file over any video file/player, at a given time (example: scene-based audio overlays, fan edit comment tracks, etc.) similar to RiffTrax. == 0.24.8 == Fix some bugs in upconverting playback, cleanup UI. == 0.24.7 == Tweak upconvert for when it has nothing set, and to not show subtitles. Tooltip down down from infinity. == 0.24.6 == Make it so it can load VIDEO_TS style directories, too. Make it work better on slow machines. Tweak upconvert. == 0.24.5 == Fix some options for advanced mode so that it can playback files better. Tweak upconvert to make it a bit more user friendly. == 0.24.4 == Note that previous releases had the ability to "invert" skipping scenes, by specifically listing only the scenes *to* play, not the scenes *not* to play, as others may have done. Created demo of it playing back static instead of muting (to overlay). That's an extra audio file over the top of the original, while still playing (ex: rifftrax), to "fake" a mute section. Add an option for the upconverter to vary "strength" of screen size. A few more demo videos. == 0.24.3 == Distribution cleanups polish up UI. == 0.24.2 == In some recent version or other, added ability to start EDL's from an offset (example: your video says it starts at 600s, it will add 600s to each EDL setting) can auto-paste to clipboard auto-full screen now by default for playback In some recent revision, added ability to set upconvert options, use them for any playbacks. Separates subtitles into "known profanities" and then "lesser" now. It now has ability to "pre-tune" the OCR tracker with known images representing digits from known players. Like "training" it. Added video showing how the OCR tracker can use tracking+file selection+inline "send the window commands" through its UI in order to minimize, which simulates or is equivalent to blanking a section, but in realtime, causes no interruption. Added a demonstration of using youtube javascript api's to control/monitor playback time and react appropriately. It even mutes and skips appropriately. See demo (must be run from a web server to work). can_mute_youtube.avi Added a demonstration of using "static overlay" as a form of muting. Basically, play some static so that it obscures the current audio, instead of muting it. Actually works, though oddly. Subtitles now are split into "bad" profanities and "mild" profanities for easier parsing. Can use multiple threads to speedup playback. Slight speedup for mpeg2. Thanks mplayer guys! == 0.24.1 == A few more profanities/subtitle tweaks. Now can optionally "adjust" the auto-generated mutes from subtitles based on time differences from the file versus from the movie file itself. Some minor upconverting tweaks == 0.24.0 == Now comes with an upconverting software player to play back DVD's/files. This can used advanced deblocking, or hq denois3d, or lancosz filter, etc. Uses much better mplayer options for slow computers now. Added EDL for IQ. Added ability to "offset" timestamps by a set factor (ex: 600s). A few profanities added to the subtitler. Much more compatible with mac. Prompts users to assert they own disks for files they watch. Added new button "watch file edited" Now uses smplayer as the default player. Can differentiate cross platform to decide which player to use. Relies on mplayerx for mac now. Other minor cleanups. == 0.23.6 == Added capability/functionality to create files used in other players to automatically cut out bad scenes. It now converts from one EDL format (ours) to another (mplayer), and saves it away as filename.mpg -> filename.edl Now other players, like Windows Media Center, can playback files edited. Just use a plugin like mymovies, instruct it to use smplayer as the default file player, create these .edl files, and voila, realtime playback within a high quality media collection manager, on the fly, without much modification necessary. Note also that work has been to convert across a wide variety of EDL formats: https://gist.github.com/52f5c6386fc67e9e6b6b See also the history_and_related_works_list.txt file for a long list of related, previously existing works, to get the full list to there. == 0.23.5 == Cleanup some terminology/minor bug fix/usability fixes. == 0.23.4 == Can process by filename now if no DVD is inserted (warns and asserts they must own it, then uses it). It also memorizes directory names auto-magically according to source line location. This one was quickly superceded by 0.23.5 to accomodate for some fatal bug. == 0.23.3 == Revamp look of the create mode, add some buttons, revamp some docu. == 0.23.{1,2} == It now *requires* outside files as file input, instead of just raw DVD's ever. Also fixed up some unit tests. == 0.23.0 == OS X compatibility. Though not heavily used it might work. Subtitle parser/scanner: now it can scan for "complete" and "incomplete" words (e.g. hello is no longer considered a profanity) even if they complete words are at the end of lines, middle, beginning, or the entire line. With unit tests. Added a "play unedited with smplayer/mplayer" buttons that work better now. These are useful for double checking the timestamps of subtitle files for accuracy. == 0.22.1 == Test release for automated sourceforge build system == 0.22.0 == Full release. No real changes, just made it able to be distributed again [+ bundles its own ffmpeg instead of requiring an imagemagick installation] == 0.21.10 == [gem only release] The (offline) subtitle parser now generates descriptions better (to look for false positives), and accepts parameters more easily on the command line (examle, if you want to exclude "Thor" then its ruby lib\subtitle_profanity_finder.rb filename.srt Thor t....) Note that I obscure profanities within the code to a "euphemized" version for human use. Note that VLC has had a "subtitle filter" capability for awhile: https://forum.videolan.org/viewtopic.php?f=7&t=90847 Note that VLC can "upconvert" [ex: DVD's] so I guess that means since we support it, we support upconverting players. Tons of notes on how to use (or not use) various players/grabbers. == 0.21.9 == [gem only release] Add profanity subtitle auto-parser-generator, which can parse .srt's, extract timestamps, look for profanity. also make it "optional" for specific profanities. (offline analyzer, doesn't include auto-OCR or what not) This was inspired by the python program, and also an email'ed program to me that did this in C# with XBMC/mplayer EDL syntax. Also it has optional profanities. Note well that avidemux can extract subtitles from tracks (example: from DVD) through training it on character recognition (trainable), and parses it out for you appropriately. It's a separate, unrelated open source project. Note also that VLC and other players can overlay arbitrary .srt subtitles over movies, and also they can display DVD subtitles correctly. See also the python movie content editor. Also note that several programs can just use normal OCR to extract .srt's from subtitle overlays/tracks. Demo of auto-adjusted time signature, to map for instance a timestamps to another player, or what not. Also some cross platform capabilities. == 0.21.9 == (released same day as 0.21.8 to try to clarify quickly) Added some lists of previously existing work. Clarified licenses and agreement. Note also that zoomplayer has an (unrelated) "cut scene" editor, and anydvd has "dynamic DVD re-write" == 0.21.8 == Added demo/prototype of being able to automatically adjust timestamps, given an input one, to match say other players' location of that timestamp. Note also that we have done tons of previous functionality related to selecting DVD title tracks appropriately. Note also that since basically the original the online player has ability to not just skip scenes but "overlay" them so that they are not seen, and/or mute them. Note also that SPlayer has the ability to use a DVD to lookup its information/subtitles, which is an interesting invention. == 0.21.7 == Basically just added some demos codes/inventionzy stuff. NB that sensible cinema can mute by muting system volume/adjusting it [the unmute actually uses adjustment]: http://www.youtube.com/watch?v=8cUV8DKLOK8 or by using keystrokes sent directly to the application to mute it via the application: http://www.youtube.com/watch?v=0AsJtVyVMzk (and has been able to do this for quite some time) Note also that many other forms of automation techniques have already existed (ex: autoit, etc.) Note also that this other, separate project http://code.google.com/p/movie-content-editor/ can autodownload captions based on some unique identifier of the video (a hash, which also apparently works with DVD's), parse the downloaded captions, and use that information [see below] to call straight into a controlled sub-player's API to then monitor and control the player. Note that sensible-cinema can convert among various types of EDL playbacks, as well. Note also that mplayer has a sort of EDL training mode, with realtime tracking and input to create EDL's easily, using user keyboard input in realtime. Note also that our EDL's can include URL's, ex: the youtube url in question, or netflix url. Note also that since we can control VLC (via screen tracking, or API such as http://code.google.com/p/movie-content-editor/ ) which means that our system works for blu rays, as well, inasmuch as VLC +- handbrake plays blu ray http://www.videolan.org/developers/libbluray.html It could also track blu-ray players like PowerDVD, so check there. Also note that dvd profiler has been able to auto-download based on DVD title for quite awhile, since 1999 http://www.afterdawn.com/news/article.cfm/1999/07/14/dvd_profiler_open_beta_available Note also some original content ideas here: http://betterlogic.com/roger/2009/02/user-contributed-movie-scene-selection-or-past-clearplay/ and http://programming-gone-awry.blogspot.com/2009/12/beyond-clearplay.html Note also that gracenote CDDB has been able to do remote lookups based on metrics and/or title of optical discs for years. Note also that Sensible Cinema has for several releases been able to auto-adjust timing info based on player. Note also that we have a unit test that can control mouse position, and monitor it for changes, and use this information to control our own mouse control, so it uses it like feedback, ex: less frequent jerking at times. So we can also jerk less frequently in certain given circumstances. Note that I have heard tell of an edited movie service that streams "edited content" through the web to an end listener. == 0.21.6 == Can work on windows 7 64 bit now added ability to control whether needs mouse movement or not [control mouse movement] brought back in youtube EDL's added new feature to actually manipulate the mouse to control the playback controls of the internal (embedded player), so it's like automaton controlling video playback. demo of all: http://www.youtube.com/watch?v=gJ4jFCFPan0 == 0.21.6 == Note that this other project http://code.google.com/p/movie-content-editor/ previously existed and has capability to take a list of subtitles (captions) for a VLC compatible device (file, DVD) and control VLC to mute or skip over scenes. It can have a user-configurable list of "words to avoid." It can also take the caption avoidable scene list, and merge that one with a user given list, to come up with a "final" skip/mute list. Note also that comskip: http://www.kaashoek.com/comskip Analyzes video for certain aspects and auto-skips scenes based on computerized criteria, it also includes machine learning for that regard. == 0.21.5 == Minor verbiage/instructions. == 0.21.4 == Added some todo, re-ordered some buttons to make more user friendly et al. Also note that some other projects, like http://universalsubtitles.org/ are related and exist and use web players' javascript API hooks into players in order to track playback and insert dynamic overlays, and use their internal volume control, all based on timestamp or inferred timestamp. +- https://github.com/8planes/mirosubs == 0.21.3 == Fix installation mistake. Add a "netflix instant" descriptor. Seems to work well on firefox on windows. Note also that anything you can view on your computer you can view precisely the same, and with audio, by capturing and "beaming" the screen (like playon.tv does) to your console or to another computer. See also VLC, which can stream arbitrary streams, including the current system screen, and the current system sound, if you pass it the right directshow parameters. You could also use a projector to project anything you see on your computer. Note also that with the previous code (screen tracker), it already had the capability to do "mutes" and "blank out overlays" simultaneously, for quite a few releases now. == 0.21.2 == Make fast preview faster, some minor cleanups. == 0.21.1 == Set lower priority for processes better. == 0.20.5 == Now allow for editing using EDL mode only. Also lower the priority for [most] processes during create time. == 0.20.3 == Minor aesthetics, also it works now with mplayer EDL mode. == 0.20.0 == Add a "fast preview" option which makes editing...faster. Also it incorporates the "arbitrary precision" around settings. == 0.19.7 == Slightly more user friendly error handling. == 0.19.6 == Update terminology to make it more clear what can play what when it's done. == 0.19.5 == Some notes, deploy methods. == 0.19.4 == Now you can specify an arbitrary "precision" around mute settings to make them more conservative or not. Add audio alert. Fix broken button. == 0.19.3 == Hopefully work with audio from more DVD's now. == 0.19.2 == More user friendliness. == 0.19.1 == Clarify buttons' meanings, layout (add one), fix some bugs in create mode, like it not re-loading edited files. Can optionally watch unedited. == 0.19.0 == Add working EDL playback with mplayer, cleanup interfaces. Also add ability to arbitrarily "enlargen" the scope of edit decisions (in this case, mutes), to match (either paranoia or) mplayer playback, useful for daily normal use, too, in principle. == 0.18.3 == Cleanup UI, make more user friendly in a few circumstances, for create, fix buttons. == 0.18.0 == Add some home video EDL's, clarify the license(s), use a slightly better video codec, minor bug fixes/refactoring. == 0.17.0 == Grab using a different codec (wish I could grab to the *same* codec) Also note that, though Sensible Cinema doesn't do this yet (ping me if you want it), RiffTrax provides players, capability, and files to be able to "overlay" a video with another person's voice/audio. == 0.16.7 == Accomodate for disks that have scratches in them better. == 0.16.5 == Enable "preferences merging" of user preferences with an edit decision list to come up with a new edit decision list for them. The prototypes are there, though it's not enabled. == 0.16.0 == Change the YAML style so that it can have filterable categories (disabled for now in production, but there are unit tests that show the use of such as a form of "combining user preferences" with the EDL to produce a new customized one. Allow for quite more easily user creation/editing of EDL's by allowing users to access just specific "scenes" of the video edited. Disable title auto selection use, now use md5sum of the DVD's IFO files for auto-selection of EDL. == 0.15.0 == Use all i-frames for more accurate precision in cutting segments. Also use ffmpeg and mencoder for the same (no more VLC for encoding). Phew. Note that by at least this version, auto DVD title selection as a parameter has been built in (see git log). Note that by at least this version, it could compute an md5sum of a DVD's IFO files to compute a unique ID for that disk. Note that before this, I was using the volume name to generate filenames. Note that several (even more) revisions ago, I used on screen timestamp OCR and thus tracking to be able to control output of hulu, youtube, etc. (online displayable programs). == 0.14.8 == Fix some copying bugs. == 0.14.6 == Auto-select EDL depending on which disk they have. == 0.14.5 == Made it distributable more easily. == 0.14.4 == Add a progress bar. == 0.14.{2,3} == Minor changes. == 0.14.1 == Add ChangeLog (this file). == 0.14.0 == Now it offers you a button to either play it on your computer, using VLC, or rip it to a file (possibly write that to some other media, then play it say on your DVD player), or play it using screen tracking. == From various previous releases == It now provides for screen tracking of DVD's, youtube, hulu, and anything else you want to play on VLC, and has automatic detection of CD-Drives for ripping/playing back. It can handle full screen or windowed playback. It can rip from user specified "title tracks" now. It has a nice GUI. The GUI can tell you which DVD is in which drive so you know more easily which one to choose. When screen tracking, it employs a "mouse moving" (feedback to computer) in order to keep the screen timestamp visible. It allows for both "instant playback" watching a DVD, as well as "ripping a stream to a single file on your computer" in order to view it from there (which is arguably easier to view). The single file can be put on a flash drive and played via some console or other player, or can be copied to a disc and played in a DVD/blu-ray player. When screen tracking, it uses input to the system (simulated keystrokes) to simulate a user "mute" It overlays the playing screen (movie) with a separate window in order to simulate a "blank out" or "skip this scene" which can be used with or without the mutes, as well. Note that previous releases had this functionality: VLC could "grab" the various sections from a DVD, one at a time, and either play them back in sequence [serially], or save all of them, appending to a single final "file", using either a batch file to accomplish the same, or an XSPF playlist that designated the start and stop times and fed that into the player.