You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
master
copilot/fix-oauth2-validation-issues
dependabot/go_modules/github.com/nwaples/rardecode/v2-2.2.0
dependabot/go_modules/github.com/ulikunitz/xz-0.5.14
update-checksum
redirect-status
zipped-static
1.1.1
1.1.0-beta
1.0.3
1.0.2
1.0.1
1.0.0
2.0.0-alpha.1
3.0.0
3.0.0-beta1
3.0.0-beta2
3.0.0-beta3
3.0.0-rc1
3.1.0
3.1.1
3.2.0
3.2.1
3.3.0
3.3.1
3.3.2
3.4.0
3.4.0-beta1
3.4.1
3.4.2
3.4.3
3.5.0
3.5.0-beta.3
3.5.0-beta1
3.5.0-beta2
3.5.1
3.5.2
3.5.3
3.6.0
3.6.0-beta1
3.6.1
3.6.2
3.7.0
3.7.1
3.8.0
3.8.0-beta1
3.8.1
3.8.2
3.8.3
4.0.0
4.0.0-beta.10
4.0.0-beta.11
4.0.0-beta.12
4.0.0-beta.13
4.0.0-beta.14
4.0.0-beta.6
4.0.0-beta.7
4.0.0-beta.8
4.0.0-beta.9
4.1.0
4.1.1
4.1.2
4.1.3
4.10.0
4.10.1
4.11.0
4.11.1
4.12.0
4.12.1
4.13.0
4.14.0
4.14.1
4.15.0
4.16.0
4.16.1
4.17.0
4.18.0
4.2.0
4.3.0
4.4.0
4.4.1
4.5.0
4.5.1
4.6.0
4.7.0
4.8.0
4.9.0
4.9.1
4.9.2
${ noResults }
Extend the media post-processing subsystem (APP-101) to video, sharing the media_process_task table via the media_type discriminator but running on its own dedicated queue so a long transcode never blocks image work. - Upload hook (enqueueMediaProcessIfEligible) now branches by mime: image/* and video/* each gate on their own master switch + per-user opt-in + min_size, then Enqueue with the matching MediaType. - Cron runs two independent lanes (enqueueMediaProcessLane): images -> MediaProcessQueue, videos -> MediaVideoQueue. - New dedicated MediaVideoQueue (dependency.go), MediaCompressVideoTaskType, started in application.go, live-reloaded via mediaVideoQueuePostProcessor, metric in GetQueueMetrics. - MediaCompressTask.compress branches by media_type; new compressVideo builds the ffmpeg command (codec/CRF/preset, videoScaleFilter cap without upscale, audio, -threads, optional nice on non-Windows); normalizeVideoContainer defaults to "keep" so the file is not renamed. - Settings block media_compress_video_* + MediaProcessVideo(ctx) getter; engine is always ffmpeg for video. cpu_num virtual key in GetSetting feeds the frontend threads selector. AutoCompressVideos user opt-in + Codec added to the JSON props (no schema/migration/BackendVersion bump). - Tests: TestMediaProcessEnqueueVideo (discriminator isolation), TestNormalizeVideoContainer + TestVideoScaleFilter (ffmpeg arg building). Bumps the assets submodule pointer to the APP-103 frontend. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
3 weeks ago | |
|---|---|---|
| .. | ||
| types.go | feat(media): deferred video transcoding with ffmpeg (APP-103) | 3 weeks ago |