LoginSignup
6
4

More than 3 years have passed since last update.

mayaからffmpegを使ってmp4を書き出し

Last updated at Posted at 2019-11-08

準備

1. ffmpegをダウンロードします。

【windows】FFmpegをインストールする手順
https://fukatsu.tech/windows-ffmpeg

上記のページを参考にffmpegをダウンロードして環境変数の設定まで行います。

2. ffmpeg-pythonのインストール

pip install ffmpeg-python

pipを使ってpython用のffmpegのライブラリのffmpeg-pythonをインストールします。

Mayaでのパッケージ管理 - mayapyにpipを入れてみるよ
https://qiita.com/it_ks/items/664f56d5e203ec005ca4

pipの導入の仕方は上記を見て頂ければ

実行

mayaで下記のコードを実行するとプレイブラストが非圧縮のAVIで書き出され、そのAVIを即mp4に変換します。
AVIのほうはmp4への変換が終わったら自動で削除されます。

# -*- coding: utf-8 -*-

import maya.cmds as cmds
import ffmpeg
import os

# 書き出し先の指定
mp4 = "D:/test.mp4"
avi = mp4.replace("mp4", "avi")
# プレイブラストの書き出し
cmds.playblast(fp=4, offScreen=1,
               clearCache=1, format='avi', sequenceTime=0,
               showOrnaments=0, percent=100,
               filename=avi, viewer=0,
               compression="None", quality=100, widthHeight=(500, 500),
               fo=1)
# ffmpegを使ってAVIをmp4に変換
stream = ffmpeg.input(avi)
stream = ffmpeg.output(stream, mp4, pix_fmt='yuv420p', vcodec='libx264')
stream = ffmpeg.overwrite_output(stream)
ffmpeg.run(stream)
# AVIを削除
os.remove(avi)

エラー

自分の環境だとffmpeg読み込み時に以下のようなエラーが出ました。
2019-11-08_17h39_29.png
どうやらpython27.zipのlib2to3以下にあるファイルが開けない(解凍できない?)のが原因のようです。
pythonのgithubからlib2to3をダウンロードできるようなので、それをダウンロードして
C:\Program Files\Autodesk\Mayaのバージョン\Python\Lib\site-packages
に移したら動くようになりました。

6
4
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
6
4