1 :
名無しさん@編集中 :
2012/11/12(月) 17:49:51.64 ID:06YgN0f5
2 :
名無しさん@編集中 :2012/11/12(月) 18:42:27.41 ID:06YgN0f5
3 :
名無しさん@編集中 :2012/11/12(月) 18:52:17.61 ID:06YgN0f5
スクリプトの作成・編集の注意点
1.スクリプトの拡張子は.pyでなく.vpyを推奨
2.作成・編集は文字コードをUTF-8で行うこと
3.作成・編集にメモ帳を使わないこと
3.について
【初心者歓迎】総合質問スレッド-80-【ダウソNG】
http://toro.2ch.net/test/read.cgi/avi/1350669147/52 52 名前:名無しさん@編集中[sage] 投稿日:2012/11/11(日) 03:08:46.49 ID:nlSanZ7T
VapourSynthのスクリプトの作成にメモ帳は使うな
理由:メモ帳で文字コードがUTF-8のテキストを作成すると強制的にBOMを付けられる(BOMを付けるかの選択は不可)
このBOMが色々と問題を引き起こす場合が多いので、作成や編集をする場合はNotepad2-modなどのBOMを付けないで保存可能なテキストエディタを使え
Notepad2-modだとEncoding設定が「UTF-8」がBOMなし、「UTF-8 with Signature」がBOMあり
作成するときは「UTF-8」で
4 :
名無しさん@編集中 :2012/11/12(月) 18:56:32.95 ID:06YgN0f5
5 :
名無しさん@編集中 :2012/11/12(月) 19:54:25.01 ID:06YgN0f5
6 :
名無しさん@編集中 :2012/11/12(月) 21:13:23.48 ID:nq9LUbH7
NAVER まとめってアフィじゃないの?
7 :
名無しさん@編集中 :2012/11/12(月) 23:44:42.79 ID:W9EmmQFz
最近はスレのテンプレに紛れ込ませて稼ぐのが流行りらしい
8 :
名無しさん@編集中 :2012/11/12(月) 23:49:12.01 ID:wXF0EA5P
つーわけでこのスレは削除依頼&立て直しだな
9 :
名無しさん@編集中 :2012/11/12(月) 23:53:36.13 ID:06YgN0f5
>>6 知らなかった...orz
>>8 鯖の無駄だ!
その必要はない!
削除ガイドラインのこれか? 8. URL表記・リンク 宣伝・罠・実行リンク 明らかに宣伝を目的としたリンク・クリックや訪問で課金が発生するもの・等は、宣伝掲示板以外では削除します。 ただし、エログロ系または有料などの場合は全て削除対象になります。
立て直してもらえたほうがいいのはいいけどね
仮に>10に違反するとしても、>1になければいいでしょ >1にあったらスレごと削除されるか>1の内容が削除されるけど、>1だけ削除ってそうそうないような いずれにせよスレを立て直す必要は無い ただし宣伝レスは削除されたり規制されたりするかもしれない
>>2 だけの削除でよくない?
全部削除するのはもったいない
そもそも >情報は古いです。前に試した時にPython認識せずにインストール不可になったので更新は多分しません。 って書いてるのをテンプレに載せるなよ あとアフィ関係なくNAVERは嫌う人いるだろうね
2ちゃんで本当の意味でテンプレといえるのは
>>1 だけだからね
スレ初見の人間が後レスを読まずに真っ先に
>>2 をクリックすると思うから
やっぱり
>>2 は削除すべき
>>18 なら>2のレスを削除依頼してくれば?
削除依頼は何時でも誰でもできるんだから
>>2 の記事消えてるんだが
またお前らのせいで有用な情報が1つ減ったのか
嫌儲は本当に気持ち悪いから巣に篭っててくんねーかな
VapourSynthでTSからmp4にするまでAviSynth使わずに出来るようになった? TFFかBFFかRFF混入なのかわからないソースをインタレ解除して自動エンコしたいんだが
>>22 Vapoursynthのみだとd2vsource + vivtc/nnedi3 + 内部リサイズフィルタ
で普通にmpeg-2なmpeg-ts/psが読み込める+デインタレ+リサイズができる
win32なVapourSynth内からavsフィルタもロードできるんで、既にポートされてる・
作成されてるフィルタではダメだったら普通にavsフィルタも使用できる。
音声はまだ対応してないけど、オイラとかは全くAVS内にもAAC音声とかを
扱わないしなぁ。ストリームを出力してmkvmerge・ffmpeg/avconv等でカット
d2vsourceはH.264にも対応できそうだけど、とりあえずdgnvのインデックス
ファイルの構成もチェックしないとなぁ。多分同じような感じだと思うけど。
>>23 一応名前は同じっぽいが、彼はそのサイトを貼ってないし、違うかもしれないし・・・
情報が全くなかったから削除されても問題なさそうだな
r15 アップデート
これってeasyVFR3modやDGAVCDecNVで作成された.dgiなどは対応してるのかな?
>>29 DGDecNVはそのままVSでも使える
EasyVFRはVS用にpythonで書きなおさにゃいかんのじゃないかな
返信ありがとう そっかーEasyVFRの対応はまだか、他諸々対応してほしいもの沢山あるし 自分は何も貢献できないけれど、応援してます。 がんばってー
D2V Source beta3来てた Visual Studio 2010版とGCC 4.7.2版があるのでどちらを選べばいいか悩む…
Chikuzen氏やたくあん氏とかavisynthとvapoursynth使ってる人のtwitter見てる限り GCCの方が速いらしい
flash3kyuu_debandの作者がvapoursynth版flash3kyuu_debandを開発するとのこと
それはうれしい
AvsPmod2.4.0で.vpyのプレビューが出来るようになった ただし事前にフォーマットを対応してるものに変換しておく必要あり
vivtc縞残りまくって性能悪いね AVISynthだと綺麗になるのにまだダメ過ぎるな
>>40 avisynthでインタレ解除(逆テレシネ)だけするavs書いて、avs2avi+Utvideoで可逆圧縮してからVapourSynthでそのaviを処理するといいよ
ただしHDDの残量に注意(また負荷もかかる)
そんな事せずにavsをvsで読みこめばいいだけだろ
avs読み込むのってavisnyth通してるだけじゃないの?
そうだよ
47 :
名無しさん@編集中 :2012/12/26(水) 16:13:25.05 ID:PTSZqjkE
VapourSynthに変えても全然速度上がんないんだが… VapourSynth…19.31 fps Avisynth…19.17 fps スクリプト(VapourSynth) import vapoursynth as vs import sys core = vs.Core() core.std.LoadPlugin(path='C:/Program Files (x86)/VapourSynth/filters/input/d2vsource_beta4_v2.dll') c = core.d2v.Source(input='E:/A.d2v') c.output(sys.stdout, y4m=True) スクリプト(AviSynth) PluginDir = "C:\Program Files (x86)\AviSynth 2.5\plugins\" LoadPlugin(PluginDir + "input\" + "DGDecode.dll") ##### Source ##### MPEG2Source("E:\A.d2v") return last x264の設定は一部を除き同じ
ソースフィルタ程度では大して変わらんよ
vsがavsより速いのは、フィルタが重くて全体のCPU使用率が低い場合だけだよ ためしにMDegrain3やTNLMeansあたりの糞重いフィルタを両方で使ってみりゃ差がわかる メモリをavs-mtみたいに無駄遣いした挙句クラッシュするようなこともなく、上手にCPU使いきってくれるよ
51 :
名無しさん@編集中 :2012/12/26(水) 21:52:24.06 ID:PTSZqjkE
重くなるほど効果があるっていうことか
52 :
名無しさん@編集中 :2012/12/27(木) 21:45:36.76 ID:FOu5NLif
Avisynthみたくフィールドオーダーを変える方法ってない?
こういうこと? clip = core.std.SeparateFields(clip, tff=True) clip = core.std.DoubleWeave(clip, tff=True) clip = core.std.SelectEvery(clip, 2, 1) これでTFFなソースがBFFになるが
neural networkで2の累乗といえばnnedi3がそうなんだけど、もっと綺麗なの?
Vaporsynthなんて出来てたのか、今日知ったぜ VIVTCってバイナリある? 使えても、縞が出るならTIVTC使ったほうがマシ? TDecimateも動かないようだし、逆テレシネまではavsで処理して読み込んでやるか
数時間かかってやっと最初のサンプルが動いたぜ…・゚・(ノД`)・゚・。 とりあえず、メモ帳のUTF-8ではBOMが付いてしまって動かないのが初心者殺しだな。 AvsPmod(2.4.0以降)にはコードの選択肢が無かったから避けてしまったが、.vpyで保存すれば勝手にUTF-8にしてくれるのか。 で、編集中にAvsPmod上でプレビューしたいときは、最後のc.outputを#でコメントアウトか削除かして、 代わりにlast = c を追加してあげればプレビューできると。 ガチ初心者でスマンw
保守
utf-8でも.vpyの中に日本語のファイル名書いたらエラーになるのは仕様?
仕様じゃね? つーかパスに日本語含まれててもエラーになるし、当たり前っちゃ当たり前。 あーしかしインタレ解除系がいけてないのが痛いな、vapoursynthは。 そのうち解消されんだろうけど、avisynthのBobフィルター読み込ませて試してみたけど大して速くならんし LeakKernelBobなんかはむしろ遅くなったわ。 IsCombedもなんかうまく動いてくれないっぽいし、 IsCombedTIVTCはConditionalFilterの中で使えって怒られるるし コーミング判定どうしたらいいんか模索中。
>>60 日本語パス(ファイル名)使うなら、indowsの場合はむしろCP932じゃないと
>>61 ただのBobならGenericFiltersやfmtconv使えばほぼ同等かより高精度に出来るでしょ
コーミング判定は、専用プラグイン誰かが書かにゃ無理だろうけど
>>62 そか、まだ動かし始めて一週間ぐらいなもんで、その辺りは試してないや>fmtconvとか
>>61 Bobなら、QTGMCがvapoursynth用に移植されてる。
ttp://forum.doom9.org/showthread.php?t=166582 ちゅーか、俺はTempGaussMCを分解してvapoursynth用に途中まで書いたトコでこれに気づいたんだがw
一応、俺の環境で試したところ、1920*1080のtsを、preset="Fast"の設定で、
Avisynth2.6 : 8.8〜9.0fps
vapoursynth: 12.2〜12.5fps
という感じ。
おお、これは良い。 LSFmodまで入ってるしw
なんかやる気出てきた
stdoutに出すことはできたが、 avspmod2.41でプレビュー表示させるところができない。 *.pvyではlastにクリップをセットして、outputは削る。 avsp上でAVIFileSource("test.vpy") だけでいいと思うんだけど、No Clip returned in last で駄目だ。 python2と3が共存しているからかなぁ。
>>67 とりあえずこれだけで開けるか試してみ
#test.vpy
import vapoursynth as vs
core = vs.Core()
last = core.BlankClip(format=vs.YUV420P8, color=[255, 128, 128])
これを
AVISource("絶対パス\test.vpy")
で開けなければ環境のせい
>>68 どうもです。ご提示のはうまくいきました。
環境は大丈夫そうです。
気になっているのは core.d2v.Source をつかっているので、
formatの指定になにか足りないのか、
あとは絶対パスにダメな文字とかあるのか。。。
>>69 ファイルパスに日本語文字使ってるんだったらWindowsだとCP932で保存しないと多分ダメ
あとはとりあえず書いたスクリプト晒してもらわないと何もわからん
Vapoursynthいろいろと試したいんだがどこで情報仕入れるのが一番いいんだ? Vapoursynthネイティブで良い逆テレシネのフィルタ無いんかなぁと探してるんだが みなさんはdoom9とかを調べて回ってるの?
>>70 ビンゴでした。CP932なら日本語パスもOKでした。
文字コードの扱いはpython2と3では違うのでもう少し調べてみます。
とりあえず既存のプラグインでDoom9で公開されてないのはVまにさんのL-SMASH-Worksのやつだけ VIVTCがダメなんだったら、サンプルでも渡してTIVTCとどう違うのか開発者本人に言わないと いつまでも直らないよ
ITSやEasyVFRみたいなことは、pythonでゴリゴリ書けば同じ事ができそうかな?
タイムコードさえ出せばいいだけだからな。 クリップ自体は単純にフレームレート揃えて繋げるだけだし。
>>75 各クリップのオブジェクトにフレーム数、フレームレートを
持ってるみたいだから、わりと簡単にタイムコード作れそうな気がする。
pythonなんだからもはや何でもできるよな。
今、一番Avisynthより有用なのは ネイティウのフィルタが早いところぐらい? 日本語のファイルパス周りが嫌な感じ
エンコはbat書いてるの?
失礼だろw ありがたや。 Avisynthじゃ24fps決めうちしてたが、導入してみるか。
タイムコードとチャプタの出力はできるように書いたから、できるんじゃないかね あと、qpfileのことを忘れてたんで、追加しました
del timecode[-1] return timecode, chapter縲〔eyframes 68行が文字化けしちゃってる
やっぱりそうなるわなってコードw pythonは楽チンでええな。 もう*.batもいらないだろうし。
avisynthは仮引数に型指定出来るのはありがたいけど、あとは貧弱だからな 整数、浮動小数点共に32bitで精度不足になりやすいし、 GScriptもBASICライクであまり使いたいと思えないし
Trim使わないのいいね!
AvsPで開いた時とそのままPythonで実行した時で 処理をIF分けできる手法がないものか
89 :
maki :2013/02/23(土) 14:01:22.17 ID:M9S1cmuh
>>88 __main__ を用意し clip.output()、行末に last=clip とする様に記述で
VFW読み込みとpython実行を両立させたvpyスクリプトにできます。(以下サンプル
--[sample.vpy]--
def vs_filtering():
c = core.std.AviSource(xxx)
return c
if __name__ == '__main__':
c = vs_filtering()
c.output(sys.stdout, y4m=True)
last = vs_filtering()
----
【備考】
私はコマンドライン引数を与えて条件分岐をするスクリプトを書いたりしてますが、
__main__ 上に sys.argv にアクセスするコードがあるとVFW読み込みでエラーが発生
する事を確認したので、main() に処理実装し __main__ はそれを呼び出す形に、と
上のサンプルにもうひと手間加えた記述にする事でより細かい制御を実現させてます。
(y4m出力、クリップの情報を表示、等)
import vapoursynth as vs import sys, os, shutil import easyvfr, havsfunc from subprocess import * def vs_filtering(): # load plugin return c if __name__ == '__main__': c = vs_filtering() # --- x264のコマンドライン作成 --- p = Popen(x264_cmdline, stdin=PIPE, shell=True) c.output(p.stdin, y4m=True) ''' for avsp_mod ''' last = vs_filtering()
>>79 おおよそ問題なく使えました。ありがたいです。
>>89 有難うございます。
>>90 みたいな感じで1つにまとめたかったです。
>>89 …
last = clip
if __name__ == '__main__':
last.output(sys.stdout)
じゃいかんの?
93 :
maki :2013/02/23(土) 17:20:45.80 ID:M9S1cmuh
>>92 いいと思います。(試してないけど
私が試した書き方ってだけなので、
こう書かないといけないって点はないです、サーセン。
いや、なんか随分回りくどいような気がしたので、ダメな場合があるんじゃないかと
>>92 動かす上ではどっちでも大差ない
これくらいの短いのだと慣れてないとかえって見にくいが、
>>82 は何か拡張があった時にコードがゴチャゴチャしにくい書き方
easyvfr、分割数が多すぎると落ちる。 自動VFR化ツールの解析結果を元に 500分割ぐらいでやってみたけどダメでした。
それはVS側の問題でしょ
ためしに適当に1500分割して走らせてみたら、python.exeのメモリ使用量が
どんどん増えていった
http://pastebin.com/eKJEKdmy 150分割ならメモリもたいして使わず完走したから実用上問題ありとも思わないんだけど、
VSがもうちょっと安定するまではあまり無茶はせんほうがいいんじゃないかね
pythonは小細工が一杯できるから、 スクリプト書いてると楽しいな。 手段が目的になってくる感じだ。 速度はイマイチだけど。
>>22 これがやっと1つのvpyで出来るぐらい勝手がわかってきた
プラグインも出ているものは一通り使わせてもらえるようになった
日本語パス周りはとにかく末尾に .encode('cp932') 付ければ
色々解決してるけどスマートじゃなさそう
vpyは色々な管理やメンテが楽になりそうでいいですね
オフィシャルでノートンが警告出すんだけど、 なんか危険なの? おいてあるローダーが悪いのかな
フィルタがいっぱいあればすごい便利なのだろうけど 一般には出回ってない感じなのかな どれぐらい進んでるんだろう
>>104 Myrsloik氏のToDoリスト的に足りないと考えられてるフィルタはmvtoolsとremovegrainだけなんだな
avisynthのプラグインって数は多いけど殆どは使い途がないか古臭いのばっかで
tivtc、masktools、mvtools、removegrainを除いたら、あとはソースフィルタと
本体標準機能でほぼ足りてしまうから
現時点でプラグイン書いてる連中はみんなそんな感じの認識だから、
これからも数はたいして増えないと思うよ
保守
使い慣れたTDeintが使えたらなぁ・・
公開されてないだけで、既に良い物はみんな移植なり、作られたりしてそう こんな便利なもの使わない手はないしなぁ
>>108 もしそうだとしたら、avisynthのwikiみたいにフィルタなどの情報を
まとめてるようなのが欲しいところだな
>>107 vivtc って tivtc と同じなんじゃなかったっけ?
VFMだけなら正しく縞無しにできてんのに、VDecimateすると縞が出てきたり フレームの前後関係が狂ったりするんだが何か使い方間違えてんのかな? clip = core.vivtc.VFM ( clip, field=1, mode=3 ) clip = core.vivtc.VDecimate ( clip ) みたいな感じでやってるだけなんだが…
113 :
112 :2013/06/06(木) 15:42:03.49 ID:wiL78vC3
あ、fieldじゃなくてorderです 写し間違い
>>112 自分でVapoursynthとVIVTCをSVNからコンパイルしてないならあの古いリリースに
あったバグの可能性がある。
一応Myrsloik氏が次のリリースを完成させたらまだ同じバグが発生したら(ry
SVNの最新だったらバグ報告した方がよさそう。
changelogによれば、
>>97 は直ったらしいな
VapourSynth r19 test3
ttp://forum.doom9.org/showthread.php?p=1634957#post1634957 Changes:
・Possibly fixed the "python in python" crash, now it at least gets past vseval_init() on my computer (seemed to be caused by differences in GIL state)
・Fixed the error that happend when not running scripts through vsscript
・VSScript tells python to no install its signal handlers when loaded
・Fixed the fps printed in vspipe's info
VapourSynthのメリットって端的になんですか? 導入も難しいし、Phyton知らないといけないのかな。 Avisynthに比べてどういう利点があって登場したんですか
>>118 例えばavisynthの場合、後付けでMTやら何やらに対応したけど、
vapoursynthの場合は最初っからマルチスレッドで動作すること前提で開発されてる。
まあ、avisynthが出た当初とPC環境やら扱う動画のサイズやら大分変わってきてしまい
アーキテクチャ的にいろいろ限界があって、イチから作り直した方がもうええんじゃね?ってこと。
マルチスレッド対応がメリットですか それは魅力ありますね となると、フィルタの種類や数がかなり重要だと思いますが AvisynthやAviutlのようにフィルタへのリンク集みたいなものありますか? スレのテンプレ見る限りではなさそう。 しかし初めて見る記述法で、かなり混乱しますねこれ。 ぼちぼちいじってみます
VapourSynth r19 test4
ttp://forum.doom9.org/showthread.php?p=1634994#post1634994 ・This version restores list_functions(). get_functions()/get_plugins() is available to get dicts which are easier to deal with if programs want to enumerate everything.
It also fixes the "python in python" issue for python 3.3 and kinda other versions (insert huge asterisk here about vseval_finalize() hanging).
あと、VapourSynthの他のいいところは:
・最初から様々な色空間に対応しようとしてる(>8bitなど)
・VFRに対応しようとしてる(ピクチャごとに長さが付いてくる)
・マルチプラットフォームなベース
・win32でAvisynthプラグインの使用も可能
・CなAPIで好みのスクリプト言語にマッピングが作れる
・デフォのPythonなマッピングはAvisynthより色々発揮できる
例:
ttp://www.marcansoft.com/paste/SlNi4aLI.txt まだ初期段階のプロジェクトであるが(8月後半で最初のリリースから1年が経つ)、
動画の部分やAPI周りはr19辺りが完成したら色々不満が解決するんじゃないかな。
公式が見れない
r19やっときた
r19ってoutput()消えて、vpy専用スクリプトを書いてvspipeで出力してくれって スタイルになったのかな vspipe経由だと可変パラメータをスクリプトに渡す方法ないよね? あと、x264にフレーム数渡したい時にvspipe infoしないといけない ちょっと不便になった気がする
127 :
名無しさん@編集中 :2013/10/14(月) 04:13:17.39 ID:4NC99CI0
941じゃなくて946だったorz
クリスマス保守
r22が公開されてるね このバージョンから64bit対応になってた
これってAVS無しでロゴ消せる?
過疎りまくりだな
導入めんどくさすぎ 使い方わかりにくすぎ
ネイティブx64よマルチスレッドなのはいいんだけどね
>>134 使いたい関数の入ったdllをPluginフォルダに入れて
import vapoursynth as vs
core = vs.get_core()
print(core.version())
print(core.list_functions())
これで表示される関数を実行するだけでしょ?
core.NAMESPACE.function()で関数を使用。
Splineリサイズなら上記の方法で表示させた関数一覧に
namespace: resize
identifier: com.vapoursynth.resize
(中略)
Spline(略)
って書いてあるから
core.resize.Spline(設定値記述)で実行。NAMESPACEは関数一覧のnamespace: のやつを記述。
これで使えるようになった。r22は64bit版がうまく動かないけど、32bitでもかなり速い。
まぁそんな重いスクリプト書かないからAvisynthと実際のエンコじゃ速度変わらないけどさ・・・スクリプトによっては実はAvisynthPlugin使っても1、2割ぐらい速く実行出来る。
@echo off
"C:\Python33\x86\python.exe" "%~dp0\list_functions.py"
pause
>>136 に追記
136のやつじゃ不十分だった。x64のPython入れてるとx64の関数を読み込みやがるから、
#print_functions.bat
@echo off
"C:\Python33\x86\python.exe" "%~dp0\list_functions.py"
pause
#list_functions.py
import vapoursynth as vs
core = vs.get_core()
print(core.version())
print(core.list_functions())
この2つを使って無理やりx86の一覧の表示をさせてる。
Pythonに長けた人ならもっとうまく出来ると思うけど、VSの為にPython入れた自分にはバッチで書くことしか出来ないお・・・
難しすぎw なんでそんなめんどくさいことせなあかんねん
公式見るだけでプラグインはあらかたわかるけども 日本語解説サイトが少ないし古いしでコピペですんなりできないけど やってみると意外と難しくは無かった ただ日本語ファイル名も音声も扱う身としては面倒なことが多いや
面倒くさいのは激しく同意
しかし思い出すんだ・・・Avisynthを覚えたての頃を・・・あの頃は先輩方のスクリプト見てもちんぷんかんぷんでコピペで書いてなかった?
それにAvisynthもAviutl使いから見れば、難しいし、覚えること多すぎって言われるよ。
むしろAvisynthが使える分関数の記述や効果もわかってるし、スクリプト言語初心者ってワケじゃないからかなりマシな方だと思うよ。
>>139 の言うように日本語ファイル名が使えないのは不便だね。それに音声を扱えないとどうしようもないね。
個人的には日本語ファイル名やパス自体使わないし、最後の出力時にエンコーダーやMuxerのオプションにしか日本語ファイル名は書かないから無問題だよ。なお音声は早急に対応してくれるとありがたいな・・・
使い方がさっぱりわからん
>>140 先輩のスクリプトを真似たり、一部改変したりしてして活用する、
ということが困難なのがVapourSynthなんですよ
どうせ上から下にフィルタ並べるだけだし
# coding: cp932 v1 = "H:/BB01/nanoha/なの/VTS_01_1.d2v" v1 = v1.encode('cp932') ret = core.avs.MPEG2Source(v1) で日本語使えなかったけ?
>>144 おー使えた、ありがとう!これで捗る
やっぱPythonの基礎わかってないとだめだね…
147 :
保守 :2014/06/02(月) 12:00:48.93 ID:dDXbVga+
R23 ? A Typical Maintenance Release Posted on March 11, 2014
148 :
名無しさん@編集中 :2014/07/10(木) 12:49:36.46 ID:dqE4OVTs
Avisynthで言うところのavs2aviのように、vpyファイルを元にして 高ビット深度のAVIファイルを作成できるようなツールは無いでしょうか? 例えばenable_v210=Trueにしたvpyファイルを渡すと、 v210入力に対応したVCMコーデック(例えばUtVideoのUQY2)の一覧が表示されて、 UQY2を選択したらUQY2の可逆圧縮avi、無圧縮を選択したらv210の無圧縮aviができるようなツールです。 v210だけならvspipe.exeでffmpegに渡してやればできたのですが、 VCMコーデックを選択して圧縮したり、P01x、P21xの無圧縮AVIを作る方法がわかりませんでした。 何か方法があれば教えていただけないでしょうか。よろしくお願いします。
149 :
名無しさん@編集中 :2014/08/02(土) 13:40:06.22 ID:TlMK+O6/
>>149 これで一応はまともに書けるようにはなったね
プレビュー機能が有難いかな
なお音声は(ry
>>149 まだシンプルだけど、今後に期待かな。今のところはAvsPmodで事足りてるけども。
しかし現時点でのダウンロード数が48(64bit)+44(32bit)か・・・。
Vapoursynth使ってる人ってどれくらいいるんだろう。
まぁ使ってる奴は殆どいないだろうね
VapourSynth Editorがr2になってるみたい
最近弄って遊んでるけどVapoursynthの面白いところは副音声ならぬ副映像?のようなものが使えるらしいということ
例えば
import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(r"C:\VapourSynthTest\vslsmashsource.dll")
core.std.LoadPlugin(r"C:\VapourSynthTest\vsrawsource.dll")
src0 = core.lsmas.LibavSMASHSource("C:\VapourSynthTest\ほげほげ.mp4")
src1 = core.lsmas.LWLibavSource("C:\VapourSynthTest\ふがふが.flv")
src2 = core.raws.Source("C:\VapourSynthTest\ふーばー.y4m")
src0.set_output(index=0)
src1.set_output(index=1)
src2.set_output(index=2)
それから
vspipe.exe テスト.vpy - -y4m -index 0 | x264.exe --demuxer y4m - -o テスト.mp4
見たいな感じで出力出来るみたい indexオプションで指定ね
日本語パスを使ってもプラグインによっては普通におkみたいだけどよく分からん
(例としてわざと日本語パス使ってる)
ttp://csbarn.blogspot.jp/2013/06/vapoursynth-r19.html >そしてもうひとつ大事なことですが、Windowsの場合、日本語ファイル名が扱えるかどうかはプラグインの実装次第となりました。
この辺から変わったのかな?
書き忘れ もしindexの数を知ることが出来ればコマンドプロンプトでいうfor /Lで一気に全indexを出力出来るかもしれないね
avisynthでもできる
横からだけどAvisynthでも出来んの? avsの文字列を自動的に置換させて切り替えるしか思いつかないが...
avisynthには環境変数を読み込むプラグインがあるので hogehoge=fugafuga /path/to/avs2pipemod -y4mp input.avs みたいに実行してavs内でhogehoge環境変数を読み込んでifで分岐させればいい
ああなるほどそうやれば分岐できるのか 思いもしなかった方法だわ 勉強になったわサンクス
r24来た Python3.4が必須? その他色々追加されてるみたい
Pythonも入れ替えか〜
もうちょっと枯れるまでは使う人増えそうにないなw
>>162 namespace: generic
identifier: chikuzen.does.not.have.his.own.domain.genericfilters
Binarize(clip:clip; threshold:int:opt; v0:int:opt; v1:int:opt; planes:int[]:opt)
以下略
標準の関数に組み込まれてるのかもしれない。
ちなみにr24で確認
509 Bandwidth Limit Exceeded
ttp://www.vapoursynth.com/ Bandwidth Limit Exceeded
The server is temporarily unable to service your request due to the site owner reaching
his/her bandwidth limit. Please try again later.
(ノ∀`)
dubhater氏、mvtoolsのvapoursynth版開発するようだね
俺の環境でvapoursynth版mvtools動かしてみたら、32bitだとDegrain2とか3で動かすと落ちるw 64bitだと問題ないが。 んまあ、64bitでDegrain3とかで明らかにavsよりも速度出るし、こりゃええわ。 やっとネイティブ64bit環境でやりたいことができる。
169 :
名無しさん@編集中 :2014/10/12(日) 21:23:47.93 ID:qU+U0BB4
HAvsFunc-r11から、VapourSynth版RemoveGrainが同梱
すげぇ・・ HolyWuさんNiceすぎる
TDeintModがバージョンアップして20-30%早くなったらしい
間違えた 正しくは30-40%だった
avs内で VapourSynthを呼び出すことは可能ですか?
>>176 出来るよ サンプルね
でも実用性があるかどうかは別かな D2V読み込みはVSが速いけどクラッシュすることもあるし。。。
# VSEvalサンプル
LoadPlugin("VapourSource.dll") # Chikuzen氏のプラグイン
# VapourSynthのスクリプトを書く
vpy = """
import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(r"vslsmashsource.dll") # L-SMASH WorksのVS版
r = core.lsmas.LibavSMASHSource(r"hogehoge.mp4") # 読み込んでリサイズ
r = core.resize.Spline(r, 1280, 720, format=vs.YUV420P8)
l = core.lsmas.LibavSMASHSource(r"fugafuga.mp4") # 読み込んでリサイズ
l = core.resize.Spline(l, 1280, 720, format=vs.YUV420P8)
r.set_output(index=0) # rとlをそれぞれindex=0,1として出力
l.set_output(index=1)
"""
# VSEvalでindex=0,1をそれぞれr,lとして読み込む
r = VSEval(vpy, index=0)
l = VSEval(vpy, index=1)
return StackHorizontal(r, l)
他にもVapourSynthスクリプトをImport()するVSImport()も収録されてるからそっちを使うてもあるよ スクリプトファイルが2つになるけど
>>177 ,178
ありがようございます。
ググって調べてますが、rとlで違うファイルを読み込んでいるのはどういう事なんでしょうか?
連結しているということですか?
>>179 横からだけど、ファイルを2つ読んでるのは、1つのvpyで複数のストリームを出力できるという
Vapoursynthの特長を示してみたとかそんな感じでは。
あと多分もう見てると思うけどVapourSourceのページはここ。
VapourSource - Avisynth wiki
http://avisynth.nl/index.php/VapourSource ・・・そういえばAvisynth版のL-SMASH Worksがうまくビルドできなくて泣いてるんだけど、
Vapoursynth版なら簡単にビルドできるから、Vapoursynth経由で使うという手もあるな・・・。
>>180 の言うとおり、VapourSynthは同時に複数のストリームをset_output()出来るの
index=0,index=1の部分ね
それをVSEval()のindexを明示してAvisynth側のr,lでそれぞれ呼び出してるの
違うファイルを呼び出してるのは特に理由はないよ
ただしVSEval()のindexの意味を理解するには手っ取り早いかな〜と思っただけ
まぁ自分が昔、VSEvalやVSImportについて調べてた時のサンプルにコメントつけて書き込んだだけだし・・・
普通の使い方じゃset_output()を複数書くことないから混乱させるだけだったね ゴメン
>>180 >>179 への捕捉トン
L-SMASH WorksのAvisynth版はstaticな奴は自分も難航してる
たくあん氏のやってるsharedなビルドは出来たけどね
さすがにVS経由は面倒すぎると思うよ 音声ガーーってなる未来も見えるな
>>180 ,181
詳しい補足ありがとうございます。
たくあん氏は配布やめたからsharedに切り替えただけで元はstaticでやってた だからたくあん氏のビルドスクリプトの履歴さかのぼればstaticのやり方も書いてあってその通りにすればできるはず
ダメだ・・訳がわからん。。
>>184 一応書いておくと、
>>177 は、avsファイル内でVapoursynthのスクリプトも書いてしまう場合の話だよ。
既にあるvpyファイルを読み込むなら、以下の2行のavsを書くだけでいいはずだけど。
LoadPlugin("VapourSource.dll") # Chikuzen氏のプラグイン
VSImport ("test.vpy")
エラーメッセージはどんなんなのよ エスケープ絡みでミスってると予想
r23の頃に書いたもんだけど、こんな感じでいけるはずだが。 r24に入れ替えようと思って消したまま放置してるのでr24では未確認だが。 Vapoursynth Editorは使ったことないけど、新規ファイル作ってコピペして DLLやファイルのパスだけ変えて試してみたら? # test.vpy # パスの前にrがついてるのはお約束なのでちゃんとつけるように。 # Vapoursynthをimportする import vapoursynth as vs # Vapoursynthのコアを取得する core = vs.get_core() # AVISource()でAVIファイルを読み込む場合 video = core.avisource.AVISource(r"D:\VapourTest\test.avi") # RGBのAVIの場合はこれが必要かも。 #video = core.std.FlipVertical(video[0]) # L-SMASH WorksでMP4を読み込む場合 #core.std.LoadPlugin(path=r"D:\VapourTest\vslsmashsource.dll") #video = core.lsmas.LibavSMASHSource(r"D:\VapourTest\test.mp4") # リサイズやAvisynthでいうConvertToXXX()はresizeで行える。 video = core.resize.Lanczos(video,width=640,height=360,format=vs.YUV420P8) #video = core.resize.Lanczos(video,width=640,height=360,format=vs.COMPATBGR32) #video = core.resize.Lanczos(video,width=640,height=360,format=vs.COMPATYUY2) # videoを出力にセット video.set_output()
ttp://forum.doom9.org/showthread.php?p=1698762#post1698762 >Here's R25 test 1. Test it and all that. It should be realease quality.
>The most interesting additions are the verticalcleaner filter and dot syntax like avisynth:
>core.Source('Rule 6 violation.mkv').FlipVertical().FlipHorizontal()[:100].set_output()
R25テスト版北
内容としてはverticalcleanerの追加と上記のようなAvisynthライクな連結構文
>>186 取り敢えずそういう時はスクリプト全文晒す
他の人も言ってるけどエスケープでミスってる気がする
それと日本語由来なエラーの可能性もあるね Chikuzen氏か何かのブログでVapourSynthの日本語使用可能か否かはプラグイン側の実装で決まるらしい
エスケープはrを付ける
つまりr"C:\test.mp4"みたいな感じ
後は変なところに全角スペースとか入ってる可能性かな・・・AvisynthでNGだったはずだけど
エラー文も重要なメッセージだからそれを見ることも大切
>>187 ,178,190
どうもすいません。
昨日は一度にいろいろやり過ぎたので明日改めてやってから報告するつもりでした。
で188氏のスクリプトを一行ずつコピペしたところ無事に読み込めました。
アドバイス感謝です。
どうやってもyadifmodが動かないので動くスクリプトを教えてもらえませんか? avisynthほど情報もないし勝手が違いすぎる。
そもそもVapourSynthスクリプトの書き方を知らないことに気が付いたので、サンプルを書いていただけたらと思いまして。 書いたスクリプト # Vapoursynthをimportする import vapoursynth as vs # Vapoursynthのコアを取得する core = vs.get_core() video = core.d2v.Source(input=r"D:\HA.d2v") core.yadifmod.Yadifmod(order=1, edeint=eedi2(field=1)) video.set_output() エラー文 Failed to evaluate the script: Python exception: name 'EEDI2' is not defined Traceback (most recent call last): File "vapoursynth.pyx", line 1406, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:21840) File "C:/Users/半角ユーザー名前/Desktop/VS/VapourSynthEditor-r3-32bit/Untitled.vpy", line 11, in <module> video = yadifmod.Yadifmod(order=1, edeint=EEDI2(field=1)) NameError: name 'EEDI2' is not defined
>>194 何の反省もしてないな君。
>>190 が書いてることをちゃんと読みなよ。
そのエラー文をちゃんと読めば対処できるでしょ。
対処できないなら、Vapoursynthスクリプトの書き方を知らないんじゃなくて、
元のAvisynthスクリプトの意味をちゃんと理解していないということになると思う。
>>195 ありがとう!
eedi2をeedi2.EEDI2に置き換えたら動きました。
言われてみれば単純明快で、初歩的なことでした。
スレ汚しすみません。
>>183 調べようと思って氏のブログ見てたんだけどアクセス出来ない
ブログやめちゃったの?
>>197 otsukemono.blogspotは何かサスペンドされたとかなんとかで、今はjpやcomドメインだとアクセスできなくて
deドメインならアクセスできるとかなんとか。(Twitterより)
今見たら11/3にLSMASHSource.dllに関する記事書いてくれてるね。
>>198 こっちでも調べてたんだけどblogspot.jp全体が駄目みたいですね
試しに適当にblogger使ってるブログ見てみたけど全部アクセスできなかったです
googleのミスらしいです
200 :
196 :2014/11/10(月) 20:55:32.45 ID:oWLFJmPm
動いたって書いたけど今日触ったら どうやってもNameError: name 'eedi2' is not definedって出る。 やっぱ情報が少なすぎるは
yadifmodを諦めてTDeintModを試したら一発で動きました。 やはりネットで拾ったスクリプトを継ぎ足し/改造して使ってる私には高度な事は無理なようです。。 ダメ元でやってみてよかったです。何度も本当にありがとうございました。 (本当に)動いてるスクリプト // # Vapoursynthをimportする import vapoursynth as vs # Vapoursynthのコアを取得する core = vs.get_core() video = core.d2v.Source(input=r"D:\HA.d2v") video = core.tdm.TDeintMod(video, 1, 1, 0) video.set_output() //ここまで
dfttestも移植された
とうとう、mvtoolsが16bit対応
212 :
名無しさん@編集中 :2015/02/06(金) 22:20:18.45 ID:V/W411PX
213 :
名無しさん@編集中 :2015/02/13(金) 22:00:38.43 ID:cshOfF2a
muken氏頑張ってるね。
avisynthの writefile 群に相当する機能は vapoursynthでどの様に書けばいいのでしょうか
>>215 やったことないけど、Pythonのファイル出力を使えばいいだけじゃない?
>>215 std.FrameEvalでなんとかする
FrameEvalはavisynthにおけるConditionalFilter全部に相当するので
どう書くかはなにをファイルに書き出したいのかによる
メインの開発者でしょ