myngntk721
@myngntk721

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Google Colab で AviUtl を 使うには

解決したいこと

ClaboでAvuUtlを使用することで、グーグルのリソースを利用して高速でエンコードがしたいのですが、難航しています。
解決のアドバイス、方針だけでも大きな力になるのでご協力お願いします。

発生している問題・エラー

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-24-bd13332e09ab> in <module>()
      1 import subprocess
----> 2 subprocess.run("/content/dirive/My\ Drive/Colab\ Notebooks/aviutl/aviutl110/aviutl.exe")

2 frames
/usr/lib/python3.7/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)
   1549                         if errno_num == errno.ENOENT:
   1550                             err_msg += ': ' + repr(err_filename)
-> 1551                     raise child_exception_type(errno_num, err_msg, err_filename)
   1552                 raise child_exception_type(err_msg)
   1553 

FileNotFoundError: [Errno 2] No such file or directory: '/content/dirive/My\\ Drive/Colab\\ Notebooks/aviutl/aviutl110/aviutl.exe': '/content/dirive/My\\ Drive/Colab\\ Notebooks/aviutl/aviutl110/aviutl.exe'

自分で試したこと

Google Drive上にColab用のフォルダを作り、現在使っているAviutlのフォルダを一式そのままアップロードしました。
subprocess関数でaviutl.exeを起動させようとしたところ以上のようなエラーが発生しました。

1

2Answer

Google Colab の OS は Linux なので Windows アプリケーションである AviUtl は動かせません。

Linux 向けのエンコーダを使ったとしても、リソースの使用量が内部基準を超えると強制的に切断されるらしい1ので、動画のエンコードは現実的ではないでしょう。

  1. https://stackoverflow.com/a/66142367/454997

1Like

エラー内容を見ると、フォルダの区切り文字(ディレクトリ・セパレーター)が異なることにより「ファイルが見つかりません」という内容です。 @uasi さんがおっしゃる通り、異なる OS なので AviUtl は使えません。

機械学習でも使われる ffmpeg などを使うことになると思いますが、アプリのインストールやエンコードのスクリプトを自前で書く必要があります。

以下は同じような MP3 ファイルのエンコードを試した方の notebook ですが、何をしているのか理解できるのであれば参考になると思います。

ちなみに、Google Colab は GPU/TPU で処理することを前提としているため、CPU による処理はむしろ自分のパソコンより遅いこともあります。

これは CPU は演算以外にも他の処理をする必要があるのに対し、GPU/TPU は処理を丸ごと受け取り、その処理に専念できるからです。そのため ffmpeg を GPU 向けにカスタム設定する必要もあります。

また、ご存知かもしれませんが、動画や音声ファイルは Google Drive でサポートされているし、トランスコーディングも規制対象には含まれていないものの、プライベートなファイルでなくったとたんに Google の検閲が入ります

つまり、Colab へ共有する際に公開範囲を間違えると一発 BAN され、下手すると通報されます。もちろんファイルの内容にもよりますが。

Linux や UNIX に慣れていないのであれば、トランスコードの代行サービスを利用するか、時間がかかっても自分のマシンでエンコードすることをお勧めします。

1Like

Your answer might help someone💌