This repository has been archived by the owner on Mar 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 121
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Fix NV-series provisioning - Fix up various READMEs - Add maintained by tags in Dockerfiles - Add missing config flag in jobs json - Fix non-Docker shipyard azure-storage req
- Loading branch information
Showing
17 changed files
with
111 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# FFmpeg-GPU | ||
This recipe shows how to run [FFmpeg](https://ffmpeg.org/) for using | ||
hardware-accelerated encoding/transcoding on GPUs using N-series Azure VM | ||
instances in an Azure Batch compute pool. | ||
|
||
## Configuration | ||
### Pool Configuration | ||
**Note: You must be approved for the | ||
[Azure N-Series Preview](http://gpu.azure.com/) and have escalated a | ||
customer service support ticket with your Batch account details to the Azure | ||
Batch team to enable this feature. Otherwise, your pool allocation will fail.** | ||
|
||
The pool configuration should enable the following properties: | ||
* `vm_size` must be one of `STANDARD_NC6`, `STANDARD_NC12`, `STANDARD_NC24`, | ||
`STANDARD_NV6`, `STANDARD_NV12`, `STANDARD_NV24`. `NC` VM instances feature | ||
K80 GPUs for GPU compute acceleration while `NV` VM instances feature | ||
M60 GPUs for visualization workloads. Because FFmpeg is for transforming | ||
audio/video, it is best to choose `NV` VM instances. | ||
* `publisher` should be `Canonical`. Other publishers will be supported | ||
once they are available for N-series VMs. | ||
* `offer` should be `UbuntuServer`. Other offers will be supported once they | ||
are available for N-series VMs. | ||
* `sku` should be `16.04.0-LTS`. Other skus will be supported once they are | ||
available for N-series VMs. | ||
|
||
### Global Configuration | ||
The global configuration should set the following properties: | ||
* `docker_images` array must have a reference to a valid FFmpeg NVENC | ||
GPU-enabled Docker image. The | ||
[alfpark/ffmpeg:3.1.3-nvenc](https://hub.docker.com/r/alfpark/ffmpeg) | ||
can be used for this recipe. | ||
|
||
### Jobs Configuration | ||
The jobs configuration should set the following properties within the `tasks` | ||
array which should have a task definition containing: | ||
* `image` should be the name of the Docker image for this container invocation, | ||
e.g., `alfpark/ffmpeg:3.1.3-nvenc` | ||
* `command` should contain the command to pass to the Docker run invocation. | ||
The following command takes an mp4 video file and transcodes it to H.265/HEVC | ||
using NVENC transcode offload on to the GPU: | ||
`"-i samplevideo.mp4 -c:v hevc_nvenc -preset default output.mp4"` | ||
* `samplevideo.mp4` should be a file that is accessible by the task. You | ||
can utilize the `resource_files` on the | ||
[task configuration](../../docs/02-batch-shipyard-configuration.md) for | ||
any number of files to be available to the task for processing. | ||
* `hevc_nvenc` informs FFmpeg to use the H.256/HEVC NVENC encoder. To | ||
encode with H.264 using NVENC specify `h264_nvenc` instead. | ||
* `gpu` must be set to `true`. This enables invoking the `nvidia-docker` | ||
wrapper. | ||
|
||
## Dockerfile and supplementary files | ||
The `Dockerfile` for the Docker image referenced above can be found | ||
[here](https://github.com/alfpark/docker-ffmpeg/blob/master/nvenc/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters