50 most recent check-ins

[c9a3f4ef57] Leaf: base library update -> 1.3.3 (user: jesper tags: trunk)
[a9198fe772] Bump revision to 0.9.10. Changes post 0.9.9 left things in a bit of a mess. These have been fixed. (user: jesper tags: trunk)
[4e59d981d7] Require base library 1.3.2. Older versions do not build on Chicken versions earlier than 4.9, and we want to keep 4.8.0 compatibility for now. (user: jesper tags: trunk)
[3049563e2b] Require base library 1.3.1. (user: jesper tags: trunk)
[deb71d4f26] Filter non-printing characters in various locations. The filtering of characters on automatically suggested filenames has been extended to also remove any non-printing characters. Non-printing characters are now also removed in the stream-printer procedure, meaning, for example, that certain (unconverted) UTF-8 strings does not lock xterm. See also ticket [923c8d2413] and commit [ba6543e194]. (user: jesper tags: trunk)
[ba6543e194] Never filter user specified filenames. Previous to this commit, all characters that are problematic in filenames were filtered from all output filenames, regardless of whether they were supplied by the user or automatically suggested by teve. If the user specified a pathed filename, paths too were filtered from any characters not appropriate in a filename. This broke both (some) functionality and is unexpected to the user. Since the automatically suggested filenames are always without a path, filtering these should be without any problems. On the other hand, this commit removes the character filtering from filenames (including those with paths) all together. This means the user is able to, for example, save a video into an NTFS file stream, by specifying a filename containing a colon. This is decidedly better, and even though the underlying Windows functionality might be unexpected to some users, this unexpected behaviour is part of Windows rather than teve. teve is just exposing it, by not protecting users from it. Closing reopened ticket [923c8d2413]. (user: jesper tags: trunk)
[09ebfb650e] Stop doing (use) on iconv. iconv was reported to be missing from the install-eggs makefile target. The egg does, however, not seem to be actually used anywhere in the code. Hence, remove it from the build-system.scm use statement and see whether anything breaks. (user: jesper tags: trunk)
[387218fed9] README fixes (user: jesper tags: trunk)
[3df4e1bc13] fix bad comment. no code change (user: jesper tags: trunk)
[62d4186d21] Add 2015 in standalone license file (user: jesper tags: trunk)
[294b1b14c6] Filter illegal chars from filenames. This relies on a procedures added to the base library in 1.3.0. Future updates should probably handle the presence of illegal characters in a more intelligent way, like replacing them with legal characters of similar typographical meaning. But at least, we're able to strike ticket [923c8d2413] from the todo list. (user: jesper tags: trunk)
[66a12f0907] oops again -- this file was forgotten in [e45101160e] (user: jesper tags: trunk)
[297866bae5] oops, forgot the actual scraper (user: jesper tags: trunk)
[eb753fb835] Initial proof of concept scraper for UR Play. Has lots of bad code, duplication etc. The JSON objects for UR videos are quirky, and handling them in a structured way probably requires quite a lot of code which won't get used anywhere else anyway. Streams are available in several formats, more or less stored in separate variables (rather than arrays or similar): RTMP HLS HDS RTMP_HD HLS_HD HDS_HD RTMP_HARDCODED_SUBS HLS_HARDCODED_SUBS HDS_HARDCODED_SUBS RTMP_HD_HARDCODED_SUBS HLS_HD_HARDCODED_SUBS HDS_HD_HARDCODED_SUBS Caveats: * RTMP is currently not downloadable, since some parameters are not yet scraped or put together incorrectly. * With my current FFmpeg, the HLS h264 streams cannot be copied into any containers out of those I've tried (mp4, avi, mkv, flv, ts). As a workaround, the video stream is re-encoded (with -qscale 0) to h264. * Downloading HDS streams is not tested. (Using ffmpeg version git-N-66511-g849f553, from 20150107 (?)) The error is: [mp4 @ 0x182cf528a000] Invalid DTS: 7200 PTS: 3600 in output stream 0:0 [mp4 @ 0x182cf528a000] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 3600 >= NOPTS av_interleaved_write_frame(): Invalid argument (user: jesper tags: trunk)
[7d1c54a271] crude and ugly way of getting just parameters from apple HLS playlists. The old way of processing these playlists is incredibly fragile. The new way is somewhat better, in that it actually checks the whole playlist for parameter values (var=val pairs). (user: jesper tags: trunk)
[6aca559733] remove blank lines. no code change (user: jesper tags: trunk)
[31caa2f29b] Don't dump on running a RTMPdump download without swf-path (user: jesper tags: trunk)
[9af7e4a951] Use prefixed import instead of hardcoded prefixes for exported procedures in scrapers. (user: jesper tags: trunk)
[4f684e1e70] rename procedures to reflect that scrapers return a list of streams. (user: jesper tags: trunk)
[c4988e9186] Repair what was broken in commit [e45101160e]. Between the in-tree scheme-prelude and the new scheme-base, the procedure sxml-ref was renamed to sxml-ref/cdr and sxml-ref/proper was renamed to sxml-ref. The commit [e45101160e] accidentally changed the one usage of sxml-ref/proper in tv4.scm to sxml-ref/cdr, breaking the scraper. (user: jesper tags: trunk)
[46380efb41] Add another copyright year to some files it was forgotten for. (user: jesper tags: trunk)
[36584ffdf9] Simplify uri->videos/scraper interface. Scrapers now return lists of streams, not lists of videos. Every stream has a video-id property, which uri->videos use to sort the individual streams into videos. This enables streams from multiple scrapers to end up in the same video (provided the scrapers tag them with a correct video-id). This resolves [03c02639de]. Also, change sxml-ref to sxml-ref/cdr in sites/tv4.scm, as this change corresponds to the changes in procedure naming done between scheme-prelude and scheme-base. (user: jesper tags: trunk)
[54bc0ca952] Use "apply append", not "video-join". We're not handling videos here, but lists of streams. (user: jesper tags: trunk)
[6a31e63359] Reenable delete-duplicate wrap of list of streams. Forgot to reenable this after finishing [620fa6d344]. (user: jesper tags: trunk)
[620fa6d344] Combine streams of the same video, but from different scrapers. Each scraper is called with each uri, returning one or more videos. Previous to this commit, this caused uris correctly handled by several scrapers to result in one video per scraper, all being for the same actual video. This commit changes the scraper output handling, such that all streams are put in one big list, irregardless of whether they contain the same video or not. Then, they are separated into videos based on the video-id stream data. The interface between uri->videos and the individual scrapers is now unnecessarily complex. Scrapers should return a list of streams, which are NOT separated into videos. This will reduce complexity on both sides. Even though that is so, this commit resolves [312fa11f1c]. (user: jesper tags: trunk)
[7e273957df] youtube-dl uses 3.3.0 for hdcore, so we follow their lead. (user: jesper tags: trunk)
[339d876ae1] Add -n option, forbidding use of external scrapers (like youtube-dl) (user: jesper tags: trunk)
[12010dacef] fix comment. no code change (user: jesper tags: trunk)
[9462867e01] use 0.9.9 as an intermediary version until 1.0.0 is tagged and released. (user: jesper tags: trunk)
[c58ac46c83] Fix XXX introduced yesterday in commit [221cfdbff2]. While implementing ticket [309e5668ff], a solution compact enough to not warrant adding syntax was found. That ticket should now be closed. (user: jesper tags: trunk)
[221cfdbff2] Hotfix: Don't dump trace on SVT Play streams without width or bitrate. These streams are created through youtube-dl. There's an XXX-marked kludge here, which should be refined with syntax. (user: jesper tags: trunk)
[e45101160e] Migrate to base library. Currently, the base library has to be downloaded separately. It is available from https://chiselapp.com/user/jesper/repository/scheme-base/. The base library should be placed inside the teve source directory, such that the base.scm file is found in the following location: teve/teve.scm teve/... teve/base/base.scm teve/base/... It is possible to clone the scheme-base repo inside a teve repo: $ cd teve $ mkdir base $ cd base $ fossil open --nested ../../scheme-base.fossil Just remember that a nested repo IS NOT a git submodule. You will have to keep both repos up-to-date manually, though teve should throw an error if the base library is to old to be compatible. (user: jesper tags: trunk)
[83995317b9] Stop Makefile from trying to add Git revision to tarball name. Actually, just use a static name for the tarball. It's pointless. (user: jesper tags: trunk)
[cd92bf2b99] Add configuration lambda to repl (user: jesper tags: trunk)
[b717c19aab] sync AdobeHDS.php with upstream (user: jesper tags: trunk)
[19f165d4ed] Remove XXX comment about unimplemented stuff that was implemented. Redirection of stderr to NULL is now not hardcoded, but handled by the platform module. The youtube-dl module checks the *cfg* path to youtube-dl itself with program-available? before doing anything. (user: jesper tags: trunk)
[03f5eba831] no git, no submodules, shorter README. win/win. until it's ported to scheme-base. (user: jesper tags: trunk)
[e50adb32f1] no more git (user: jesper tags: trunk)
[9a8f99c433] fix last (user: jesper@huggpunkt.org tags: trunk)
[f64b1c3360] add friendly reminder that git submodules exist (user: jesper@huggpunkt.org tags: trunk)
[1c6d550063] Accept youtube-dl JSON for videos with exactly one variant. The structure of the JSON data differens between one-stream and many-streams videos. Parse one-stream JSON instead of dumping trace. (user: jesper@huggpunkt.org tags: trunk)
[6e4445f1b2] Add 2014 at copyright statements for files changed this year (user: jesper@huggpunkt.org tags: trunk)
[7a4148dba3] Use youtube-dl if present. Resolves #45 (user: jesper@huggpunkt.org tags: trunk)
[b8ba67d4f5] Some basic documentation of how "channels" work. Resolves #44 (user: jesper@huggpunkt.org tags: trunk)
[213653fe6f] Scrape SVT video titles and use in filename suggestion Simplify and copy suggest-filename to svt.scm from tv4.scm. Two things should be noticed with this change: 1. SVT doesn't really specify the TV program title in the JSON data that we're scraping, but just the title of the specific episode. For that reason, suggested filenames (and video titles) might sometimes be a bit cryptic. 2. Suggested filenames aren't checked for characters illegal or inappropriate in filenames, such as "/". This commit does, however, resolve #30. (user: jesper@huggpunkt.org tags: trunk)
[aab25a4fe5] Set "ideal" stream for auto-selection to 1080p with reasonable quality. (user: jesper@huggpunkt.org tags: trunk)
[a904669367] Sync README with reality + whitespace (user: jesper@huggpunkt.org tags: trunk)
[da64c0ff88] Nitpick on comment. No code change. (user: jesper@huggpunkt.org tags: trunk)
[63ab2eaf4a] Use (stderr) rather than (print) for usage (user: jesper@huggpunkt.org tags: trunk)
[826b550d10] Print program version in (usage) and if supplied with -V param. (user: jesper@huggpunkt.org tags: trunk)