diff --git a/packages/docs/.vitepress/config.mts b/packages/docs/.vitepress/config.mts index 83e1da62..1f583f8a 100644 --- a/packages/docs/.vitepress/config.mts +++ b/packages/docs/.vitepress/config.mts @@ -43,6 +43,10 @@ export default defineConfig({ socialLinks: [ { icon: "github", link: "https://github.com/matvp91/mixwave" }, ], + footer: { + message: "Released under the MPL-2.0 License.", + copyright: "Copyright © 2024-present Matthias Van Parijs", + }, }, vite: { clearScreen: false, diff --git a/packages/docs/.vitepress/theme/custom.css b/packages/docs/.vitepress/theme/custom.css index e70b2f44..c304cb19 100644 --- a/packages/docs/.vitepress/theme/custom.css +++ b/packages/docs/.vitepress/theme/custom.css @@ -22,3 +22,13 @@ margin-bottom: -6px; margin-right: 2px; } + +summary { + margin: 0 !important; +} + +.image { + overflow: hidden; + border: 1px solid #aaa; + border-radius: 6px; +} diff --git a/packages/docs/features/dashboard.md b/packages/docs/features/dashboard.md index 29d3850e..314e39df 100644 --- a/packages/docs/features/dashboard.md +++ b/packages/docs/features/dashboard.md @@ -6,8 +6,8 @@ Typically, you'd want to build the dashboard once and upload it to `S3` to serve You can use the API docs to `Test Request`. -Dashboard API +Dashboard API Each job, or child job, has detailed logs. -Dashboard job +Dashboard job diff --git a/packages/docs/introduction.md b/packages/docs/introduction.md index 32e91bd7..ca4f2382 100644 --- a/packages/docs/introduction.md +++ b/packages/docs/introduction.md @@ -12,6 +12,12 @@ Things get more complicated once you go beyond playing a basic rather than trying to support a wide range of options. +## API + +Essentially Mixwave is a set of APIs that handle video from ingest to playback. It is designed to be user-friendly, making video transcoding, packaging, and delivery accessible to a wider audience. + +Typically, you transcode the video once. The resulting intermediary file is then assigned a generated UUID, which can be used to initiate a packaging job or to configure the stitcher for manipulating or merging playlists. + ## Features Mixwave makes it easier for you to do the following tasks using a user-friendly API: @@ -27,6 +33,27 @@ The process of converting a video file from one format or codec to another. The Consider the result of a transcode job as an intermediate format ready for packaging. ::: +
+Mock example + +``` +input = content.mp4 +streams = - video 1080p + - video 720p + - audio eng +output = 67b070fd-5db6-4022-a568-652abdbfac9c +``` + +``` +input = bumper.mp4 +streams = - video 1080p + - video 720p + - audio eng +output = 13b1d432-ec8e-4516-9904-df1aa90db803 +``` + +
+ ### Package The process of preparing and organizing video files for delivery and playback over various streaming platforms and devices. Packaging isn't as resource intensive as transcoding. The [package](/features/package) job generates an HLS playlist from the output of a transcode job. Basically, it comes down to the following steps: @@ -46,6 +73,21 @@ As with transcode, the end result will be uploaded to your configured `S3` bucke At this point, your stream can be played by HLS-compatible players, such as [HLS.js](https://github.com/video-dev/hls.js), or natively on Apple devices. ::: +
+Mock example + +``` +input = 67b070fd-5db6-4022-a568-652abdbfac9c +output = https://my.cdn/package/67b070fd-5db6-4022-a568-652abdbfac9c/hls/master.m3u8 +``` + +``` +input = 13b1d432-ec8e-4516-9904-df1aa90db803 +output = https://my.cdn/package/13b1d432-ec8e-4516-9904-df1aa90db803/hls/master.m3u8 +``` + +
+ ### Stitch At this point, you've created playable assets. Stitching involves serving the manifest through a proxy that can modify the output based on different parameters. If you're looking to dynamically merge manifests, stitch them together, or add interstitials, this is for you. @@ -56,6 +98,17 @@ At this point, you've created playable assets. Stitching involves serving the ma The stitch API is quite limited at the moment, but let us know what features you'd like by submitting a [feature ticket](https://github.com/matvp91/mixwave/issues). ::: +
+Mock example + +``` +input = - assetId: 67b070fd-5db6-4022-a568-652abdbfac9c + - bumperAssetId: 13b1d432-ec8e-4516-9904-df1aa90db803 +output = http://stitcher.mixwave/session/7b2a354a-69e3-4c16-accb-aa521c8b9d5b/master.m3u8 +``` + +
+ ## Structure Mixwave consists of the following packages: diff --git a/packages/docs/public/gem.svg b/packages/docs/public/gem.svg new file mode 100644 index 00000000..be730ef7 --- /dev/null +++ b/packages/docs/public/gem.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file