diff --git a/analytics/overview.md b/analytics/overview.md index 8fca2d04..3d039d8d 100644 --- a/analytics/overview.md +++ b/analytics/overview.md @@ -1,6 +1,6 @@ --- title: Analytics -breadcrums: false +breadcrumbs: false meta: description: Learn how you can get data insights for your videos and live streams using api.video's Analytics solution. --- diff --git a/reference/README.md b/reference/README.md index ba8940c7..f8a1f679 100644 --- a/reference/README.md +++ b/reference/README.md @@ -56,7 +56,7 @@ Follow these best practices to secure your API keys: api.video limits the number of accepted API requests **per minute**. The limitation that the API applies to your calls depends on these factors: * the [API environment](https://docs.api.video/reference#environments) you send your calls in -* your [pricing plan](https://api.video/pricing) +* your [pricing plan](https://api.video/pricing/) * the request method that your calls use | | Sandbox | Production | diff --git a/reference/uploaded-file-multiple-files.md b/reference/uploaded-file-multiple-files.md index e535b7a0..61af003b 100644 --- a/reference/uploaded-file-multiple-files.md +++ b/reference/uploaded-file-multiple-files.md @@ -18,7 +18,7 @@ You can't attach multiple videos to the same upload request. One video or chunk ### Tutorials -* [Private video upload with a public token](https://api.video/blog/product-updates/video-access-management-how-to-create-deliver-and-manage-private-videos-and-what//) +* [Private video upload with a public token](https://api.video/blog/product-updates/video-access-management-how-to-create-deliver-and-manage-private-videos-and-what/) * [Video upload](https://api.video/blog/tutorials/video-upload-tutorial/) ### Tools diff --git a/sdks/player/apivideo-android-player.md b/sdks/player/apivideo-android-player.md index 2cc1c133..19cd3ad8 100644 --- a/sdks/player/apivideo-android-player.md +++ b/sdks/player/apivideo-android-player.md @@ -47,7 +47,7 @@ a video Id to use this component and play a video from api.video. To get yours, 1. [Log into your account](https://dashboard.api.video/login) or create one [here](https://dashboard.api.video/register). 2. Copy your API key (sandbox or production if you are subscribed to one of - our [plan](https://api.video/pricing)). + our [plan](https://api.video/pricing/)). 3. Go to [the official api.video documentation](https://docs.api.video/). 4. Go to API Reference -> Videos -> [List all videos](https://docs.api.video/reference/api/Videos#list-all-video-objects) 5. Create a `get` request to the `/videos` endpoint based on the reference, using a tool like Postman. diff --git a/sdks/player/apivideo-player-sdk.md b/sdks/player/apivideo-player-sdk.md index 82330a47..5ef39185 100644 --- a/sdks/player/apivideo-player-sdk.md +++ b/sdks/player/apivideo-player-sdk.md @@ -93,8 +93,8 @@ The PlayerSdk constructor takes 2 parameters: | Option name | Mandatory | Type | Description | | -------------: | --------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | | id | **yes** | string | the id of the video (videoId or liveStreamId) | -| token | yes for private video | string | the [private video](https://api.video/blog/tutorials/tutorial-private-videos/) url token | -| privateSession | no | string | the [private video](https://api.video/blog/tutorials/tutorial-private-videos/) session id if needed | +| token | yes for private video | string | the [private video](https://api.video/blog/product-updates/video-access-management-how-to-create-deliver-and-manage-private-videos-and-what/) url token | +| privateSession | no | string | the [private video](https://api.video/blog/product-updates/video-access-management-how-to-create-deliver-and-manage-private-videos-and-what/) session id if needed | | live | no (default: false) | boolean | indicate that the video is a live one | | autoplay | no (default: false) | boolean | start playing the video as soon as it is loaded | | muted | no (default: false) | boolean | the video is muted | diff --git a/sdks/player/apivideo-react-player.md b/sdks/player/apivideo-react-player.md index cab1462a..bfb254e3 100644 --- a/sdks/player/apivideo-react-player.md +++ b/sdks/player/apivideo-react-player.md @@ -189,7 +189,7 @@ Example #### Private videos -To play a [private video](https://api.video/blog/tutorials/tutorial-private-videos/), add the video view token in the video attribute: +To play a [private video](https://api.video/blog/product-updates/video-access-management-how-to-create-deliver-and-manage-private-videos-and-what/), add the video view token in the video attribute: ```tsx // ... diff --git a/sdks/player/apivideo-swift-player.md b/sdks/player/apivideo-swift-player.md index 23ac54d7..351fc2a3 100644 --- a/sdks/player/apivideo-swift-player.md +++ b/sdks/player/apivideo-swift-player.md @@ -53,7 +53,7 @@ a video Id to use this component and play a video from api.video. To get yours, 1. [Log into your account](https://dashboard.api.video/login) or create one [here](https://dashboard.api.video/register). 2. Copy your API key (sandbox or production if you are subscribed to one of - our [plan](https://api.video/pricing)). + our [plan](https://api.video/pricing/)). 3. Go to [the official api.video documentation](https://docs.api.video/). 4. Go to API Reference -> Videos -> [List all videos](https://docs.api.video/reference/api/Videos#list-all-video-objects) 5. Create a `get` request to the `/videos` endpoint based on the reference, using a tool like Postman. diff --git a/vod/clip-a-video.md b/vod/clip-a-video.md index 692d9a7f..050d947f 100644 --- a/vod/clip-a-video.md +++ b/vod/clip-a-video.md @@ -8,7 +8,7 @@ meta: In some cases, you just need to upload a smaller piece of a video, but you would like to do that programmatically, without resorting to editing programs. -[api.video](http://api.video) allows you to clip a video to upload only specific parts of the video. You will be able to specify the start and end time of the clip before you upload the source video to api.video. +[api.video](https://api.video) allows you to clip a video to upload only specific parts of the video. You will be able to specify the start and end time of the clip before you upload the source video to api.video. A diagram that shows the process of clipping a video @@ -18,7 +18,7 @@ The videos are clipped by the definition of the object. When you create a video ## Usage -You can use one of the API clients offered by [api.video](http://api.video). You can find the list of clients in the [api.video API Client catalog](https://docs.api.video/sdks/api-clients). +You can use one of the API clients offered by [api.video](https://api.video). You can find the list of clients in the [api.video API Client catalog](https://docs.api.video/sdks/api-clients). You can also find more information on the `/videos` endpoints on the [API reference page](https://docs.api.video/reference/api/Videos#create-a-video-object). diff --git a/vod/encoding-transcoding.md b/vod/encoding-transcoding.md index 1c6f1343..ba362c15 100644 --- a/vod/encoding-transcoding.md +++ b/vod/encoding-transcoding.md @@ -4,16 +4,16 @@ meta: description: This guide explains what video encoding and transcoding means and how api.video enables you to provide your users high quality videos via encoding and transcoding. --- -## Encoding +# Encoding The term encoding is used to describe the process of converting content into a different form. In the context of video - encoding technically only happens when the video is being recorded, and taken from the camera's raw format and saved into a [codec](https://api.video/what-is/codec/). Any further manipulations of the video file (say changing the format, or changing compression values) is transcoding. But, in practice, these two terms are used interchangeably to describe the process of converting a video file from one format to another. -### Why encode a video? +## Why encode a video? Video files are inherently large, so using a codec to compress the video ensures that the file will be much smaller. As codecs get better at compression, we are able to transmit higher quality video for the same amount of data. For that reason, there is a lot of research into new codecs. There are other considerations to undertake when choosing how to encode your video. The [H264](https://api.video/what-is/h-264/), while older and not the best compression, does support the highest browser support - making it a common encoding choice. Newer codecs like [H265](https://api.video/what-is/h-265/), VP9, and AVIF have better compression, but suffer slightly in the realm of browser support for playback. -### Encoding settings +## Encoding settings When using a tool like FFMPEG, you can set the video quality. This determines how much compression there will be/how good the video will look. Higher compression leads to smaller files, but also higher [loss](https://api.video/what-is/lossy-compression/). FFMPEG uses the Constant Rate Factor for encoding quality (values of 0 are lossless, 51 is high compression.) The default value for CRF is 23, and generally creates a video that offers a high compression/quality ratio: ``` @@ -28,7 +28,7 @@ Every video uploaded to api.video is encoded/transcoded into an H264 MP4 and an Transcoding is the process of taking already encoded (or transcoded) content, decompressing it and then using different codecs to alter or recompress it. It's labor intensive because you are taking every part of your video and audio and recompressing it. During this process, depending on what codecs you use, you may lose data. -### What types of transcoding are there? +## What types of transcoding are there? There are three types of transcoding you will encounter: @@ -36,7 +36,7 @@ There are three types of transcoding you will encounter: - Lossless-to-lossy - This is where you take a codec that preserves every detail of a video and transfer it to one that loses data. The trade off results in something useful like faster decompression for playback, or a smaller file. - Lossy-to-lossless - You cannot regain lost quality, so when transcoding in this situation, you retain all the data that was in the lossy compression without further degradation of the file. -### What are the goals of transcoding? +## What are the goals of transcoding? The goals of transcoding are dependent upon your use case. The main reason to transcode video is because you want to use it in a new scenario with a codec that's optimized for that new scenario. For example, say you want to edit a video. You would probably want a codec that's good quality, but which lets you easily move backwards and forwards through the video so you can quickly find the parts of the video you want to clip and edit. A great example of a codec for this purpose would be ProRes. This codec doesn't work for playback with a lot of devices though. So after you're done editing, you would want to transcode to another codec that works for playback. Other scenarios might be something like wanting to store a video for later use. When you store a video, if it's for a project, you might want to store the highest quality possible. Then when you get the video out later to edit again or use in a project, it's got as much information available as possible. Or, maybe you're storing a video just for reference purposes and you don't have a lot of space. Then you might want a codec that compresses efficiently but the video quality is lower. That would be enough for reference later. diff --git a/vod/video-download.md b/vod/video-download.md index 3e726a33..45add860 100644 --- a/vod/video-download.md +++ b/vod/video-download.md @@ -6,27 +6,27 @@ meta: # Video Download -After videos have been transcoded on [api.video](http://api.video), it’s natural that you want to give your users the ability to download their videos, or just download the video for your own use, possibly for backup. +After videos have been transcoded on [api.video](https://api.video), it’s natural that you want to give your users the ability to download their videos, or just download the video for your own use, possibly for backup. -[api.video](http://api.video) allows you and your users to download videos directly from the player or programmatically through the API. +[api.video](https://api.video) allows you and your users to download videos directly from the player or programmatically through the API. A diagram that shows the process of video download -## Download a video from [api.video](http://api.video) player +## Download a video from [api.video](https://api.video) player -The video object can be created or updated with the `mp4Support` tag. The tag will make the video downloadable and display a button on the [api.video](http://api.video) player. +The video object can be created or updated with the `mp4Support` tag. The tag will make the video downloadable and display a button on the [api.video](https://api.video) player. ![](/_assets/vod/video-download/download-video-1.png) ![](/_assets/vod/video-download/download-video-2.png) -* By default, the `mp4Support` tag is set to `true`, hence the video is downloadable. If you want to disable the download ability from the [api.video](http://api.video) player, you have to set the `mp4Support` tag to `false` +* By default, the `mp4Support` tag is set to `true`, hence the video is downloadable. If you want to disable the download ability from the [api.video](https://api.video) player, you have to set the `mp4Support` tag to `false` * If you don’t want the user to be able to download the video, do not serve the mp4 asset. ## Disabling download -You can use one of the API clients offered by [api.video](http://api.video). You can find the list of clients in the [api.video API Client catalog](https://docs.api.video/sdks/api-clients). +You can use one of the API clients offered by [api.video](https://api.video). You can find the list of clients in the [api.video API Client catalog](https://docs.api.video/sdks/api-clients). You can also find more information on the `/videos` endpoints on the [API reference page](https://docs.api.video/reference/api/Videos#create-a-video-object). @@ -347,7 +347,7 @@ func main() { Most players support download, however, if you would like to add a download button to a custom player that doesn’t have a download button, it’s also possible. -By leveraging the API, you can create a request to [api.video](http://api.video), which will get the video id and then render a download button serving the mp4 asset. +By leveraging the API, you can create a request to [api.video](https://api.video), which will get the video id and then render a download button serving the mp4 asset. In this example, you will learn how to create a custom download button with React and Node.js backend @@ -384,7 +384,7 @@ const serverHostname = "localhost:5500" const handleClick = async (sourceVideoId) => { try { // replace the server hostname with your - const response = await fetch(`http://${serverHostname}/download?videoId=${sourceVideoId}`, { + const response = await fetch(`https://${serverHostname}/download?videoId=${sourceVideoId}`, { method: 'GET', }); if (!response.ok) { @@ -473,7 +473,7 @@ $ npm init Now edit the index.js file that you’ve created, and copy this code. -Make sure that you copy your API key from the [api.video](http://api.video) dashboard and replace the port to the port you would like to run the server on. +Make sure that you copy your API key from the [api.video](https://api.video) dashboard and replace the port to the port you would like to run the server on.