Linux (Ubuntu20.04) に DaVinci Resolve をインストール

ソフトウェア

動画編集ソフトのDaVinci ResolveをUbuntu20.04にインストールします。

まずはインストーラーを公式WEBサイトからダウンロードします。
DaVinci ResolveとDaVinci Resolve Studioの2つが並んでいますが無償版のDaVinci Resolveを選択して今すぐダウンロードをクリックします。
そして名前や住所などの各種情報を入力するとダウンロードが始まります。

ダウンロードされた”DaVinci_Resolve_18.6.4_Linux.zip”をunzipするとxx.runという実行ファイルと手順書のpdfファイルが存在します。基本的にはpdfの手順書にそってインストールを進めます。

ターミナル(シェル)を開き、実行ファイルに実行権限を付与して実行します。コマンドは下記の通りです。

$ chmod +x ./DaVinci_Resolve_18.6.4_Linux.run
$ sudo ./DaVinci_Resolve_18.6.4_Linux.run

実行するとパッケージが不足しているというエラーメッセージが出ました。エラーメッセージに従って必要なパッケージをインストールします。

$ sudo apt install libapr1 libaprutil1 libxcb-composite0 libxcb-cursor0 libxcb-damage0

そして再度インストーラーを実行します。

$ sudo ./DaVinci_Resolve_18.6.4_Linux.run

インストール画面が表示されるので画面に従って進めていきます。ライセンスに同意するなどをポチポチを進めていくだけでした。

インストールが始まります。

数分でインストールが完了しました。

“Finish”を押して画面を閉じるとインストールが完了します。

インストール後はアプリケーションの一覧で”davinci”などと検索するとアプリを見つけることができます。”DaVinci Resolve”をクリックして起動させます。

初回起動時にWelcome to DaVinci Resolveの画面が白い画面で固まってしまいましたが閉じるボタンで強制終了させたところDaVinci Resolveが起動しました。

起動後は初期のプロジェクトが選択された状態になっています。

これでUbuntuにDaVinci Resolveをインストールすることができました。

早速新規プロジェクトから新しいプロジェクトを作成して動画編集を始めようとしましたが、ストレージにある動画ファイルを正しく読み込んでくれません。
動画ファイルの種類によって全く読み込めなかったり、映像を読み込めず音声のみ読み込んだりしてしまっています。

mp4ファイルなので映像のコーデックやフォーマットなどをffmpegを使用していろいろと変換しましたがどれも同じように音声のみのデータになってしまいます。

ネットで検索するとArch LinuxのWikiにDaVinci Resolveの情報が詳しく載っていました。
https://wiki.archlinux.org/title/DaVinci_Resolve

Wikiのトラブルシューティングの欄に次のような記述があります。

Mp4 clips are not working
In DR Free the MP4 containers are not supported. Their preview image is shown as blank. And AAC audio stream (mp4 uses that format) is not supported. When you place that clip to timeline, it will be just an audio clip with silence.
In DR Studio the mp4 videos are supported, but AAC decoding is still not supported. When you place your mp4 clip to timeline, you will get the normal video track, and the audio track will be silent.

なのでmovフォーマットでDNxHD形式に変換すると読み込みできるようになるそうです。
DNxHD形式の説明はStack Exchangeのこちらの回答がよくまとまっていてわかりやすかったです。
早速変換してみます。

入力用の動画はこのようなフォーマットです。

$ ffprobe -i mp4/20240203_a7cii_0203.MP4 
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x557504f2ff00] st: 0 edit list: 1 Missing key frame while searching for timestamp: 1001
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x557504f2ff00] st: 0 edit list 1 Cannot find an index entry before timestamp: 1001.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mp4/20240203_a7cii_0203.MP4':
  Metadata:
    major_brand     : XAVC
    minor_version   : 17506303
    compatible_brands: XAVCmp42iso6
    creation_time   : 2024-02-03T11:16:39.000000Z
  Duration: 00:00:06.01, start: 0.000000, bitrate: 89581 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 3840x2160 [SAR 1:1 DAR 16:9], 57473 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      creation_time   : 2024-02-03T11:16:39.000000Z
      handler_name    : Video Media Handler
      encoder         : AVC Coding
    Stream #0:1(und): Audio: pcm_s16be (twos / 0x736F7774), 48000 Hz, 2 channels, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2024-02-03T11:16:39.000000Z
      handler_name    : Sound Media Handler
    Stream #0:2(und): Data: none (rtmd / 0x646D7472), 3731 kb/s (default)
    Metadata:
      creation_time   : 2024-02-03T11:16:39.000000Z
      handler_name    : Timed Metadata Media Handler
      timecode        : 04:03:34:16
Unsupported codec with id 0 for input stream 2

いわゆる4Kの解像度で24fpsの動画です。これをffmpegで変換します。

$ name="input.mp4"
$ ffmpeg -i mp4/$name \
-vcodec dnxhd \
-vf "scale=3840:2160,fps=23.98,format=yuv422p" \
-b:v 746M \
-profile:v dnxhr_hq \
-acodec pcm_s16le \
mov/$(echo $name | sed -e 's/MP4/mov/')

色の空間の大きさが異なるためか警告が出ますがエラーにはならず変換できました。
これをDaVinci Resolveで確認すると映像と音声共に正しく読み込まれました。

編集時には動画素材(動画ファイル)がたくさんある場合がほとんどだと思うのでmp4の動画を一括でmovに変換するようにして利用しました。
下のコマンド例ではmp4というディレクトリ下にあるmp4ファイルを一括で変換してmovディレクトリに出力します。

$ for name in $(ls mp4); do ffmpeg -i mp4/$name -vcodec dnxhd -vf "scale=3840:2160,fps=23.98,format=yuv422p" -b:v 746M -profile:v dnxhr_hq -acodec pcm_s16le mov/$(echo $name | sed -e 's/MP4/mov/'); done

これで動画ファイルの読み込み、編集、書き出し(エンコード)までができることを確認できました。

コメント