

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 FFmpeg 從另一個截止日期雲端任務的輸出對電影進行編碼
<a name="examples-jb-ffmpeg-from-job"></a>

[ffmpeg\_movie\_from\_job\_output](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/ffmpeg_movie_from_job_output) 任務套件會下載相同佇列中另一個已完成任務的轉譯輸出，並使用 FFmpeg 將影像序列編碼為 MP4 影片。使用它做為後製處理公用程式，例如，在 Blender 或 Maya 轉譯任務完成後，自動將影格組合成電影。

如需編碼本機映像序列 （不下載 source-job)，請參閱 [在截止日期雲端使用 FFmpeg 對影片進行編碼](examples-jb-ffmpeg-encode.md)。

提交前掛鉤 (`inject_s3_settings.py`) 會在您工作站的提交時間執行，並查詢佇列的任務附件 Amazon Simple Storage Service (Amazon S3) 儲存貯體組態。勾點會將設定寫入上傳為任務附件的 JSON 檔案，因此工作者可以從 Amazon S3 下載檔案，而不需要佇列角色的截止日期雲端 API 許可。在工作者上，任務使用 `deadline.job_attachments` Python API 下載來源任務的輸出，然後執行 FFmpeg 將影格編碼為具有 BT.709 色彩空間中繼資料的 H.264 MP4。

套件掛鉤預設為關閉。在提交之前啟用一次：

```
deadline config set settings.allow_bundle_hooks true
```

任務需要來自 `conda-forge` conda 頻道的 FFmpeg。來源任務和此任務必須位於相同的佇列中，因為它們共用相同的任務附件 Amazon S3 儲存貯體。

使用來源任務的 ID 提交：

```
deadline bundle submit ffmpeg_movie_from_job_output/ \
  -p SourceJobId={{job-id}} \
  -p FrameRate=30 \
  -p OutputFilename=my_render.mp4
```

若要將下載限制為單一步驟的輸出，請同時傳遞 `SourceStepId`。