##準備
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読み込み時に以下のようなエラーが出ました。
どうやらpython27.zipのlib2to3以下にあるファイルが開けない(解凍できない?)のが原因のようです。
pythonのgithubからlib2to3をダウンロードできるようなので、それをダウンロードして
C:\Program Files\Autodesk\Mayaのバージョン\Python\Lib\site-packages
に移したら動くようになりました。