0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DeadLineでエンコードする方法

Last updated at Posted at 2019-01-26

はじめに

Deadlineを使ってパイプラインツールを使わずに連番ファイルをエンコードする方法を記します。

環境

Deadline 10.0.21.5
FFmpeg + DeadLineClientが入ったサーバ
DeadLine Monitoringが入ったユーザパソコン

FFmpeg

このソフトについて

OSSで配布されているエンコード、デコードができるものうちで有名な部類のものです。
コマンドでもApiでもコントロールができるという意味で右に出るものはないです。
streamでも活躍するので、配信系をやる場合にも、とてもうってつけなものです。

FFmpegについて

コマンド規則は次のとおりです。
ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...

global_optionは、基本的に使ったことがないので、なんともですが、おそらくOptionsの中のGlobalの内容を入れることになりますが、検証はしていません。
基本的に、input_file_option output_file_optionsについてはOptionsにて、定義されてますが、追加いそうなのだけピックアップします。(ただし、映像のみ)

コマンド file_options コメント
-i input ファイルを利用する場合に利用
 -n  global  強制的に上書きをさせる。
 -r[:stream_specifier]   input/output フレームパス
-c[:stream_specifier] input/output,per-stream codecの指定。
-vcodec output -codec:v(-c:v)のエイリアス。同じ意味。
-disposition[:stream_specifier] output,per-stream 画像等諸々入れ込むときに使う
-s[:stream_specifier] input/output/per-stream 画面サイズの指定。640✕320やqvga等で指定できる。
-aspect[:stream_specifier] output/per-stream アスペクト比で指定ができる。4:3とかで指定できる。
-frames[:stream_specifier] output/per-stream
-vframes output -frames:vと同じ。numberに出力したいフレーム番号を入れる。例100-1110
-vstats output 映像出力時の情報をtxtとして出力する。いわゆる証明的なものになる。

stream_specifierについては、stream_specifierの記載に従って使う。

Hapについて

今回hapへの圧縮をするため、そのコーデックオプションをまとめる。

コマンド <値種別> 入力できる値 デフォルト
-format hap/hap_alpha/hap_q hap
-chunks 1-64 1
compressor none/snappy snappy

※1 chunks(チャンク)は1フレームを分割して、エンコードするその数。マルチスレッドで行うため、CPUマルチスレッドの量を超えると当たり前だが計算できずに落ちる。ただ、うまく使えば高速にエンコードできる。当たり前だが、どうしてもHAPは重くなるので、うまーく使うべし。
多分、2,4,6,8,9,12とかになると思うが。。。
*2 二段階圧縮で何を選択するかを記載している。ファイルをより軽くすることが可能である。snappyはgoogleが開発したものであり、OSSとして出ている。noneだとchunkは1へ制限される(分割して高速化する意味はないから。)。

エンコード手順

概要

例データ

今回は連番ファイル(Sequence)をmovファイル動画に書き換えます。
また、Deadlineで何かをかけていて、そのあと連続して掛けることを想定してます。
 ・フレームレート 30fps
 ・コーデック hapQ
 ・チャンク数(フレーム分割数) 6
 ・連番ファイル ¥¥NAS¥pngseq¥test[0000-1000].png
 ・出力ファイル ¥¥NAS¥pngseq¥movie¥test01.mov
 ・pool/secondpool decode

ffmpegのコマンド

ffmpeg -vcodec hap -format hap_q -v 30 -chunks 6

Deadlineの設定

1.Deadline Moniterを起動
2.Submit>Processing>FFmpegの順に開く
image.png
3.次の項目に必要なものを入力する。(一部デフォルト放置のものは省略。)

項目 今回の例の場合 説明
Job Name test001 ジョブ名として入れたいものを入れます
Comment none コメントしたい内容を入力する
Pool decode システム管理者に指定されたものを入力
SecondaryPool decode システム管理者に指定されたものを入力
Priority 50 優先度。優先させたいときに若く番号を設定すると良い
Dependancies 後ほど かけているジョブを選択します。
InputFiles ¥¥NAS¥pngseq¥test0000.png 連番ファイルの一番最初のファイルを入力する
Replaces Fleams... チェックオン 連番ファイルを読む設定とのこと。(DLによると)
OutputFiles ¥¥NAS¥pngseq¥movie¥test01.mov 最終出力するファイル名を記載
OutputArguments -vcodec hap -format hap_q -v 30 -chunks 6 ffmpegのコマンドを入力する。
Additional Arguments 今回はなし global optionがある場合に使う。

image.png
4. Dependanciesを選択して、現在かけている自分のjobを選び[OK]を選択する。
image.png
5. [Submit]を選択する。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?