aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/video
Commit message (Collapse)AuthorAgeFilesLines
* Migrate from webseed to web-videosChocobozzz2023-07-111-2/+2
|
* Prefer web videos in favour of webtorrentChocobozzz2023-07-119-61/+72
|
* Fix HLS playlist generation with 0 duration lengthChocobozzz2023-06-291-1/+1
|
* Support lazy download of remote video miniaturesChocobozzz2023-06-292-5/+9
|
* Support lazy download thumbnailsChocobozzz2023-06-292-0/+5
|
* Refactor video formatterChocobozzz2023-06-297-563/+611
|
* Delete storyboard file on video deletionChocobozzz2023-06-291-1/+2
|
* Add storyboard supportChocobozzz2023-06-294-27/+255
|
* Feature/password protected videos (#5836)Wicklow2023-06-293-5/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add server endpoints * Refactoring test suites * Update server and add openapi documentation * fix compliation and tests * upload/import password protected video on client * add server error code * Add video password to update resolver * add custom message when sharing pw protected video * improve confirm component * Add new alert in component * Add ability to watch protected video on client * Cannot have password protected replay privacy * Add migration * Add tests * update after review * Update check params tests * Add live videos test * Add more filter test * Update static file privacy test * Update object storage tests * Add test on feeds * Add missing word * Fix tests * Fix tests on live videos * add embed support on password protected videos * fix style * Correcting data leaks * Unable to add password protected privacy on replay * Updated code based on review comments * fix validator and command * Updated code based on review comments
* Add Podcast RSS feeds (#5487)Alecks Gates2023-05-225-18/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Add correct feed image to RSS channel * Prefer HLS videos for podcast RSS Remove video/stream titles, add optional height attribute to podcast RSS * Prefix podcast RSS images with root server URL * Add optional video query support to include captions * Add transcripts & person images to podcast RSS feed * Prefer webseed/webtorrent files over HLS fragmented mp4s * Experimentally adding podcast fields to basic config page * Add validation for new basic config fields * Don't include "content" in podcast feed, use full description for "description" * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Add correct feed image to RSS channel * Prefer HLS videos for podcast RSS Remove video/stream titles, add optional height attribute to podcast RSS * Prefix podcast RSS images with root server URL * Add optional video query support to include captions * Add transcripts & person images to podcast RSS feed * Prefer webseed/webtorrent files over HLS fragmented mp4s * Experimentally adding podcast fields to basic config page * Add validation for new basic config fields * Don't include "content" in podcast feed, use full description for "description" * Add medium/socialInteract to podcast RSS feeds. Use HTML for description * Change base production image to bullseye, install prosody in image * Add liveItem and trackers to Podcast RSS feeds Remove height from alternateEnclosure, replaced with title. * Clear Podcast RSS feed cache when live streams start/end * Upgrade to Node 16 * Refactor clearCacheRoute to use ApiCache * Remove unnecessary type hint * Update dockerfile to node 16, install python-is-python2 * Use new file paths for captions/playlists * Fix legacy videos in RSS after migration to object storage * Improve method of identifying non-fragmented mp4s in podcast RSS feeds * Don't include fragmented MP4s in podcast RSS feeds * Add experimental support for podcast:categories on the podcast RSS item * Fix undefined category when no videos exist Allows for empty feeds to exist (important for feeds that might only go live) * Add support for podcast:locked -- user has to opt in to show their email * Use comma for podcast:categories delimiter * Make cache clearing async * Fix merge, temporarily test with pfeed-podcast * Syntax changes * Add EXT_MIMETYPE constants for captions * Update & fix tests, fix enclosure mimetypes, remove admin email * Add test for podacst:socialInteract * Add filters hooks for podcast customTags * Remove showdown, updated to pfeed-podcast 6.1.2 * Add 'action:api.live-video.state.updated' hook * Avoid assigning undefined category to podcast feeds * Remove nvmrc * Remove comment * Remove unused podcast config * Remove more unused podcast config * Fix MChannelAccountDefault type hint missed in merge * Remove extra line * Re-add newline in config * Fix lint errors for isEmailPublic * Fix thumbnails in podcast feeds * Requested changes based on review * Provide podcast rss 2.0 only on video channels * Misc cleanup for a less messy PR * Lint fixes * Remove pfeed-podcast * Add peertube version to new hooks * Don't use query include, remove TODO * Remove film medium hack * Clear podcast rss cache before video/channel update hooks * Clear podcast rss cache before video uploaded/deleted hooks * Refactor podcast feed cache clearing * Set correct person name from video channel * Styling * Fix tests --------- Co-authored-by: Chocobozzz <me@florianbigard.com>
* Provide public RTMP URL to runnersChocobozzz2023-05-161-2/+2
|
* Fix SQL queryChocobozzz2023-05-121-2/+2
|
* Set actor preferred name case insensitiveChocobozzz2023-05-111-8/+11
|
* Implement remote runner jobs in serverChocobozzz2023-05-093-13/+26
| | | | Move ffmpeg functions to @shared
* Feature/filter already watched videos (#5739)Wicklow2023-04-122-2/+30
| | | | | * filter already watched videos * Updated code based on review comments
* Use hook inside the transactionChocobozzz2023-03-311-3/+5
| | | | To prevent serialization issue
* Feature/Add replay privacy (#5692)Wicklow2023-03-315-4/+146
| | | | | | | | | | | | | | | | | | | | | | | | | * Add replay settings feature * Fix replay settings behaviour * Fix tests * Fix tests * Fix tests * Update openapi doc and fix tests * Add tests and fix code * Models correction * Add migration and update controller and middleware * Add check params tests * Fix video live middleware * Updated code based on review comments
* Add test on AP hooksChocobozzz2023-03-101-1/+1
|
* Add ability for plugins to alter video jsonldChocobozzz2023-03-102-4/+9
|
* (breaking): Always list nsfw videos in playlistsChocobozzz2023-01-191-20/+19
| | | | | | Keep the same behaviour as unlisted videos The frontend is in charge to blur the video element if the nsfw setting is "hide" or "blur"
* Use unknown when category is not setChocobozzz2023-01-191-1/+1
| | | | Unstead of Misc, that could be a real category
* Don't need a special comment sort functionChocobozzz2023-01-121-2/+2
|
* Optimize again comments list sql queryChocobozzz2023-01-121-15/+30
|
* Refactor model utilsChocobozzz2023-01-1017-41/+41
|
* Fix comments SQL paginationChocobozzz2023-01-102-11/+2
|
* Refactor table attributesChocobozzz2023-01-092-54/+31
|
* Merge branch 'feature/SO035' into developChocobozzz2023-01-091-1/+1
|\
| * External auth can update user on loginChocobozzz2023-01-041-1/+1
| |
* | Use raw sql for commentsChocobozzz2023-01-093-351/+567
|/
* Fix local channel statsChocobozzz2022-12-211-19/+18
|
* Fix server lintChocobozzz2022-11-152-2/+2
|
* Don't inject untrusted inputChocobozzz2022-11-154-14/+21
| | | | | Even if it's already checked in middlewares It's better to have safe modals too
* Federate entire descriptionChocobozzz2022-11-141-0/+2
| | | | | | Introduce an explicit field truncatedDescription description in video list is deprecated description in video get will contain the entire description
* Fix running again transcoding on a video only fileChocobozzz2022-11-071-1/+3
|
* Fix follow constraint check with an accountChocobozzz2022-11-071-0/+6
|
* Option to disable static files auth check/s3 proxyChocobozzz2022-10-272-3/+5
|
* Correctly delete live files from object storageChocobozzz2022-10-251-4/+4
|
* Correctly cleanup files from object storageChocobozzz2022-10-251-3/+2
|
* Use private ACL for private videos in s3Chocobozzz2022-10-243-22/+102
|
* Put private videos under a specific subdirectoryChocobozzz2022-10-244-31/+65
|
* feat: show contained playlists under My videos (#5125)kontrollanten2022-10-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: show contained playlists under My videos closes #4769 * refactor(server): remove unused types * fixes after code review * fix(client/video-miniature): add to playlist * fix(server/user/me): shortUUID response * Revert "fix(client/video-miniature): add to playlist" This reverts commit f1a0412391c7e2370b87df2594c9fe3f39a40ddc. * fix(client/PlaylistService): caching * Revert "fix(server/user/me): shortUUID response" This reverts commit e3f1ee4e335739b895bced938540c003df24af73. * Fix fetching playlists Co-authored-by: Chocobozzz <me@florianbigard.com>
* Fix video job error when video has been deletedChocobozzz2022-10-101-2/+4
|
* Live supports object storageChocobozzz2022-10-041-11/+13
| | | | | | | | * Sync live files (segments, master playlist, resolution playlist, segment sha file) into object storage * Automatically delete them when the live ends * Segment sha file is now a file on disk, and not stored in memory anymore
* Fix saved live master playlist bandwidthChocobozzz2022-09-091-0/+2
|
* Prefer using Object.valuesChocobozzz2022-08-171-2/+2
|
* Prefer using our pick functionChocobozzz2022-08-173-3/+6
|
* Add ability to list comments on local videosChocobozzz2022-08-161-1/+7
|
* Add ability to list imports of a channel syncChocobozzz2022-08-101-16/+63
|
* Channel sync (#5135)Florent2022-08-102-1/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add external channel URL for channel update / creation (#754) * Disallow synchronisation if user has no video quota (#754) * More constraints serverside (#754) * Disable sync if server configuration does not allow HTTP import (#754) * Working version synchronizing videos with a job (#754) TODO: refactoring, too much code duplication * More logs and try/catch (#754) * Fix eslint error (#754) * WIP: support synchronization time change (#754) * New frontend #754 * WIP: Create sync front (#754) * Enhance UI, sync creation form (#754) * Warning message when HTTP upload is disallowed * More consistent names (#754) * Binding Front with API (#754) * Add a /me API (#754) * Improve list UI (#754) * Implement creation and deletion routes (#754) * Lint (#754) * Lint again (#754) * WIP: UI for triggering import existing videos (#754) * Implement jobs for syncing and importing channels * Don't sync videos before sync creation + avoid concurrency issue (#754) * Cleanup (#754) * Cleanup: OpenAPI + API rework (#754) * Remove dead code (#754) * Eslint (#754) * Revert the mess with whitespaces in constants.ts (#754) * Some fixes after rebase (#754) * Several fixes after PR remarks (#754) * Front + API: Rename video-channels-sync to video-channel-syncs (#754) * Allow enabling channel sync through UI (#754) * getChannelInfo (#754) * Minor fixes: openapi + model + sql (#754) * Simplified API validators (#754) * Rename MChannelSync to MChannelSyncChannel (#754) * Add command for VideoChannelSync (#754) * Use synchronization.enabled config (#754) * Check parameters test + some fixes (#754) * Fix conflict mistake (#754) * Restrict access to video channel sync list API (#754) * Start adding unit test for synchronization (#754) * Continue testing (#754) * Tests finished + convertion of job to scheduler (#754) * Add lastSyncAt field (#754) * Fix externalRemoteUrl sort + creation date not well formatted (#754) * Small fix (#754) * Factorize addYoutubeDLImport and buildVideo (#754) * Check duplicates on channel not on users (#754) * factorize thumbnail generation (#754) * Fetch error should return status 400 (#754) * Separate video-channel-import and video-channel-sync-latest (#754) * Bump DB migration version after rebase (#754) * Prettier states in UI table (#754) * Add DefaultScope in VideoChannelSyncModel (#754) * Fix audit logs (#754) * Ensure user can upload when importing channel + minor fixes (#754) * Mark synchronization as failed on exception + typos (#754) * Change REST API for importing videos into channel (#754) * Add option for fully synchronize a chnanel (#754) * Return a whole sync object on creation to avoid tricks in Front (#754) * Various remarks (#754) * Single quotes by default (#754) * Rename synchronization to video_channel_synchronization * Add check.latest_videos_count and max_per_user options (#754) * Better channel rendering in list #754 * Allow sorting with channel name and state (#754) * Add missing tests for channel imports (#754) * Prefer using a parent job for channel sync * Styling * Client styling Co-authored-by: Chocobozzz <me@florianbigard.com>
* Avoid concurrency issue on transcodingChocobozzz2022-08-091-7/+6
|