aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers/api/videos
Commit message (Collapse)AuthorAgeFilesLines
* Support lazy download thumbnailsChocobozzz2023-06-293-7/+7
|
* Fix CI testsChocobozzz2023-06-291-1/+1
|
* Refactor video formatterChocobozzz2023-06-291-1/+1
|
* Add storyboard supportChocobozzz2023-06-293-0/+40
|
* Feature/password protected videos (#5836)Wicklow2023-06-297-12/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix runner api rate limit bypassChocobozzz2023-06-201-0/+3
|
* Add Podcast RSS feeds (#5487)Alecks Gates2023-05-221-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 * 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>
* Fix reset sequelize instanceChocobozzz2023-05-111-1/+1
|
* Support studio transcoding in peertube runnerChocobozzz2023-05-091-8/+13
|
* Add TMP persistent directoryChocobozzz2023-05-091-10/+30
| | | | To store files that must be preserved between peertube restarts
* Implement remote runner jobs in serverChocobozzz2023-05-092-125/+33
| | | | Move ffmpeg functions to @shared
* Feature/Add replay privacy (#5692)Wicklow2023-03-311-2/+36
| | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix retrying update on sql serialization conflictChocobozzz2023-02-141-4/+2
|
* Use raw sql for commentsChocobozzz2023-01-091-3/+4
|
* Add ability to get user from file tokenChocobozzz2022-12-201-1/+1
|
* Update changelogChocobozzz2022-11-241-0/+1
|
* Don't inject untrusted inputChocobozzz2022-11-151-1/+2
| | | | | Even if it's already checked in middlewares It's better to have safe modals too
* Prevent broken transcoding with audio only inputChocobozzz2022-11-141-0/+2
|
* Fix running again transcoding on a video only fileChocobozzz2022-11-071-3/+3
|
* Fix transcoding failure when importing a videoChocobozzz2022-10-311-1/+1
|
* Put private videos under a specific subdirectoryChocobozzz2022-10-243-56/+55
|
* Add ability to list comments on local videosChocobozzz2022-08-161-0/+1
|
* Channel sync (#5135)Florent2022-08-101-267/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Fix upload notificationChocobozzz2022-08-091-0/+9
|
* Avoid concurrency issue on transcodingChocobozzz2022-08-091-18/+72
|
* Use bullmq job dependencyChocobozzz2022-08-095-65/+75
|
* Move to bullmqChocobozzz2022-08-092-4/+4
|
* Limit import depending on transcoding resolutionsChocobozzz2022-08-092-2/+6
|
* Fix resolution to transcode hook nameChocobozzz2022-08-091-1/+1
|
* Add option to not transcode original resolutionChocobozzz2022-08-091-6/+4
|
* Add channel server hooksChocobozzz2022-08-031-3/+6
|
* Add plugin hook on transcoding resolutions buildingChocobozzz2022-08-021-1/+10
|
* Add ability to delete a specific video fileChocobozzz2022-08-011-13/+49
|
* Fix lintChocobozzz2022-07-132-2/+2
|
* Rename video full loadingChocobozzz2022-06-283-4/+4
|
* store uploaded video filename (#4885)kontrollanten2022-06-212-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * store uploaded video filename closes #4731 * dont crash if videos channel exist * migration: use raw query * video source: fixes after code review * cleanup * bump migration * updates after code review * refactor: use checkUserCanManageVideo * videoSource: add openapi doc * test(check-params/video-source): fix timeout * Styling * Correctly set original filename as source Co-authored-by: Chocobozzz <me@florianbigard.com>
* Optimize view endpointChocobozzz2022-06-171-1/+1
|
* Add ability to filter overall video stats by dateChocobozzz2022-05-061-10/+1
|
* Add filter by start/end date overall stats in apiChocobozzz2022-05-051-2/+7
|
* Support live session in serverChocobozzz2022-05-031-1/+35
|
* Fix getting live by anonymous userChocobozzz2022-04-221-4/+14
|
* Add ability to set start/end date to timeserieChocobozzz2022-04-151-2/+15
|
* Improve viewer counterChocobozzz2022-04-151-9/+1
| | | | More precise, avoid weird decrease, reuse an id to federate viewers
* Support video views/viewers stats in serverChocobozzz2022-04-154-70/+139
| | | | | | | | | | * Add "currentTime" and "event" body params to view endpoint * Merge watching and view endpoints * Introduce WatchAction AP activity * Add tables to store viewer information of local videos * Add endpoints to fetch video views/viewers stats of local videos * Refactor views/viewers handlers * Support "views" and "viewers" counters for both VOD and live videos
* Rename studio to editorChocobozzz2022-03-222-24/+24
|
* Add video edition finished notificationChocobozzz2022-03-221-2/+2
|
* Process video torrents in orderChocobozzz2022-03-162-51/+47
| | | | Prevent update before video torrent generation for example
* Add latency setting supportChocobozzz2022-03-091-3/+6
|
* Merge branch 'release/4.1.0' into developChocobozzz2022-03-041-1/+3
|\
| * Fix live update errorChocobozzz2022-03-041-1/+3
| |