bassberry
fd5f5611f6
[tiktok] extract subtitles and all cover types ( #8805 )
...
* Make sure that `img_id`, `audio_id` and `cover_id` fields are always available.
The values are set '' where they are not applicable.
Having `img_id` is necessary for the default `archive_fmt`, the other fields are handled for consistency.
* Allow downloading more than one cover.
The previous behavior is kept as-is, but setting the "covers" option to "all" now grabs all available covers.
* Add support for downloading subtitles
Allows filtering subtitles by source type (ASR, MT) and language.
* Ensure archive uniqueness for covers and subtitles.
* Update the URL test pattern to include the `image` extension.
Although Tiktok may serve the covers with jpeg content, the file ending can be `.image`.
The test before 0c14b164 failed because the asserted URL did not match all cover types, but the now used pattern needs the mentioned file ending.
* Add support for "creator_caption" subtitles in "LC" format.
These subtitles have the keys "Format" set to "creator_caption" and "Source" to "LC".
* Add "LC" (Local Captions) as a subtitle source type in the documentation
* Code deduplication and renaming subtitle metadata
Changed the item type from singular `subtitle` to `subtitles`.
Removed the wrong descriptor `cover` from the subtitles fallback title.
* Refactor subtitle filtering
The filter is now prepared in `_init` to prevent parsing the same config parameter for every item.
The `_extract_subtitles` function will still extract if either filter (source or language) matches.
* Generate a `file_id` for subtitles
Subtitles have multiple fields that determine the unique file, so these are simply concatenated.
This is similar to the cover types, only with more variations.
* Added tests for subtitles
* fix docs entries
* fix '"covers": "all"'
* simplify some code
* Fix fallback title for subtitles
Added the missing "f" to the f-string and added "subtitle" to the title.
The resulting title will look like "TikTok video subtitle #1234567 "
2026-01-30 21:01:06 +01:00
..
2026-01-27 18:26:41 +01:00
2025-12-22 11:26:04 +01:00
2025-12-05 21:39:52 +01:00
2026-01-19 11:19:35 +01:00
2023-09-11 16:30:55 +02:00
2025-12-05 21:39:52 +01:00
2025-12-05 21:39:52 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:37 +01:00
2025-12-05 21:39:52 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:37 +01:00
2025-10-17 17:43:06 +02:00
2025-12-20 22:07:37 +01:00
2026-01-10 18:08:13 +01:00
2026-01-19 11:19:35 +01:00
2025-12-22 11:26:04 +01:00
2025-06-29 17:50:19 +02:00
2025-12-22 11:26:04 +01:00
2026-01-19 11:19:35 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:44 +01:00
2025-12-20 22:07:37 +01:00
2025-12-05 21:39:52 +01:00
2026-01-07 19:23:54 +01:00
2026-01-10 19:27:34 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-12-05 21:39:52 +01:00
2025-12-22 11:26:04 +01:00
2026-01-11 22:17:36 +01:00
2026-01-01 15:53:07 +01:00
2025-12-05 21:39:52 +01:00
2025-12-05 21:39:52 +01:00
2026-01-16 09:33:55 +01:00
2026-01-19 11:19:35 +01:00
2026-01-29 18:53:08 +01:00
2025-12-14 17:59:56 +01:00
2025-12-22 11:26:04 +01:00
2025-10-17 17:43:06 +02:00
2026-01-25 11:15:30 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2026-01-03 10:31:48 +01:00
2025-12-22 11:26:04 +01:00
2026-01-03 13:19:20 +01:00
2025-12-20 22:07:37 +01:00
2026-01-19 11:19:35 +01:00
2025-12-05 21:39:52 +01:00
2026-01-30 07:58:14 +01:00
2025-12-20 22:07:37 +01:00
2026-01-03 10:31:48 +01:00
2025-11-20 18:03:54 +01:00
2026-01-27 11:13:14 +01:00
2025-12-20 22:07:37 +01:00
2026-01-28 19:37:40 +01:00
2025-12-22 11:34:21 +01:00
2026-01-04 16:54:21 +01:00
2025-12-25 20:25:47 +01:00
2025-12-05 21:39:52 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:44 +01:00
2025-12-20 22:07:44 +01:00
2025-12-22 11:26:04 +01:00
2025-12-22 11:26:04 +01:00
2025-12-20 22:07:37 +01:00
2026-01-09 18:02:10 +01:00
2025-12-20 22:07:37 +01:00
2025-06-29 17:50:19 +02:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-12-05 21:39:52 +01:00
2025-12-22 11:26:04 +01:00
2025-12-20 22:07:37 +01:00
2025-12-11 17:28:02 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:44 +01:00
2025-10-20 17:44:58 +02:00
2025-12-20 22:07:37 +01:00
2026-01-25 10:10:37 +01:00
2025-10-19 21:52:05 +02:00
2025-10-20 17:44:58 +02:00
2026-01-22 17:36:44 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2026-01-19 11:19:35 +01:00
2025-12-20 22:07:37 +01:00
2026-01-19 11:19:35 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2026-01-09 15:37:57 +01:00
2025-12-22 11:26:04 +01:00
2025-12-05 21:39:52 +01:00
2025-12-22 11:26:04 +01:00
2025-10-17 17:43:06 +02:00
2025-12-22 11:26:04 +01:00
2026-01-28 10:40:22 +01:00
2025-12-20 22:07:37 +01:00
2026-01-01 09:54:07 +01:00
2025-10-20 09:30:05 +02:00
2025-12-22 11:26:04 +01:00
2025-12-05 21:39:52 +01:00
2025-12-22 11:26:04 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2026-01-23 20:58:34 +01:00
2025-12-05 21:39:52 +01:00
2026-01-26 10:00:32 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:37 +01:00
2026-01-06 21:52:58 +01:00
2025-12-22 11:26:04 +01:00
2025-12-20 22:07:37 +01:00
2025-12-05 21:39:52 +01:00
2025-12-05 21:39:52 +01:00
2026-01-27 18:26:41 +01:00
2025-12-05 21:39:52 +01:00
2026-01-04 16:51:31 +01:00
2026-01-10 18:08:13 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2026-01-03 10:31:48 +01:00
2026-01-23 09:16:58 +01:00
2025-12-20 22:07:37 +01:00
2026-01-25 19:49:56 +01:00
2025-12-22 11:26:04 +01:00
2025-12-31 11:06:08 +01:00
2026-01-04 16:51:31 +01:00
2025-10-20 17:44:58 +02:00
2025-12-22 11:26:04 +01:00
2026-01-27 10:03:33 +01:00
2026-01-25 18:32:17 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:37 +01:00
2025-12-07 17:13:25 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2026-01-13 09:23:00 +01:00
2025-12-20 22:07:44 +01:00
2025-12-05 21:39:52 +01:00
2025-12-22 11:26:04 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2026-01-19 11:19:35 +01:00
2025-07-22 20:57:54 +02:00
2025-12-22 11:26:04 +01:00
2026-01-21 20:32:58 +01:00
2025-12-07 17:13:25 +01:00
2025-12-05 21:39:52 +01:00
2025-06-29 17:50:19 +02:00
2025-12-20 22:07:37 +01:00
2025-12-07 17:13:44 +01:00
2025-11-19 15:49:13 +01:00
2025-12-22 11:26:04 +01:00
2026-01-19 11:19:35 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2025-12-20 22:07:37 +01:00
2025-12-05 21:39:52 +01:00
2025-12-16 18:55:18 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2026-01-14 12:58:42 +01:00
2026-01-25 11:15:30 +01:00
2025-12-20 22:07:37 +01:00
2025-10-20 17:44:58 +02:00
2025-12-22 11:26:04 +01:00
2025-12-20 22:07:37 +01:00
2026-01-27 10:04:24 +01:00
2025-12-20 22:07:44 +01:00
2025-11-19 16:25:01 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2025-10-20 17:44:58 +02:00
2025-12-22 11:26:04 +01:00
2025-12-22 11:26:04 +01:00
2025-11-12 21:04:11 +01:00
2025-12-20 22:07:37 +01:00
2026-01-13 12:07:51 +01:00
2025-12-22 11:26:04 +01:00
2025-12-30 17:25:24 +01:00
2025-12-05 21:39:52 +01:00
2026-01-04 16:51:31 +01:00
2025-12-20 22:07:37 +01:00
2026-01-19 11:19:35 +01:00
2025-06-26 22:06:57 +02:00
2026-01-15 11:02:03 +01:00
2025-12-20 22:07:37 +01:00
2026-01-08 19:00:03 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:44 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-10-19 21:52:05 +02:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-10-20 17:44:58 +02:00
2025-12-20 22:07:37 +01:00
2025-12-23 18:58:25 +01:00
2025-11-19 10:30:29 +01:00
2025-12-20 22:07:37 +01:00
2025-12-31 08:47:37 +01:00
2025-12-20 22:07:37 +01:00
2025-10-17 22:49:41 +02:00
2025-12-20 22:07:37 +01:00
2026-01-14 21:11:56 +01:00
2025-12-22 11:26:04 +01:00
2026-01-30 21:01:06 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2025-12-29 16:57:04 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:44 +01:00
2026-01-19 22:20:13 +01:00
2025-12-20 22:07:37 +01:00
2026-01-23 19:54:28 +01:00
2025-12-20 22:07:37 +01:00
2025-12-05 21:39:52 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:37 +01:00
2025-12-05 21:39:52 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2025-12-22 11:26:04 +01:00
2026-01-04 16:51:31 +01:00
2025-12-22 11:26:04 +01:00
2025-12-05 21:39:52 +01:00
2025-12-05 21:39:52 +01:00
2026-01-03 10:31:48 +01:00
2025-12-05 21:39:52 +01:00
2026-01-06 21:53:16 +01:00
2025-12-20 22:07:37 +01:00
2026-01-29 17:01:02 +01:00
2026-01-25 11:16:41 +01:00
2025-12-31 18:58:33 +01:00
2025-12-20 22:07:37 +01:00
2025-10-19 21:52:05 +02:00
2026-01-10 18:08:13 +01:00
2025-12-20 22:07:37 +01:00
2026-01-28 11:57:17 +01:00
2025-12-20 22:07:37 +01:00
2025-12-20 22:07:37 +01:00
2025-12-22 11:26:04 +01:00
2025-12-20 22:07:37 +01:00
2025-12-30 20:33:50 +01:00
2025-12-26 20:27:04 +01:00
2026-01-03 10:31:48 +01:00