Avisynth 初心者質問スレ Part5at AVI
Avisynth 初心者質問スレ Part5 - 暇つぶし2ch665:名無しさん@編集中
12/11/14 00:49:03.81 Zu+s/gQy
MPASourceでmp3読み込もうとすると
「system exception access violation」っていうエラーがでるけど何なの?
普通に読み込めるのとそうでないのがある

666:名無しさん@編集中
12/11/14 09:09:09.51 rxs4Ls+2
何なの?って言われてもお前が間違ってるとしか言いようがないよ

mp3はwavヘッダ付きかそうでないか?
チャンネル数は?
どういうコマンドで読見込むつもりだったの?

質問したいならこれらの情報を添えて「お願いします」だろ普通

667:名無しさん@編集中
12/11/14 10:48:02.27 1BohzvjY
>>665
ffms2で読み込めよ。

668:名無しさん@編集中
12/11/14 22:32:48.68 cv/+aFKr
xhmikosr氏ビルドしたプラグイン一覧
特に理由がない限りここからダウンロードしたほうがいいかも
URLリンク(xhmikosr.1f0.de)

669:名無しさん@編集中
12/11/17 01:34:49.07 Dg/hyjpW
>>126にはないプルダウン周期を見つけましたがこれは何なのでしょう?
?は不明箇所
????110101
縞の状態であらわすと、???PPになります

670:名無しさん@編集中
12/11/17 02:03:06.90 tPCnfpIJ
PAL > NTSC にしたものじゃね?

671:名無しさん@編集中
12/11/17 02:20:34.79 Dg/hyjpW
>>670
それは違うと思います
これ以降から終わりまでプルダウン周期は0010100101(PIIPP)になります。

672:名無しさん@編集中
12/11/17 02:25:01.61 kyqvLIwu
単なる周期不定だろ
手動で解除すればいい
今は少ないかもしれんけどそんなのいっぱいあるぞ

673:名無しさん@編集中
12/11/17 02:32:57.81 Dg/hyjpW
後出しになってしまいましたが、????110101(???PP)以前の周期パターンは0100101001(PPIIP)でした

674:名無しさん@編集中
12/11/17 04:04:14.24 Dg/hyjpW
>>669
>>673
どうやらこの区間は、2-3プルダウンでなく2-3-3-2プルダウンみたいです

675:名無しさん@編集中
12/11/17 14:40:59.90 XtQMJU+h
keyframes{
0 "chap_a"
100 "chap_b"
}

def内に上記のような記述をせず
avsp_modのマクロでchapter出力したtxtをmuxするだけでは
チャプターを指定していた箇所がキーフレームにならないんでしょうか?

676:名無しさん@編集中
12/11/17 14:45:54.73 kyqvLIwu
何でエンコードしてるかしらんけどx264の場合qpfileで指定しないといけない

677:名無しさん@編集中
12/11/17 18:30:50.80 XtQMJU+h
今までx264でエンコしたもので再生時にチャプターにとぶと
直前のフレームが表示される場合があったりしたんですが
それはキーフレームがチャプター指定した箇所に設定されていなかったから
近くのIフレームにとんだって解釈でいいんでしょうか?
プレイヤーによるかもしれませんが

678:名無しさん@編集中
12/11/17 18:51:56.84 kyqvLIwu
qpfileを指定しなかったらx264が判断してキーフレームにするかどうか決める
明らかなシーンチェンジとかじゃなく尚且つ直前のキーフレームからkeyint内ならキーフレームにはならない
aviutlに読み込ませてキーフレームになっているかどうか確認すればいい

679:名無しさん@編集中
12/11/17 19:35:06.38 XtQMJU+h
理解できました
ありがとうございます

680:名無しさん@編集中
12/11/18 04:47:15.41 +NOlargu
fmtconv
URLリンク(forum.doom9.org)

作者は、ditherでおなじみのcretindesalpes氏
VapourSynth版dither

681:名無しさん@編集中
12/11/18 04:58:28.17 +NOlargu
誤爆...orz

682:名無しさん@編集中
12/11/21 01:37:08.96 fO/zKA/H
>>1


>>4-5
ID:fo8cmi5Eの罪は重いな。

683:名無しさん@編集中
12/11/21 01:46:39.08 fO/zKA/H
すまぬ AviUtlスレと誤爆した

684:名無しさん@編集中
12/11/22 22:40:38.06 F2l9vVLn
ffms2でMPEG2Source("project.d2v", info = 1)のような情報を出すにはどうすればいいのでしょうか
具体的にはffms2でIフレームやPフレームの位置が知りたいです

685:名無しさん@編集中
12/11/23 00:07:22.89 3joUevnc
LoadPlugin("ffms2.dll")
Import("ffms2.avsi")
FFVideoSource("video")
FFInfo()

686:名無しさん@編集中
12/11/23 01:55:52.03 8qH0X/2w
今までずっとCプラグイン版で四苦八苦してました通常版だと問題ないんですねありがとうございます

687:名無しさん@編集中
12/11/24 03:08:22.49 /OLqga1y
60iソースでフレーム数が1498と972のフレーム数の映像を別々に逆テレシネして後から結合すると1フレーム不足する
本来ならば総フレーム数が2470(1498+972)のソースを逆テレシネするとフレーム数が1976にでないといけないのに、フレーム数が1975になってしまう
総フレーム数が5の倍数なら別々にやらないで一括で処理したほうがよさそうだな

688:名無しさん@編集中
12/11/24 06:37:38.51 vAWhOzm7
必ず4/5にしなければいけないというルールは無いが
綺麗なfpsにしたいというのなら好きなようにすれば良い

689:名無しさん@編集中
12/11/25 00:14:13.10 VaL6GZSd
逆テレシネで周期パターンがPIIIPというのを見つけましたが、この場合はどうしたらいいのでしょうか?

690:名無しさん@編集中
12/11/25 01:13:20.18 LwJO2T3n
>>689
doubleweave.pulldown(0,3)

691:名無しさん@編集中
12/11/25 02:54:19.67 VaL6GZSd
thk!

692:名無しさん@編集中
12/11/25 22:43:53.80 MsEsnczD
元動画が悪くて、映像が途中で一瞬乱れて、そこから音ズレも起きるんですが、
乱れた映像は Trim で削れたんですが、途中から音ズレを修正する方法はありますでしょうか?

693:名無しさん@編集中
12/11/26 00:51:04.28 gp9xGvmg
DelayAudio()

694:名無しさん@編集中
12/11/26 19:36:29.82 GeLMPrVV
avisynthで特定のフレームを水増しするということはできますか?

695:名無しさん@編集中
12/11/26 19:47:16.79 wCD4F0eP
Loop()

696:名無しさん@編集中
12/11/26 20:40:16.72 EJ2sjQYR
>>694
dup.avsi
function dupFrames(clip c,clip c2,int cnt){
# フレームを複製する
# 要 LGhost.dll
c2=default(c2,c)
cnt=default(cnt,1)
last=c2
GScript("""
for(i=0,cnt-2,1){ last ++ c2 }
""")
return last
}

sample:
hoge.mpgの3210番目のフレームを120枚複製するデモ

DirectShowSource("hoge.vob", fps=29.970))
dupFrames(trim(3210,3210),120)
return last

697:名無しさん@編集中
12/11/26 20:41:25.76 EJ2sjQYR
あ、mpgとvobがごっちゃになっとるw
ファイル名は無視していいから訂正しなくていいよな

698:名無しさん@編集中
12/11/26 20:51:00.93 wCD4F0eP
>>697
URLリンク(www.avisynth.info)

>hoge.mpgの3210番目のフレームを120枚複製するデモ

DirectShowSource("hoge.vob", fps=29.970))
Loop(120,3210,3210)
return last

699:名無しさん@編集中
12/11/26 21:09:31.65 ufi1XHpZ
>>694
trim(100,120)++trim(100,120)++trim(100,120)

700:名無しさん@編集中
12/11/27 00:20:19.69 XXdw6Za9
>>699
感動した

701:名無しさん@編集中
12/11/27 09:20:39.85 8Iiwp4Oi
>>698
ふむ。そんなに悔しかったのか。
やりかたは色々あるし代案があってもいいと
思えない人は結構いるんだよな

702:名無しさん@編集中
12/11/27 10:23:16.17 GyKXugah
悔しいんじゃなくてバカにしてるんだろ
たかがこれだけのことにGScriptとかGavino氏もあきれるわ

703:692
12/11/27 14:08:31.47 28fYR2Gb
>>693
ありがとうございます。途中からの音ズレを修正する場合はどうしたらいいでしょう?

Trim(580,117110)
DelayAudio(+0.5)

Trim(117253,0)
DelayAudio(+1.0)

と、やったら、フレーム117253 からの映像が静止するだけのプレビューになってしまいました。
117110~117253 の間にノイズがあったので、

Trim(580,117110)+Trim(117253,0)
DelayAudio(+0.5)

と、やると、117252までは綺麗に再生できますが、
117253からは音がズレたまま最後まで再生されます。117253以降も、もう1秒ほど音声を遅らせたいです。

704:名無しさん@編集中
12/11/27 14:24:54.06 8z46EedM
例えば200フレームのクリップがあって、0から50フレームの音を0.5秒遅らせて、100フレームから最後までの音を1.0秒遅らせて
0から50フレームのクリップに100から199フレームのクリップをくっつけるなら
a = Trim(0,50)
a = a.DelayAudio(+0.5)

b = Trim(100,0)
b = b.DelayAudio(+1.0)

a++b

705:692
12/11/27 14:46:05.80 28fYR2Gb
>>704
素晴らしく分かりやすい説明をありがとうございました!!
できました。

706:名無しさん@編集中
12/11/27 21:36:53.22 8Iiwp4Oi
>>702
>たかがこれだけのことにGScriptとかGavino氏もあきれるわ

じゃぁおまえはどんなときにGScriptを使うんだ?
まさか高級言語顔負けな超ロングコードを埋め込む気じゃないよな?

707:名無しさん@編集中
12/11/27 22:19:27.15 GyKXugah
んなもん内蔵フィルタ等では書けない/書きにくい時に決まってるだろ
内蔵のLoop()1行で済むものを10倍に水増しってアホらしいにもほどがあるわ

708:名無しさん@編集中
12/11/27 22:27:06.28 GbNV10cE
そもそも「素人に」説明するのに内蔵で済むものを
まったく同じ処理の自作avsiを引っ張りだしてくる方がどうかしてる。
教える気ないだろ

709:名無しさん@編集中
12/11/27 22:32:07.36 utpZ3OgT
100歩譲ってLoop使わずに自作関数でやるとしてもその程度でGScriptなんて要らない
function dupFrames(clip copyframe,int cnt){
function hoge(clip c,clip _c,int cnt,int crnt){(crnt>=cnt)?c:hoge(c++_c,_c,cnt,crnt+1)}
copyframe.hoge(copyframe,cnt,1)
}

710:名無しさん@編集中
12/11/28 00:15:05.91 G5JrUWyE
玄人思考

711:名無しさん@編集中
12/11/28 00:39:14.83 dCwQ6RMJ
2.6.1だがLoopが使えない。どういうこと?
2.5.8に戻せってことなのか?

712:名無しさん@編集中
12/11/28 00:48:43.46 RkeogiOX
AviSynth2.6 2012.08.28版 x86 SEt氏
これで普通に使えるよ
最新版だと思うけど合ってる?

713:名無しさん@編集中
12/11/30 06:57:42.80 fnerN6Am
ものすごく今更なレスですが・・・
>>557
>>561
参考になりました、ありがとうございました。
>>559
エンコ自体は数年やってますし>aviutlだけでは出来ない 一応できますよね・・
割れアニメにお詳しいんですね。

ちなみに、この質問時は全体の処理はAviutlで、テロップのフレーム部分だけAvisynthで処理させてました。
結合時に音声が一瞬途切れるので、別途音声エンコしてMP4 Boxで音声を付け替えてでやっていました。

714:名無しさん@編集中
12/11/30 09:08:13.83 JO8SKYP9
>>713
おいおい。数年エンコしてて、音声途切れるって・・・。
どんだけバカなの。

715:名無しさん@編集中
12/11/30 09:23:15.59 X6bWURMf
>>714
文脈を嫁w

解決してるように見えるけど、後で「分割数を増やしたらだんだん音がズレます」という質問が来る気がする。
素直にEazyVFRかITSを使ったほうが後々幸せになれる。

716:名無しさん@編集中
12/11/30 11:46:07.97 JO8SKYP9
>>713
必要なのはタイムコードだけ
分割して同時エンコしたいなら>>715の追加だけで十分
エンコ時間も変わらんし、avsが1枚増えるだけ

717:名無しさん@編集中
12/12/01 17:57:29.07 hWhP5LjI
字幕焼き込みの映画とかについてなんですが、
24fps→30fps→字幕焼き込みとやっているやつなんかだと、
周期一定でもDoubleWeave().Pulldown(x,y)とやると
どうしても字幕が出たり消えたりするタイミングで
字幕がすだれになってしまうシーンが多々あります。
処理の仕組み上、どうしてもそうなってしまうのは仕方ないと分かるのですが、
これを何とか字幕がすだれになるタイミングだけ、うまいこと別の処理をかまして
字幕にすだれが出ないようにしたいのですが可能でしょうか?
素直にTIVTC24P2とか使うしかないですかね?

718:名無しさん@編集中
12/12/01 19:36:38.50 mnHMZaPY
>>717
それはフレームレートスレで「解除縞」と言われてるものだな
誤爆上等ならTIVTC24P2でおk
SelectEvery()で違う候補が使える「解除縞可能性」のパターンなら該当区間のみ別パターンにする
違う候補が使えないなら縞を我慢するかvinverse()やAviUtlのインタレ縞低減++のようなプラグインで二重化する

719:717
12/12/01 22:17:34.71 hWhP5LjI
>>718
おお、ありがとう。
今テストしてる動画が、
Pulldown(2,4)かPulldown(1,4)のどっちでも絵はOKだが字幕は縞になっちまうんで
現実的な解決策はご提示頂いたvinverse()で行くことにしました。
フレーム単位で見ると二重化してるんで字幕の色が薄くなってるけど
実際に動画として見れば大して違和感ないし縞に比べりゃ全然マシなんで。

720:名無しさん@編集中
12/12/02 02:07:14.07 V79VM33n
字幕箇所をConditionalFilter+IsCombedTIVTCで
縞判定してやれば自動で出来るけど

721:717
12/12/02 05:29:29.58 lJptAfe0
>>720
お、すげーありがとう。
とりあえず即興で以下のスクリプト書いたらめちゃいい感じでした。


DoubleWeave().Pulldown(2,4)
MyAutoCombReduce()

return last

function MyAutoCombReduce(clip clip){
Deinted=clip.QTGMC( Preset="Fast").SelectEven()
ConditionalFilter(clip,Deinted,clip,"IsCombedTIVTC(cthresh=6,MI=60,blockx=8,blocky=32)","=","true")
}

722:720
12/12/02 23:44:58.89 s32VnncB
そこまで作れるなら、もう一つアドバイス

cropしてから縞判定するとで誤爆を減らせ
overlayで画質の維持が出来る
参考は、前に書いたafterTelopでggってね

723:名無しさん@編集中
12/12/03 03:30:30.32 qWLo6lcp
>>722
YV12ならoverlayよりmasktoolsのほうが速くてオススメ

724:717
12/12/03 23:03:40.81 euv+H8/q
>>722
>>723
さらにありがとうございます。

つまり、どうせ縞になるのは字幕部分だけなんだからcropして縞判定すりゃ
誤爆も減るし、判定エリアが狭いから速度的にも有利と。
ついでに字幕部分だけでマスク作ってオーバーレイしてやった方が、
縞発生以外のエリアは元の絵を保持できるんだから画質的にも有利と。。。

afterTelopはググったら絶賛スレの過去ログが出てきて
どうも親切な人が作ってくれた関数みたいっすね。
やろうとしてることはなんとなく理解したんで、ちょっと試してみます。

725:名無しさん@編集中
12/12/03 23:20:48.99 nNiMUUSo
作者さんがいらっしゃるみたいなのでafterTelopについて2点ほど質問です

・AssumeFrameBased()でボトムファーストにして判定してますがComplementParity()そ付けなくて問題ないでしょうか?
・途中でYUY2に変換されるときConvertToYUY2()が無指定でのデフォルトのinterlaced=falseになっています、trueにするべきと思うのですが何か意図がおありでしょうか?

726:名無しさん@編集中
12/12/03 23:23:37.26 nNiMUUSo
タイプミスしまくってますね・・・読みにくくてすみませんorz

727:720
12/12/03 23:52:39.73 jjmIL2MJ
前に、30分程度ででっち上げた物なので作りはいい加減です

うろ覚えですが、2版(Part28の647)でAssumeTFFに変えたはずで
AssumeTFFした段階でinterlaced=trueに変わってるんじゃなかったかな

728:名無しさん@編集中
12/12/03 23:57:52.62 nNiMUUSo
>>727
古いバージョンだったんですね・・・
新バージョンを確認しました、ありがとうございますつかってみます

729:717
12/12/04 01:58:12.97 mfgIipes
とりあえず書いてみた

DoubleWeave().Pulldown(2,4)
MyAutoCombReduce(left=120,top=800,right=-120,bottom=-64)

function MyAutoCombReduce(clip clip,int "left",int "top",int "right",int "bottom"){
c1 = clip.crop(left,top,right,bottom)
Deinted=clip.QTGMC( Preset="Fast").SelectEven()
ConditionalFilter(c1,Overlay(clip,Deinted,x=left,y=top),clip,"IsCombedTIVTC(cthresh=6,MI=60,blockx=8,blocky=32)","=","true")
}

IsCombedTIVTCのパラメータは正直良くわかってないので、
どっかからか適当に拾ってきた設定ではありますw
まあ、お蔭様でやりたいことはほぼできるようになりました。

730:名無しさん@編集中
12/12/05 00:42:44.64 NVlK/EZN
背景部分の高精細度成分のみを潰せるフィルタを探しています

歌番等のソースで、ステージの後ろ(稀に+足元)に巨大スクリーンなどが設置されている場合
格子状のスクリーンに映る映像に多くのビットレートが割かれているようです
強めにボカシ→シャープネスを掛けたり、
縮小→nnedi3で拡大してみたりと試してみたのですが効果が余りなく
時には切り出したtsより巨大になってしまう事もあり、又ならばと固定レートで試すと前面の歌手の輪郭が崩れたりと
納得のゆく策が見つかりません

手前の被写体のキメ細かさを維持したまま背景成分を抑えたい場面では
どのようなフィルタor関数で解決すれば良いのでしょうか?

731:名無しさん@編集中
12/12/05 18:08:32.52 9AFoKZqf
民生用じゃ無理ジャマイカ?

背景とそうでない部分をどうやって区別するのかが最大の課題
追尾できるモザイクフィルタのような機能が必要な気がする

縮小→アプコン→WarpSharpのような油絵化も試しているだろうし
Utlの低周波成分保護フィルタ+ぼかし→エッジレベル調整のようなものも試しているかもしれないし

732:名無しさん@編集中
12/12/05 18:54:16.38 7a59zTnB
試してみたいんだけど、なんという番組か教えてくれないかな
それか該当するシーンのスクショとかでも

733:名無しさん@編集中
12/12/05 19:23:46.46 N96fz+Rt
よしもと新喜劇か宝塚ドリーミングシアターとかでためしてみるといい
動きの多い部分と、まったく動かない部分でいい感じに比較できるから

734:名無しさん@編集中
12/12/05 19:50:01.08 7a59zTnB
舞台で背景が動かないのだったらモーションマスクか何かで
動かない部分を大雑把にアタリを付ければ無理やりにでも何とかできそうだが、
巨大スクリーンってことは背景も動いてるんじゃないか?

735:名無しさん@編集中
12/12/05 23:44:53.16 NVlK/EZN
>>731
ありがとうございます
やはり難しいですか…
>Utlの低周波成分保護フィルタ
Utlのフィルタは使用した事がありませんでしたので、ご紹介頂いたプラグインを早速試してみたいと思います

>>734
直近のソースでは、ベストアーティスト2012のステージが参考になるかと
※グーグル画像で検索したところ同番組のSSがありましたので貼り付けておきます
livedoor.blogimg.jp/livegems7799/imgs/8/8/88dd34e0.jpg

ご指摘の通り、多くの場合格子状のスクリーンに投影されるのはCGや風景でそれ自体が独立?して動いてます
ちなみに、背景のスクリーンがノッペリタイプだったり、或いは
格子状のスクリーンでも投影されているCGが動かない場合は上記の問題は起こらないようです

736:名無しさん@編集中
12/12/06 01:14:58.28 LDPmyJEl
人物判定のマスクあるといいのにね

737:名無しさん@編集中
12/12/06 01:37:06.17 Iv69A69N
video1 = MPEG2Source("OP.d2v")
video1 = DoubleWeave.SelectEvery(5, 0, 3)

とするとエラーが出るのですがどうすればいいのでしょうか?
「video1 = 」となっているのは後で「video1 ++ video2 ++ video3 ++ video4 ++ video5」とするためです

738:名無しさん@編集中
12/12/06 01:41:03.36 7XP684dR
>>737
video1 = MPEG2Source("OP.d2v")
video1 = video1.DoubleWeave.SelectEvery(5, 0, 3)

739:名無しさん@編集中
12/12/06 01:52:12.37 Iv69A69N
>>738
ありがとう
うまくいけました

740:名無しさん@編集中
12/12/08 11:02:49.60 aLm1E8z/
xhmikosr氏のサイトで配布されているavisynthプラグインに同梱されているソースコードを使って色々ビルドしてたんだけどmasktoolsとRemoveGrainのビルドがうまくいかなかった
前者はyasmが必要で、後者はslnファイルからだとRemoveGrainしかビルドできず(Repair・Rsharpenがビルドできない)

別のサイトだが、AddGrainC 1.7.0のソースを調べてみたが、RelSymという謎のソリューション構成があったけど一体なんだろう?

741:名無しさん@編集中
12/12/08 12:48:06.52 hzqMmA4k
RelSymはRelease with Symbolsの略

742:名無しさん@編集中
12/12/08 16:59:11.13 aLm1E8z/
>>741
RelSymの意味解説乙!

743:名無しさん@編集中
12/12/08 21:39:22.86 aLm1E8z/
追記
mt_masktoolsのビルドにはyasmだけでなくboostという奴も必要

yasm
URLリンク(yasm.tortall.net)
boost
URLリンク(www.boost.org)

744:名無しさん@編集中
12/12/08 21:47:16.20 sfs1xDy4
今さもうどちらも過疎だしあれだけど、
その手の話題は

Avisynthを絶讃ιょぅょ
スレリンク(avi板)

の方が良いのじゃないか?

745:名無しさん@編集中
12/12/08 23:00:02.38 aLm1E8z/
ようやくmt_masktoolsのビルドができたので、そのメモ(かなり適当だが…)

1.masktools.slnを開く

2ツールバーにある緑色の横向き三角ボタンの右側にあるプルダウンメニューを『.release-avs25』または『release-avs26』にする

3.ソリューションエクスプローラー上の『common』ファイルを右クリックして『プロパティ』

4.『構成プロパティ>C/C++>全般>追加のインクルードディレクトリ』の先頭に以下を追記
 『(環境によって異なる)\boost_1_52_0;』

5.4の設定が終わったらソリューションエクスプローラー上の『common』を右クリックして『ビルド』

6.ソリューションエクスプローラー上の『masktools』ファイルを右クリックして『プロパティ』

7.4と同じようにboost_1_52_0のパスを追記

8.7.ソリューションエクスプローラー上の『masktools』ファイルを右クリックして『ビルド』
 この時、『functions.asm.obj』がないので必ずエラーが出る

9.『common』をビルドした時に『(環境によって異なる)\src\common\build\Win32\release-avs25(またはrelease-avs26)』というフォルダが作成されているので、その中から『functions.asm.obj』というファイルをコピーする

10.『(環境によって異なる)\src\masktools\build\Win32\release-avs25(またはrelease-avs26)\obj』というフォルダがあるはずなので、その中に貼り付けする

746:名無しさん@編集中
12/12/08 23:07:58.45 aLm1E8z/
>>745続き
>>745に書き忘れたが、一旦、VisualStudioを終了させる
場所は8.と9.の間

11.再度masktools.slnを開いてソリューションエクスプローラー上の『masktools』ファイルを右クリックして『ビルド』
  しかし、LNK関連のエラーが出てしまいビルドできないので、後述のbatファイルを作成する必要がある
12.ソースファイルに同梱されている『compile_help.txt』を参考にしてbatファイルを作成
13.後はソースファイルの中にbatファイルを入れて実行する

成功すればビルドできるはず

747:名無しさん@編集中
12/12/09 01:27:11.67 1jZjTbCm
>>746
乙カレ

748:名無しさん@編集中
12/12/09 06:32:29.20 xM9nQH+q
RemoveGrainのRepairとRSharpenのビルド方法分かる人いる?
流石にこれだけはお手上げ...orz

749:名無しさん@編集中
12/12/09 12:58:55.44 2zWr4F1g
何のためにビルドしたいのか意味わからんけどRemoveGrain.cpp内で定義を切り替えればいいだけ

750:名無しさん@編集中
12/12/09 20:36:01.13 xM9nQH+q
>>750
定義の切り替えはこれかな?
//#defineMODIFYPLUGIN1// creat Repair plugin instead of RemoveGrain, 0 = compatible with RemoveGrain
//#defineSHARPEN1
//#defineBLUR 1
//#defineSSE2_TEST// ISSE2 version that can be used side by side with the SSE version
//#defineDEBUG_NAME// for debugging
//#defineISSE2// P4, Athlon 64, Sempron 3100
//#defineISSE3// Prescott P4
//#defineCVERSION// for debugging only

ちなみに、MODIFYPLUGINを有効にすると、SHARPENまたはBLURの定義は使用できなくなる(どっちも有効にするとエラーが出る)

751:名無しさん@編集中
12/12/09 22:26:40.30 xM9nQH+q
>>749
速度がどれだけ向上するかだけど、実際に測ってみたら誤差の範囲内だった
xhmikosr氏そのまま…12.25fps
xhmikosr氏のソースを自ビルド…12.21fps
どちらもRemoveGrainとRepair

スクリプト内容
MPEG2Source("E:\test.d2v")
DoubleWeave.SelectEvery(5, 0, 3)
LSFmod(defaults="slow")

752:名無しさん@編集中
12/12/09 22:40:34.51 xM9nQH+q
>>750
Repairをビルドしたい場合は
//#define MODIFYPLUGIN 1の//を削除すればOK

RSharpenをビルドしたい場合は
//#define SHARPEN 1の//を削除すればOK

ただし、>>750の通り、MODIFYPLUGINとSHARPENを同時に有効にするとエラーが出るので、どちらかに絞ろう
また、ファイル名はRemoveGrainのままなのでリネームする必要もある

SSE2を有効にしたい場合は//#define ISSE2、SSE3を有効にしたい場合は//#define ISSE3の//を削除する
両方の//を削除すると警告が出るので、どちらかに絞ろう

753:名無しさん@編集中
12/12/09 23:17:01.58 KVDQHmPd
>>751
で、一番肝腎な本家(kassandro氏)との比較はないの?

754:名無しさん@編集中
12/12/09 23:34:27.54 xM9nQH+q
>>751
1の値間違ってたのでもう一度

オリジナル版?(SSE3のバグ修正版)…13.24fps
xhmikosr氏そのまま…13.25fps
xhmikosr氏のソースを自ビルド…13.21fps

スクリプト内容は>>751と同じ

755:名無しさん@編集中
12/12/11 20:26:33.34 RsA1bZGX
次世代フレームサーバー、VapourSynthを流行らせよう!
スレリンク(avi板)

756:名無しさん@編集中
12/12/11 23:40:41.11 rjc9JaH9
VapourSynthなんてみんな知ってるし
いちいち出張してこなくてもいい
興味があれば自分から調べる

757:名無しさん@編集中
12/12/14 10:39:41.51 1hLTNfdK
放送局のロゴ解除について質問があります

↓の手順でロゴデータを作成し透過性ロゴフィルタでロゴを消しているのですが
一部の放送局(サンテレビ)では綺麗に解除出来なくて、悩んでおります
ロゴデータは3時間分のアニメを閾値8で作成しています。

他の放送局では非常に綺麗に解除されているので、不思議でなりません
動くようなロゴでもなく、フィードin,outがある訳でもない、ロゴなんですが謎です

対処、対策などあればよろしくお願いします

1)以下のようにしたavsをAviUtlで読み込む
※YV12toYUY2は、tritical氏の「ddcc」フィルタに含まれる関数です。
DGDecode_MPEG2Source("???.d2v")
YV12toYUY2(itype=0,interlaced=true,cplace=0)

2) 4:2:0化フィルタ(設定:縦1 横1 プログレッシブ・オフ)をオンにしてロゴ解析をする
※色変換の設定は、入力出力ともデフォルトのBT.601のままにしておけばよいです。

758:名無しさん@編集中
12/12/14 11:21:59.59 Yu7PyP0d
サンテレビは 1920x1080 なのが原因とか
通常は 1440x1080

759:名無しさん@編集中
12/12/14 11:34:32.13 1hLTNfdK
BS11も1920x1080ですがこちらは綺麗に解除できているんですよね

760:名無しさん@編集中
12/12/14 11:40:43.96 tjOTbPrD
サンテレビっていうかデジタル放送ソースは709だろ?なんで601なんだ。バカじゃないの?

761:名無しさん@編集中
12/12/14 11:45:15.57 1hLTNfdK
BT.709なのに入力をBT.601にする理由はEraseLOGOがBT.601で処理することを前提にしているかららしいです

ただ、もちろん709でもロゴデータは作り試しましたが結果は同じでした

762:名無しさん@編集中
12/12/14 12:03:10.81 h2oXzHRQ
>>757
こんな物で、妥協をすると言う手はある。

URLリンク(www.nmm-hd.org)

763:名無しさん@編集中
12/12/14 12:03:22.79 ceE7Rj/F
サンテレビのロゴがどんななのか(濃淡とか)は知らないけど、むしろロゴスキャンしすぎではなかろうか
俺はロゴデータスキャンする時は・・・
・スキャン範囲がなるべく単一色になる部分だけ残してTrim
・なるべくいろんな色を各100フレームくらい拾えるようにする(黒白赤緑青が基本)
・トータルで1000~2000フレーム程度
これで綺麗に消せる

764:名無しさん@編集中
12/12/14 12:04:19.09 vqgX4Ih/
>>761
サンテレビでうまくいかないのは単純にノイズが多すぎるからだと思うので
logoNR使ってみて

765:名無しさん@編集中
12/12/14 12:08:15.57 tjOTbPrD
ていうかaviutilで読み込んでインタレ解除された状態でロゴ解析してるとかじゃないのかい?
avs側からdelogo経由でロゴ抜きするときはとりあえずインタレ解除前に処理するのがセオリー

766:名無しさん@編集中
12/12/14 12:11:33.95 Yu7PyP0d
>綺麗に解除出来なくて

具体的に
ロゴの位置がずれる、ロゴの大きさが合わない、うっすらロゴが残る、など

>3時間分のアニメ

解析ソースに問題はないのか?
全フレームにロゴが表示されてないとダメだけど
途中でCMが入ったりしてロゴが消えたりしてるとか

あとは、フィルタの適用順がおかしいとか
AviUtlでよけいなものをONにしてるとか
色々あるよ

767:名無しさん@編集中
12/12/14 12:11:36.52 tjOTbPrD
書き忘れ

ていうかaviutilで読み込んでインタレ解除された状態でロゴ解析してるとかじゃないのかい?
avs側からdelogo経由でロゴ抜きするときはとりあえずインタレ解除前に処理するのがセオリー
aviutilでロゴ解析するときも解除前の映像で解析しないとつじつまが合わない。

768:名無しさん@編集中
12/12/14 12:27:44.61 1hLTNfdK
>766
具体的にはシーンによってうっすら残ったり、透明にくり抜いたような状態です、完全に消えているシーンもあります

解析ソースはCM部分、フェード部分は全て削除しています

フィルタの適応順はロゴ解析が先頭で、他の4:2:0化フィルタ以外すべてOFFです

>767
おっしゃる通りもちろんロゴ解析においてインタレ解除はしていません

769:名無しさん@編集中
12/12/14 12:31:52.78 1hLTNfdK
>762>764
↓のようにavspmodでマクロ出力した記述に
logoNRをどう差し込んで良いのか分からず断念してました

DGSource("hoge.dgi")
AudioDub(last, WavSource("hoge.wav"))
AssumeFrameBased.AssumeTFF()
Trim() ++ Trim() ++ Trim()
audio = KillVideo()
EraseLOGO(logofile=".lgd",pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=0, fadein=0, fadeout=0, end=, interlaced=false)
EraseLOGO(logofile=".lgd",pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=0, fadein=0, fadeout=0, end=, interlaced=false)
Src = KillAudio()
oldcount = Src.FrameCount
oldfps = Src.FrameRate
T1 = Src.Trim()
.
.
T2 = Src.Trim()
.
.

改行が多いと叱られたで一部のみ記載します

770:名無しさん@編集中
12/12/14 13:00:12.70 1hLTNfdK
とりあえず
logoNRを
src = DGSource("hoge.dgi")

dlg = src.EraseLOGO(logofile="hoge.lgd",pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=1, fadein=0, fadeout=0, end=0, interlaced=false)
logoNR(dlg, src, chroma=true, GPU=true, l=0, t=0, r=-0, b=-0)
return last

こんな感じで使ってみましたが変化なしでした

771:名無しさん@編集中
12/12/14 15:24:07.98 pUv206Ay
>>770
GPU=trueならFFT3DGPU()が動くか確認。
動かないならdllを入れるか nr="" でTNLMeans等の好きなNRを登録すればOK
あと、範囲指定を忘れてる。SUNなら l=1716,t=66,r=-98,b=-984 くらい?
元々破綻したフレームにロゴ消しを試みてるので綺麗に消えるワケないから諦めも肝心だよ。

釣りだと思うが ID:tjOTbPrD をマネしちゃダメだぞ。

772:名無しさん@編集中
12/12/14 16:12:32.44 1hLTNfdK
>771
指摘どうもです
FFT3DGPU()は正常に動いてます
範囲指定ってロゴの座標ですよね
この座標の指定値をどこから取得してくるのかわからかなかったので
レスして頂いた値でlogoNRを適用してみましたが、改善はしませんでした

SUNの話ををしている時点で関西だとお気づきでしょうが、地デジ、BS、CS
全チャンネルの中でSUN、KBS京都この2局のロゴだけはうまく消せません
元々消しにくい局なのか、そうではないのか・・・

773:名無しさん@編集中
12/12/14 16:22:01.56 yYw9BP+W
綺麗に消えないのは完全にレート不足
その2局は地デジなのに1920x1080なんてアホなことやってるから
ちょっと動いただけで映像が破綻するので諦めるしかないよ

774:名無しさん@編集中
12/12/14 16:25:42.41 1hLTNfdK
ぁ、なるほどやっぱり局の問題なんですね
その答えが頂けてスッキリしました

775:名無しさん@編集中
12/12/15 01:07:13.61 vawui5LZ
>>773
アホ具合で言うなら、地デジでフルセグ1920x1080+1セグをマルチ編成してる奈良テレビが優勝だと思う。

776:名無しさん@編集中
12/12/15 01:33:46.47 fs3DRk+O
自局の放送映像見て何も思わないんだろうか
内部の人は

責任というかプライドというか大事なものがすっぽりと欠落してる
と見る度に思う

777:名無しさん@編集中
12/12/15 01:49:57.38 vawui5LZ
(話振っといて何だけど、奈良テレビに関しては見るものが無いので何とも思わない。)

778:名無しさん@編集中
12/12/15 03:20:38.15 tDYwJK9c
SUNのプライドは、阪神戦ホーム7回裏の応援でも音割れしない音質と、
バックスクリーンのカメラから撮ったバッターボックスの画質(選手以外ほとんど静止画)だッ!

779:名無しさん@編集中
12/12/15 08:59:35.17 DUz1VduA
あー確かに音はいいんだよなーSUN
ヘッドフォンで聴いてると違いが分かる

780:名無しさん@編集中
12/12/15 14:33:33.88 rrR2VUK9
そういえば今度サンテレビで巨人の星の特別版を放送するんだな
巨人のアニメなんて需要無いのに何を考えてんだか。

781:名無しさん@編集中
12/12/15 14:41:42.50 tDYwJK9c
クリケット巨人の星への布石か?

782:名無しさん@編集中
12/12/15 15:31:25.49 Us6TCRbe
でも巨人の星って、つまるところ負け組巨人選手と勝ち組他球団選手達の話でしょ
姉と、昔は自分を好きだった女を寝取られ、相棒と親父も他球団で大活躍

783:名無しさん@編集中
12/12/15 16:49:35.87 sbQKhVQh
特別編は花形メインでしょ

784:名無しさん@編集中
12/12/15 23:09:46.20 IWzaWPhz
MPEG2Source("hogehoge.d2v", cpu=0)
AudioDub(last, WavSource("hogehoge.wav"))
AutoDeint()
Zoom(false,114514,893893,30,30,206,0,0,154)
#~ ここで24fps化する何か
Spline36Resize(1280,720,0,0,-0,-0)
return last

Zoom関数でL字解除する時にAutoDeintしてから24fps化したいんですけど、ここで何を使えばいいか教えてください。

785:名無しさん@編集中
12/12/16 04:36:27.44 65Ya2lUm
>>784
あなたのやりたいことは、とにかくL字を消したいってことだよね?
だとしたらそれ用の関数が作られているので、それを使うのが一番簡単
URLリンク(anibin.blogspot.jp)
ただし、L字の始点・終点部分はフレームがダブったり欠けたりするのは防ぎようがない
当然周期ズレを起こすので、L字部分だけ別処理をして最後にくっつけるのがいい

786:名無しさん@編集中
12/12/16 13:40:16.64 Ix57bxYq
>>785
ありがとうございます、説明不足でした
・本編は24fps
・L字開始終了部分が30fps
・Zoom関数の前ににAuto24FPS()を使うと干渉縞が出る
・Zoom関数の後ににAuto24FPS()を使うとかくつく
ので、これをきれいに解除するにはどうすればいいかと考えてました

787:名無しさん@編集中
12/12/16 13:41:29.96 Ix57bxYq
訂正:
・Zoom関数の後ににAuto24FPS()を使うと干渉縞が出る
・Zoom関数の前ににAuto24FPS()を使うとかくつく

788:名無しさん@編集中
12/12/16 14:03:22.80 9crH/NfE
Autoを使う限りカクツキは避けられない。
L字の入りと出が60iで映像も微妙に欠け具合が変わってるからね。
なので手動で分割するかDeLetterL系を使うしか無い。

789:名無しさん@編集中
12/12/16 14:06:50.12 Ix57bxYq
ありがとうございました、精進します。

790:名無しさん@編集中
12/12/16 14:20:16.55 Ix57bxYq
すいませんちょっと言い訳します
AutoのかくつきそのものっていうよりL字開始終了のところのです
>784で書いた
AutoDeint()
Zoom()
の順だとL字解除は満足いくので、そのまま24fps化できないかなと考えてました

791:名無しさん@編集中
12/12/17 00:32:58.62 r9lUXmKn
SelectEvery(5,,,,)でも使えば

792:名無しさん@編集中
12/12/17 02:33:34.12 WyJ/vVJl
>>791
ありがとうございます
Trim毎に適したプルダウン設定を当てればいいんですね、検索しながらやってみてます

793:名無しさん@編集中
12/12/17 03:09:32.96 WyJ/vVJl
\++Trim([,).AutoDeint().Zoom(false,,,,,,,,).SelectEvery(5, 0,1,2,4)

こんな感じにできました、本当にありがとうございました。

794:名無しさん@編集中
12/12/25 22:53:03.84 NZRaeL+A
ユーザー定義関数の中で外部プラグインて使えますか?
delogo(EraseLogo )を使いたいんだけど引数のエラーでうまくできない。

795:名無しさん@編集中
12/12/25 23:20:23.61 S0nsm3xZ
使えますよ、自作の関数の中にEraceLogoを入れて設定を楽に出来るようにしてます

796:名無しさん@編集中
12/12/26 02:08:53.90 9RZbB8tO
デジカメの時間軸ノイズ除去で出た残像を後から軽減するようなフィルタありませんよね?

797:sage
12/12/26 06:01:59.74 60m0Q35Z
>> 795 ありがとうございます。
無事、ユーザー定義関数内でEraselogoが使えるようになりました。
使えているという言葉に励まされ、試行錯誤&ぐぐっていたら↓↓こんなの見つけまして

お前らのショボイAvisynthスクリプト貼ってください part4
74 :名無しさん@編集中:2010/04/07(水) 07:35:18 ID:VC766J+4
# ロゴ表示開始又は終了地点でトップかボトムのどちらかの
# フィールドしかロゴがかかってないフレームのロゴを除去し
# クリップ全体でなくその単一フレームのみ返す関数

function HalfFieldDeLogo(clip clp, int "framenumber", bool "topfieldlogo", string "logofile"){
c=clp.Trim(framenumber,framenumber)
d=c.EraseLOGO(logofile=logofile,interlaced=true)
dc = d.SeparateFields() + c.SeparateFields()
cd = c.SeparateFields() + d.SeparateFields()
weaved = (topfieldlogo == GetParity(clp)) ? dc.SelectEvery(4,0,3).Weave() : cd.SelectEvery(4,0,3).Weave()
return weaved.AssumeFPS(Framerate(clp))
}


引数の""が必要ということだったようです。プラス上の74氏のもパク・・参考に1フレームのみの
片フィールドロゴ消しも関数に合成。avsの方の記述が非常に簡略化できました。
ありがとうございます。

798:名無しさん@編集中
12/12/27 02:16:52.18 RhaP3lNq
>>797に書かれている関数って
具体的にどうやって使うの?

EraseLOGO()の後にHalfFieldDeLogoを使うのですか?

厚かましいですが
使用例をお願いします

799:名無しさん@編集中
12/12/27 02:43:26.74 febelYdl
片フィールドロゴ消しなんてfadein=1/fadeout=1でいいんじゃないの?
普通に考えたら濃度はフィールド単位で増減させてるはずだから
fadeout=1なら0フィールド目100%、1フィールド目0%になるんじゃね?

800:名無しさん@編集中
12/12/27 03:22:00.85 0usd2WtL
>>798
HalfFieldDeLogo(適用したいフレームナンバー, トップフィールドならtrue, ロゴファイルのパス)
単純にこう
片フィールドだけ除去したいならEraseLOGO()は不要ってこと
(関数内でEraseLOGOを使ってるから、DLLを消してはダメ)
2つ目の引数については、要はロゴの出始めで片フィールドならトップ=trueでロゴの終わりで片フィールドならボトム=false
俺は片ロゴ除去にはDwShift()・UnDwShift()を使ってるからこの関数は使ってないけどね

具体例・・・1フレームが片フィールドロゴ、2-10フレーム目が普通のロゴ、11フレーム目が片フィールドロゴ
HalfFieldDeLogo(framenumber=1, topfieldlogo=true, logofile="logodata")
EraseLOGO(start=2, fadein=0, fadeout=0, end=10, depth=128, logofile="logodata", interlaced=true)
HalfFieldDeLogo(framenumber=11, topfieldlogo=false, logofile="logodata")

DwShift使用だと
EraseLOGO(start=2, fadein=0, fadeout=0, end=10, depth=128, logofile="logodata", interlaced=true)
DwShift(true)
EraseLOGO(start=1*2-1, fadein=0, fadeout=0, end=1*2-1, depth=128, logofile="logodata", interlaced=true)
EraseLOGO(start=11*2, fadein=0, fadeout=0, end=11*2, depth=128, logofile="logodata", interlaced=true)
UnDwShift(false)

801:名無しさん@編集中
12/12/27 07:38:29.40 6hXboJCZ
trueとfalseが逆だと思ったので、確かめてみた

上ふたつが表示はじめ、下二つが終わり際の片フィールドロゴに対する処理

c = HalfFieldDeLogo(framenumber=527, topfieldlogo=false, logofile=Lfile) #ok
d = HalfFieldDeLogo(framenumber=527, topfieldlogo=true, logofile=Lfile) #だめ

a = HalfFieldDeLogo(framenumber=6818, topfieldlogo=false, logofile=Lfile) #だめ
b = HalfFieldDeLogo(framenumber=6818, topfieldlogo=true, logofile=Lfile) #ok

TFFなら出始めはfalseで終わり際がtrueということかと。
あとこれは1フレームしか返さないので後で他のフレームと結合する必要があり,ちょっとめんどいかも。

そのへんをまとめてユーザー定義関数にしておくとEraseLOGOと手間があまり変わらずに片フィールドロゴの
処理までできてお手軽です。
(ていうかみなさんはスクリプトとかで自動化してたりするものなのかな?)

802:名無しさん@編集中
12/12/27 07:40:36.17 6hXboJCZ
初めて書いてみたものでお目汚しですが、こんな感じ。

function simpleErsLOGO(clip clip, int "start", int "end", int "apS", int "apE", string "logofile")
{
apS = default(apS,0)
apE = default(apE,0)
#通常ロゴ消し
clip =clip.EraseLOGO( logofile=logofile, start=start, end=end, interlaced=true)
#片フィールドロゴ消し
# 最終フレーム番号の取得
final_frame = clip.FrameCount() - 1
#開始地点片フィールド ロゴ消し
framenumber = (apS == 1) ? start-1 : nop()
Sfr = (apS == 1) ? clip.HalfFieldDeLogo(framenumber,topfieldlogo = false, logofile=logofile) : nop()
clip = (apS == 1) ? Trim(clip,0,framenumber-1) ++ Trim(Sfr,0,0) ++ Trim(clip,framenumber+1,final_frame) : clip

#終了地点片フィールド ロゴ消し
framenumber = (apE == 1) ? end+1 : nop()
Sfr = (apE == 1) ? clip.HalfFieldDeLogo(framenumber,topfieldlogo = true, logofile=logofile) : nop()
clip = (apE == 1) ? Trim(clip,0,framenumber-1) ++ Trim(Sfr,0,0) ++ Trim(clip,framenumber+1,final_frame) : clip
return clip
}
#### start end は普通の(片フィールドではない)ロゴの開始終了フレームを入力
# apS apE は前後の片フィールドロゴの有(1)無(0)
# 書き方例
#simpleErsLOGO( start=526, end=6817, apS=1, apE=1, logofile=Lfile)
#simpleErsLOGO( 526, 6817, 1, 1, logofile=Lfile)

803:名無しさん@編集中
12/12/27 10:59:21.37 FNUh8h/P
>>802
良い関数ですね。

うちでは通常のロゴ消しと半ロゴ消しは個別に別で扱いたいので
DwShift/UnDwShiftと併用して、こんな感じししています。

function EraseHalfLOGO( clip clip, string "logofile",int "Frame", int "Field" ){
clip = default(clip, "last")
field = default(field, 0)
clip = (Field==0) ? clip.EraseLOGO( logofile=logofile, start=(Frame-1)*2-1, end=(Frame-1)*2-1, interlaced=true ) : \
(Field==1) ? clip.EraseLOGO( logofile=logofile, start=(Frame+1)*2 ,end=(Frame+1)*2, interlaced=true ) : \
Assert( field < 2, "'field' choice is invalid" )
return clip
}

・使い方
logofile = ”hoge”
EraseLOGO(logofile=logofile, start=100, end=200 , fadein=0, fadeout=0, interlaced=true)
↑普通に片フィールドロゴでない範囲のロゴ消しをする。
仮に、その前後両方のフレームが片フィールドロゴだった場合の例↓

DwShift(true)
EraseHalfLOGO(logofile=logofile, Frame=100, Field=0) # 片ロゴ開始
EraseHalfLOGO(logofile=logofile, Frame=200, Field=1) # 片ロゴ終了
UnDwShift(false)

804:名無しさん@編集中
12/12/27 12:25:06.47 RhaP3lNq
>>799-803
皆さん具体的な使用例から、新たな関数までご親切にどうもありがとうございます

805:名無しさん@編集中
12/12/27 13:57:32.91 HE7FizUv
次回からロダにavsアップしてそれでやりとりしろ。

806:名無しさん@編集中
12/12/27 16:33:21.82 70okRzkS
ログに残った方が役に立たね?
ソース貼り付けるようなものだろ

807:名無しさん@編集中
12/12/27 16:41:09.34 k5bwRhoK
>>802
これ頂き
楽になりそうだわ

808:名無しさん@編集中
12/12/27 17:12:38.40 RhaP3lNq
>>802
私もこれにfadein,fadeoutを追加して使用したところ
大変満足のいく結果となりました

809:名無しさん@編集中
12/12/29 01:24:07.77 RwmedKM5
>>805-806
しょぼスレに投下してここでリンクでもいい気もするが?

お前らのショボイAvisynthスクリプト貼ってください part4
スレリンク(avi板)

810:名無しさん@編集中
12/12/29 23:29:33.37 xygWW/8P
この程度のスクリプトを態々ショボスレに貼る必要もないだろ

811:名無しさん@編集中
12/12/29 23:48:53.75 HnLgE3IH
お前ら本当に小さな事にこだわるな

812:名無しさん@編集中
13/01/01 16:54:52.99 o4sYoGWi
音声多重の放送TSの音声をすべてdemuxする方法教えてくれ。
どうやっても最初の音声しかdemuxできないんだが。

使用ツールはmurdoc+dgindex
放送TSは第63回 紅白歌合戦.ts

813:名無しさん@編集中
13/01/01 17:00:53.94 +sEF8EgC
>>812
ts2aac

814:名無しさん@編集中
13/01/01 17:26:55.45 Iyn7aXqM
dgindexのメニューのstream→detect PIDとかset PIDで
他のaacのトラックを選べると思うけど違法だしスレ違い

815:名無しさん@編集中
13/01/01 17:54:26.50 o4sYoGWi
>>813-814
どうもありがと。
色々やってるうちにどうやら自己解決できたっぽい。

murdocで無劣化カットする際に
optionのclippingの"PID is the minimum select"が有効になってたのが原因で
生成したtsファイルに複数の音声が含まれない設定になってたようだ orz

あとは814の言うように-AP=audioPIDで主音声と副音声のPIDを指定すれば個別抽出できるようだね

816:名無しさん@編集中
13/01/05 08:41:48.51 wNEx9gUP
Avisynthで動画のフィールドオーダーを自動判別することはできますか?
BSJAPANなどではTFFとBFFが混在していて、それをいちいち確認するのが手間なので自動化できないかなと

817:名無しさん@編集中
13/01/05 13:48:12.83 5bCqRjOu
元動画がmpge2のとき限定だけど、m2v_vfp使えばフィールドオーダーを固定できるよ。

818:名無しさん@編集中
13/01/05 14:56:24.81 58JP75it
AssumeFrameBased()
AssumeFrameBased().ComplementParity()
AssumeBFF
AssumeTFF
で強制することは出来るけど素材のフィールドオーダーを確実に判定する方法は無かったんじゃないかな?
いちおうこうすれば「現在の」フィールドオーダーは分かるけど、フレーム単位での処理以外に使うのはオススメしない。
ConditionalFilter(last,TFFクリップ,BFFクリップ,"GetParity(current_frame)","=","true")

819:名無しさん@編集中
13/01/05 15:30:51.14 IxpdJrB2
>>817
DGIndexにだってFix D2Vあるじゃん
avisynth使いがまるも使う意義ってほぼゼロなんですけど

820:名無しさん@編集中
13/01/05 18:13:00.18 BIbjh2jb
BSJAPANはRFFだからフィールドオーダー固定すんなよ
そもそもavisynth使ってるならdgindex使ってるだろ
d2vにフィールドオーダー情報入ってるからavs内で決め打ちしなきゃ何の問題も無い筈なんだが

821:名無しさん@編集中
13/01/06 00:17:04.86 Acv0J+Df
こまけーやつだな。ハゲるぞおまえw

822:名無しさん@編集中
13/01/06 03:04:40.88 xojgG6Ju
DGIndexの最大の弱みはメンテ放棄されてることだな。
ま、現状で特に問題ないが。

823:名無しさん@編集中
13/01/06 10:59:30.84 VrC+yDhT
DGIndexだとなぜかCPU使用率が上がらず
エンコ遅いからまるも使ってる。

824:名無しさん@編集中
13/01/06 11:15:52.76 6JMjhjl+
>>823
それならFFMS2はもっと速い。

825:名無しさん@編集中
13/01/06 11:19:50.58 ltHkzscM
YV12でデコードしててdgdecodeの方が遅いって言うならマジで環境腐ってる

826:名無しさん@編集中
13/01/06 12:09:45.07 qUHJMLF3
avisynthでまるも使うメリットなんて全く無いからな

827:名無しさん@編集中
13/01/06 13:23:44.06 NNzEQ8pU
最近Avisynthに手を出したにわかだが、何故そこまでまるもが嫌われてるのか逆に知りたい

828:名無しさん@編集中
13/01/06 13:27:33.34 ltHkzscM
別に嫌うも何も単にYV12でデコードする上では全くこれっぽっちもメリットがないからなだけ

829:名無しさん@編集中
13/01/06 14:53:48.56 X5GROkdt
本家純正だとDGDecodeはシングルスレッドだからな
MT版を使えばそこそこ速くなる

SynthオンリーでYV12しか使いたく無い人はまるもを使う意味は全くないし
Utlを併用する自分の使用法では双方でベンチとったら
MT版DGの方が速かったからこっちを使ってる
別にまるもが嫌いなわけではない

830:名無しさん@編集中
13/01/06 15:01:05.06 X5GROkdt
間違えた
MT版じゃないSSE版だった
URLリンク(hank315.nl)

831:名無しさん@編集中
13/01/06 15:22:00.67 cw0/vhgu
DGIndexNV使え
爆速だぞ

832:名無しさん@編集中
13/01/06 15:25:43.39 X5GROkdt
ゲフォ板挿す気はさらさら無いので使えません(キリッ

833:名無しさん@編集中
13/01/06 15:29:56.70 qXdGjkhC
俺もそうなんだよなー
今は不満なく使えてるからいいんだけど

834:名無しさん@編集中
13/01/06 15:46:26.46 NNzEQ8pU
へー、そうなんだー。Aviutl使ってた頃にBS11で問題が発生するようなことを小耳に挟んで以来、何となくまるも使い続けていたケド
もう問題も解決できてるみたいだし、DGIndexに乗り替えてみようかな

835:名無しさん@編集中
13/01/06 16:08:06.45 qUHJMLF3
言っとくけど皆使ってるのはmod版だからな

836:名無しさん@編集中
13/01/06 17:25:33.02 Acv0J+Df
>>835
なにを今更。
>>827
スグに調子に乗って売名するから

837:名無しさん@編集中
13/01/06 18:35:49.24 X5GROkdt
>>836
黒い奴とか柔らかい奴の存在を不必要に広めて
厨房以下を煽ってDTV板に呼び込んだり
TSツール界隈の発展を阻害したのは間違いないな

まあTSツール界隈の発展の功労者でもあったわけだがな

838:名無しさん@編集中
13/01/06 18:47:33.67 ZTk2sJzZ
DGIndexNV使うだけが目的だとしたらグラボってGT210とかでもパフォーマンス出ます?
検討中です。

839:名無しさん@編集中
13/01/06 18:59:52.32 6JMjhjl+
>>838
この表でVP5となっているGT 520やGT 610のデコードが速い。

URLリンク(en.wikipedia.org)

840:名無しさん@編集中
13/01/06 19:14:35.48 Zu2dh7oV
同じくcuda経由で叩いてるのはデコーダーユニットだから
VPxの世代で性能が大きく変わると聞いたことがある
ちなみに俺の9800GTX+がVP2なんだけど、avs2avi -c null -o n 、リサイズ・フィルタ無し設定で
1440x1080i 地デジソース デインタレース無が 155~160fps GPUデインタレース有で 90~100fps くらいに収まってる

GF210ならVP4世代だしもちっと行くんじゃね?

841:名無しさん@編集中
13/01/06 19:39:49.09 ZTk2sJzZ
>>839
>>840
返信ありがとうございます。
GT610が3000円前後で種類がいくつかあるみたいなんでそれらで検討します。

842:名無しさん@編集中
13/01/06 19:55:45.64 ltHkzscM
因みにGTX660で1440x1080iをデインタレ無しでavs2pipemodの-benchmarkオプションで測ると
360fpsくらい

843:名無しさん@編集中
13/01/07 00:24:16.46 imWbjRE4
奴は所詮デジコン側のスパイだしな。自業自得

844:名無しさん@編集中
13/01/11 14:26:41.38 96NCOIW/
最近avisynthについて調べてるんだけど
Decombってどうなの?
Decomb使うぐらいならコレ使っとけ、みたいなのありますか?

845:名無しさん@編集中
13/01/11 14:40:30.63 5CTRrrWe
TIVTC以後、Decombの存在価値はなくなったと思ったが

846:名無しさん@編集中
13/01/11 15:41:47.69 96NCOIW/
>>845
thx
調べてみます

847:名無しさん@編集中
13/01/14 19:56:39.29 SfiPrX7D
現在、1280x720、YV12、BT.709のプログレッシブソースをレターボックスありの640x480、YV12、BT.601に変換しようとしています。
最終的な出力はAviUtlかVirtualDubModでやろうと思います。

今のところこんなスクリプトになっているのですが、なにかおかしいところはあるでしょうか?

avisource("test.avi")
lanczos4resize(640,360)
colormatrix(mode="Rec.709->Rec.601")
addborders(0,60,0,60,$000000)

また、AviUtlにavsを読み込ませる場合、converttoyuy2()は必要なのでしょうか?
AviUtlにはavsinp.aui経由でavsを読み込ませます。

848:名無しさん@編集中
13/01/14 20:00:04.36 ajY9Tkz+
必ずってわけではないが個人的にはリサイズの前にcolormatrixを持ってくる
ConvertToYUY2はChikuzen氏のavsreaderを使えば自動的に挟んでくれるので必要ない

849:名無しさん@編集中
13/01/14 20:15:38.44 SfiPrX7D
>>848
書き込みありがとうございます。

参考にさせてもらい、このような形になりました。

avisource("test.avi")
colormatrix(mode="Rec.709->Rec.601")
lanczos4resize(640,360)
addborders(0,60,0,60,$000000)
converttoyuy2()

とりあえず入力プラグインは今あるものを使うことにしたので、converttoyuy2()をつけました。

850:名無しさん@編集中
13/01/16 10:58:05.31 SoOXYymZ
ところで、クローン版_gpu25.dllのソースコードってないの?

851:名無しさん@編集中
13/01/16 13:19:25.37 TuLjfX7k
スクリプトでコマンドライン引数は扱えますか?

例えば、

>foo.avs file1.avi

のように引数を渡したいです。

852:名無しさん@編集中
13/01/16 15:28:34.81 5Mi+dEdM
そりゃavsを渡すプログラムによるだろ
avisynth自体はdllであって実行ファイルじゃないぞ

853:851
13/01/16 16:08:47.66 oe8K3qhI
勘違いしていました。

具体的には、GOM Player, KMPlayer, VirtualDubModに渡しています。

そして、foo.avsに動画の情報をテキストファイルに書き出す関数があって、
writeInfo("C:\movie\bar.avi")
で書き出せます。しかしこれだとハードコードなので、ファイルパスを指定したいんです。

ファイラー上でフォーカス中の動画を処理するためです。

どうすれば実現できますか?

854:名無しさん@編集中
13/01/16 16:22:02.27 5Mi+dEdM
だったらavs自体を生成するコマンドなりスクリプトなりをavisynth以外の言語で書けばいいだろ
avisynth自体はファイルのパスはハードコードするか、グローバル変数として他のavsで設定された
文字列をimportするくらいの機能しか持ってないぞ

855:851
13/01/16 16:43:45.20 oe8K3qhI
ああそうなっちゃいますか。やってみます。ありがとうございます。

856:名無しさん@編集中
13/01/18 17:46:06.59 ncRpt1zU
インタレ保持エンコって結局
テレシネ化しながら再生すると30FPS部分も24FPS相当の動きになるし
テレシネ化しないなら30FPS部分は良くても、24FPS部分がカクカクになるし
サイズも増えて、一番中途半端だと思う
しいて言うなら、作品ごとに再生するときに、30FPSの動き重視か24FPSの動き重視か選べる利点はあるが

857:名無しさん@編集中
13/01/18 17:52:39.48 TAgE/VDH
頭大丈夫か?

858:名無しさん@編集中
13/01/18 18:38:09.74 ncRpt1zU
ああ間違った
30FPS部分は背景が24FPSでも動きがあるから30FPSとして処理されるんだっけ?
字幕のフェードとかは無理だけど

859:名無しさん@編集中
13/01/18 18:44:19.51 pRks3DK1
インタレだから全部60FPS処理だが

860:名無しさん@編集中
13/01/18 18:51:53.87 ncRpt1zU
60は24の公倍数じゃないからカク付く
倍速液晶なら120fps化して滑らかになるかもしれないけど

861:名無しさん@編集中
13/01/18 18:57:08.38 GbpWHZfo
インタレ保持を120fpsで再生したってハードテレシネなら同じだろ

862:名無しさん@編集中
13/01/18 22:45:16.85 oX96hOz8
テレビで観るのと同じ動きになるわけだが、それがカクカクというならば仕方がない

863:名無しさん@編集中
13/01/18 22:59:51.27 fBCTTT1t
バカには触れないで下さい

864:名無しさん@編集中
13/01/19 12:22:20.09 tHH1nyp6
テレビはCMに入ったら24FPS化やめるだろ
常時、24FPS部分と30FPS部分を見極めながら処理してる
PCはデインターレスのフィルター次第だろ
強制24FPSに決め打ちしてデインターレスしてるフィルターは
30FPS部分の動きは24FPSになるよ

865:名無しさん@編集中
13/01/19 12:50:44.59 +IaiU1ab
横スクロールテロップとか混じらなけりゃ全部24fpsでも平気じゃね?
別にエンコした動画を誰に見せるわけでもないだろうしな。

866:名無しさん@編集中
13/01/19 12:57:43.92 UmF5xGkM
> 誰に見せるわけでもない
これだけでもう好きにやれとしか

867:名無しさん@編集中
13/01/19 19:00:26.21 wAEkrwux
HDからSDへダウンコンバートについて
PT2で録画したtsをdvd(市販のデッキで見れる奴)にしたいのですが
以下の方法でエンコードすると実写ソースなどで動きがある部分が
縞々になったり線がギザギザになってしまいます。
何か解決策はありませんか?

入力.avs
Yadif(mode=1) またはTDeint(mode=1, type=3, full=false, tryweave=true)
ColorMatrix(mode="Rec.709->Rec.601",interlaced=false)
Spline36Resize(704,480)
AssumeTFF()
SeparateFields()
SelectEvery(4, 0, 3)
Weave()

avs2pipemod.exe -y4mt=40:33 入力.avs |ffmpeg -y -i - -threads 6 -target ntsc-dvd
-flags ilme+ildct -top 1 -vcodec mpeg2video -s 704x480 -aspect 16:9 -r 29.97 out.mpg

868:名無しさん@編集中
13/01/19 20:47:48.41 ViJyTLHh
PT2からスクランブル解除して録画した時点でそれ法律違反だから…
ゆえに幇助する事はできないから回答いたしかねる

869:名無しさん@編集中
13/01/19 20:54:05.35 UmF5xGkM
いつ録画したかにもよるけどな、遡及処罰は出来ないし

870:名無しさん@編集中
13/01/19 21:28:11.58 DqlBy9hX
>PT2からスクランブル解除して録画した時点でそれ法律違反だから…
このように法改正した戦犯って誰なの?
マジで氏ね!

871:名無しさん@編集中
13/01/20 03:09:29.91 B4PRPy0a
>>867
ffmpegではなくHCencでやっているけど、別に問題はない。

872:名無しさん@編集中
13/01/20 16:17:21.82 qmoiHabV
>>867
-y4mtじゃなく
-y4mpに

873:名無しさん@編集中
13/01/21 20:12:01.44 Kzdma2Gm
>>868
BDレコーダーで録画したものをエンコするのも法律違反になるのか?

874:名無しさん@編集中
13/01/21 20:31:28.81 +eeOHgtT
スレチ

875:名無しさん@編集中
13/01/22 18:48:25.87 ldA1ku3d
特定のフレームをフレームレートの違う別のクリップの特定のフレームで置換する関数やプラグインって何かないですか?
avisynth.info見るとdrって関数があるようですがリンクが死んでいてぐぐっても見つからない状態です。
drをUPしていただくか代替となる何かを教えて下さい。

876:名無しさん@編集中
13/01/22 18:56:10.71 8qC+e41h
AssumeFPSでFPS揃えればいいだけじゃね

877:名無しさん@編集中
13/01/22 19:26:55.11 isDmieSh
RemapFrameがちょうどそんな感じのフィルタだったような

878:名無しさん@編集中
13/01/23 08:19:14.26 np6CceMX
1フレームだけ入れ替えたいってこと?サブリミナル?

879:名無しさん@編集中
13/01/23 09:37:55.02 e6fDGUuH
>>877
調べてみます。
>>878
そうです。1フレームだけ入れ替えたいです。

880:名無しさん@編集中
13/01/23 11:41:10.56 feuFvz+E
だからこれじゃダメなの?

a=AVISource("aaa.avi")
b=AVISource("bbb.avi")
target=b.Trim(500,-1)
a.Trim(0,499) ++ target.AssumeFPS(a) ++ a.Trim(501,0)

881:名無しさん@編集中
13/01/24 07:35:55.34 1eHPeDhc
それだと音途切れそう

882:名無しさん@編集中
13/01/24 09:46:35.39 HP1ujgvK
aviutlとかVirtualDubでコピペしたら?
出力でつまずくかも、だが

883:名無しさん@編集中
13/01/24 10:39:55.51 PhAoIbPn
音に関しては適当な変数にKillVideoしたのを入れておいて
処理が終わったらそれをAudioDubすればいいと思う

884:名無しさん@編集中
13/01/24 12:50:40.54 1Avna+wn
つーかシーンチェンジごとにtrimすればいいだけじゃね?
きりのいい数字にあわせて音が途切れたら笑えんぞw

885:名無しさん@編集中
13/01/25 04:11:57.63 tqj5Rowc
1フレームだけoverlayでもしたほうがよくね

886:名無しさん@編集中
13/01/26 02:15:05.13 93WOzBQz
超てきとー

a=AVISource("aaa.avi")
b=AVISource("bbb.avi")
a++b.AssumeFPS(x,y)
FreezeFrame(500,500,100000)
Trim(0,z)

887:名無しさん@編集中
13/02/01 23:42:55.86 XKduXnFP
実写ソースでビットレート不足のブロックノイズが出てる場合のでブロックには何使ってます?
aviutlのdmb.auf使ってるけどavisynthのでもっといいものがないかと

888:名無しさん@編集中
13/02/02 00:53:21.21 lM5IBmYz
ビットレート不足ならビットレート上げれば?

889:名無しさん@編集中
13/02/02 01:27:53.91 kieK08FA
ソースに出てるのにエンコ後のビットレート上げても意味ないだろw

890:名無しさん@編集中
13/02/02 02:43:42.72 lM5IBmYz
ソースか
実写ソースでエンコした結果ブロックノイズが出てるのかと思ったw
実写ソースがビットレート不足でブロックノイズが出てる場合 て書いてくれよ

891:名無しさん@編集中
13/02/02 03:12:19.76 X9Cfj0ni
エンコとかだとビットレ不足でブロックノイズなんて出ねぇだろ
エンコした動画でブロックノイズが出る場合は決まってデコーダ側の問題だしな
MS DTV+EVRだと特に出やすいし

エンコの場合はビットレが足りないと、文字などの輪郭が滲んだり崩壊したりすることはあるけど
それはブロックノイズとは全く異なる症状だぜ

892:名無しさん@編集中
13/02/02 03:29:35.94 hRDSc681
>>887
これなんかが強力

URLリンク(avisynth.org)

893:名無しさん@編集中
13/02/02 05:58:22.73 9mC+pkv0
>>891
滲んだりボケるのはブロックノイズをデコーダ以降の仕事がデブロッキングなどをしているだけで
エンコード時にレート不足であるほどブロックノイズが出やすい傾向はある

レート不足になるほど各ブロックの符号・復号誤差が大きくなって
そのブロックの境目で歪みがノイズとして目に見えやすくなる現象

ブロック化しにくいのはwavelet変換なコーデック

894:名無しさん@編集中
13/02/02 11:14:08.49 mFLMZs1U
順番にbatファイルでエンコード処理させたいんだけど、pauseを書いてないのに1つ終われば、「続行するには何かキーを押してください」ってなって止まるようになった。
新しいPCにしてwin7 32bit から64bitに変えたのが原因なのかな?使ってるのはこんな感じ

@echo off

echo "No1"
echo Start %time%
echo "----------------------------------------------------------------------------------"

call "ファイル名.bat" "ファイル名.avs"
ping localhost -n 6 >nul
echo .
echo .

echo "----------------------------------------------------------------------------------"
echo End %time%
ping localhost -n 6 >nul
echo .
echo .

後は"No2"とかにしてファイル名だけ書いて同じように続けて書いてるだけ

ネットで見つけたのそのまま使わせてもらってる
前はこれで1つ終われば順番にエンコしてくれたんだが
出かけて帰ってきても1つだけ終わって止まってるから困ってる、誰か助けてくれ

895:名無しさん@編集中
13/02/02 11:19:13.55 l1oxmWFk
まず
@echo off

echo on
にしてどこまで処理が進んでるか確認したら?

896:名無しさん@編集中
13/02/02 12:00:01.63 Ld2ekQ7u
"ファイル名.bat" の中身を晒してくれ

897:名無しさん@編集中
13/02/02 13:00:18.73 p6g6DpuR
ウチも7の64bitだが問題ないぞ
同じトコ見て参考にしてやってるけど

898:名無しさん@編集中
13/02/02 13:13:50.14 0aidL2UQ
ファイル名.batの中にpauseがあるんじゃ

899:名無しさん@編集中
13/02/02 14:41:50.28 qcSowggm
>>892
おおブロックノイズにピンポイントで利きますね
ありがとうございます

900:名無しさん@編集中
13/02/02 14:54:17.03 dUaN0vBz
自力でわかんないならシンプルにcallでbat呼び出せば良いのに
どうして意味もわからず人のを参考にするんだろう

901:名無しさん@編集中
13/02/02 15:36:17.35 XwL7b0tm
FOR IN DO (CALL)でhoge.bat %~1をループさせるのが一番しっくりくる

902:名無しさん@編集中
13/02/02 22:08:34.43 mFLMZs1U
普通にファイル名.batの最後にpauseあった
今まで使ってたやつ使いまわしてたから全然気にしてなかったわ
pauseなんか書いたつもりないけどなんか書いてたみたいだ
これからはもっとよく確認してみるぜ

903:名無しさん@編集中
13/02/02 23:04:30.16 i1AVAANM
        ∧∧
       ヽ(・ω・)/   ズコー
      \(.\ ノ
    、ハ,,、  ̄
     ̄

904:名無しさん@編集中
13/02/03 20:00:58.72 QczBEGK7
まあよくあることだ
スペルミスで延々悩むとか

905:名無しさん@編集中
13/02/04 11:20:27.21 wMjs0JTq
24fps化についてですが、
周期一定のtsソースをMpeg2Sourceで読み込んで、
Doubleweabe().SelectEvery(10,a,b,c,d)とした時に、
SelectEvery()の組み合わせは間違っていないのですが、aviutlでコマ送りしてみると
フレームによっては特に輪郭のエッジ部分にわずかにコーミングのようなものが発生しています。
普通に視聴する分には意識して見ない限り気付くようなもんではありませんが、
気付いてしまうとやはり何とか除去したくなります。
おそらく元ソースの、異なるフレームのTopフィールドとBottomフィールドの組み合わせの際に
発生するのではないかと推測しますが、そもそもこいつが発生する要因は何でしょうか?
YV12でd2vをavisynthが読み込んでしまうことと関係してたりしますか?

906:名無しさん@編集中
13/02/05 00:58:23.48 YbaLWQzg
>>905
俺も使って間もないから何とも言えないんだけど、それって解除漏れの縞?
doubleweave()やめて動き適応型の外部デインタレフィルタを使ってみたらどだろ?
軽いのが良いならTDeint(mode=2, type=2)とかAutoDeint()
間引きはTDecimate(mode=1,hybrid=0)
それでも縞が残るならvinverse()を入れてみるとか

907:名無しさん@編集中
13/02/05 01:44:30.38 qFFc0wp9
クロスコンバートだろ

908:905
13/02/05 02:21:56.63 2HUTxb7n
>>906
解除漏れが何を指すのか、イマイチ理解はできないんですが、
リンクの画像のように、画面全体ではなく、一部の輪郭に発生するので、
SelectEveryした結果、正しい候補を選んでいるとは思います。
まあ、動画として視聴してる分には気がつかないっちゃ気がつかないんですけど。
URLリンク(lh3.googleusercontent.com)

以前はTIVTCとか使ってたんですけど、画面全体がチラつくような場面だと誤爆するんで、
周期一定ならDoubleWeave().SelectEvery()した方が無難なハズなんですよね。。。


>>907
クロスコンバート調べてみました。
アニメを720i→1080iに変換する時に下手すると発生することが多いみたいですけど、
多分違うと思います。

909:名無しさん@編集中
13/02/05 02:29:35.23 RPYDixVy
正しい候補を選んでいないと思います

910:名無しさん@編集中
13/02/05 09:53:18.79 9QCHMF5H
人物なんてゆらゆら動くものなのにネクタイにだけコーミングが起きてるのが不思議
きっとこういう柄のシャツを着てる

911:名無しさん@編集中
13/02/05 10:31:21.27 d2pF/1Nt
インターレースってそういうものでは

912:名無しさん@編集中
13/02/06 13:52:12.50 tUtMVFIE
DGIndexで作ったd2vソースがtffでもbffの場合でもtffに統一したいのですが、以下のコードで合っているでしょうか?
DGDecode_MPEG2Source(d2v="input.d2v", idct=3, upConv=0)
DoubleWeave().SelectOdd()
AssumeTFF()

913:名無しさん@編集中
13/02/06 15:06:08.66 xVOdOwA0
DoubleWeave().SelectOdd()は、tffをbffに、bffをtffに作り変えると思うから
2行目は↓の方がいいと思う
GetParity() ? last : DoubleWeave().SelectOdd()

914:名無しさん@編集中
13/02/06 16:07:59.27 536u+xku
bbb関数とプラグインでのBob化とでは何が違うんですか?

915:名無しさん@編集中
13/02/06 17:25:21.26 tUtMVFIE
>>913
ありがとうございます
これで心置きなくx264とQSVEncCにtffとして入力できます

916:名無しさん@編集中
13/02/06 17:30:50.39 AGJ2R70T
>>908
>アニメを720i→1080iに変換する時
それはクロスコンバートちゃうで。
クロスコンバートってのは、プログレをインタレへ変換させるときに使う用語な。

917:名無しさん@編集中
13/02/06 21:14:19.36 U3sjaC9j
クロスコンバートミスとかっていわれてるやつじゃないかな?
本来なら、720i→720p→1080p→1080iって手順を踏まないといけないのに、
720i→1080iってやっちゃうとでる縞?のことだったかと。

918:名無しさん@編集中
13/02/11 14:08:44.90 KDrUjeqv
backupstreet.comの手順通りにやってるのに
「ファイルを再生できません。プレーヤーがそのファイルの種類をサポートしていないか、そのファイルの圧縮に使用したコーデックをサポートしていない可能性があります。」
というエラーメッセージが出てavsファイルを再生できない
PowerDVDもMPEG-2コーデックもインストールされている
ネットで調べても解決方法はなかった
WMPCインストールしたら解決した人はみつかったがそれもインストール済み
何このゴミソフト・・・・

919:名無しさん@編集中
13/02/11 16:38:00.17 wvnIEz+y
スレチ

920:名無しさん@編集中
13/02/13 17:38:13.02 LW4NyAG6
ditherのdocに載っていた下記のシャープを使っているのですが

dfttest (lsb=true)
f = DitherPost (mode=-1)
s = f.Sharpen (0.20)
d = mt_makediff (s, f)
DitherPost ()
mt_adddiff (last, d, u=2, v=2)

easyVFRでの記述を教えていただけないでしょうか?

DGSource(".dgi")
AudioDub(last, WavSource(".wav"))

AssumeFrameBased.AssumeTFF()

Trim() ++ Trim()

audio = KillVideo()

Src = KillAudio()

oldcount = Src.FrameCount
oldfps = Src.FrameRate

T1 = Src.Trim(0, 7011)
T1 = T1.AssumeTFF()
T1 = T1.FrameCache(9).Auto24FPS(true, 24, 16, "", false).vinverse()




921:名無しさん@編集中
13/02/13 18:54:24.87 7VvRu5Y7
function Dither_Sharpen (clip clip) {
clip = clip.dfttest (lsb=true)
f = DitherPost (clip, mode=-1)
s = f.Sharpen (0.20)
d = mt_makediff (s, f)
clip = clip.DitherPost ()
return mt_adddiff (clip, d, u=2, v=2)
}

適当だけどこんなんか?

922:名無しさん@編集中
13/02/13 20:00:18.74 BLrStTBC
>>921
おお、有難うございます。それでいけました!!
図に乗っているようで恐縮なのですが、
SharpenのパラメータをDither_Sharpenのほうで設定出るような関数の書き方を知りたいです。

それと
dfttest (lsb=true)
Dither_convert_8_to_16 ()
どちらも8bit→16bitだと思うのですが、
例えばDither_resize16を使うとして、dfttest (lsb=true)、Dither_convert_8_to_16 ()
どちらでもいいのでしょうか?

923:名無しさん@編集中
13/02/13 20:10:20.35 caHwAZ/O
>>922
function Dither_Sharpen (clip clip, float "sharp") {
sharp = default(sharp, 0.20)
clip = clip.dfttest (lsb=true)
f = DitherPost (clip, mode=-1)
s = f.Sharpen (sharp)
d = mt_makediff (s, f)
clip = clip.DitherPost ()
return mt_adddiff (clip, d, u=2, v=2)
}

こんなとこかな
Dither_Sharpen("hoge.avi", sharp=0.20) 書式はこう
パラメータの上限下限は知らないので、分岐警告はつけてない

後者の問いは誰かたのむw

924:名無しさん@編集中
13/02/13 20:41:13.33 sqVipRLh
テキトーだけどdfttest (lsb=true)だけだとdfttest(ノイズ除去)のデフォルト値が適応されない?
初期値はsigma=16.0でかなり強気だったはず

925:名無しさん@編集中
13/02/13 20:51:37.00 sqVipRLh
ああ、答えになってない

1. dfttest (lsb=true) # 8bit->16bit & ノイズ除去
2. Dither_convert_8_to_16 () # 8bit->16bit
なので

Dither_convert_8_to_16 ().dfttest (lsb=true) #Clipは16bit
または
dfttest (lsb=false).Dither_convert_8_to_16 () #Clipは16bit
と、しなければいけない。
前者の方が精度が高いはず

926:名無しさん@編集中
13/02/13 20:57:55.40 sqVipRLh
個人的には頭の中でごっちゃになるのを防ぐ為に↓のオプションで今どちらのbit内にいるのか明示した方がいいと思う
lsb=trueなら出力が16bit、falseなら出力が8bit
lsb_in=trueなら入力が16bit、falseなら入力が8bit

927:名無しさん@編集中
13/02/13 21:10:31.33 BLrStTBC
>>923
重ね重ね有難うございます。納得のいく結果になりました。

>925
解説有難うございます
dfttestはデノイズだったのか、それに8to16のパラメータが付いてるって事か

928:名無しさん@編集中
13/02/13 21:51:05.42 8Sfbumll
dfttestはデフォだとバンディング出るくらいノイズ除去しちまうぞ

929:名無しさん@編集中
13/02/14 05:15:19.92 oFsQ5BP7
CPUはFX8350@4.7Ghzだが

アニメソースな映像をavsを通さずにx264 2245JEEBでエンコードさせると平均で110fps前後でるんだけど
avsを通してあれこれフィルタを挟むと40fps前後まで落ちてしまう。
これをさらに加速させるにはMTとかでごにょごにょするしかないんだよな
GPUフィルタもフィルタの処理が軽すぎるとすぐ律速になって使い物にならないし
結局のところ速度重視でエンコしたいならavsは通さないほうがいいのかね

アニメ程度の映像で40fps前後も出れば十分早い方だと思うんだけどな
通さない場合と比べて半減するのはなんか損した気分、なにか妙案とかあったら
落書きしていってくれ。

930:名無しさん@編集中
13/02/14 05:32:52.59 v88wIQ7G
>>929
avsの内容が分からないから何とも言えないけど、SetMTMode(2)で動くフィルターだけを選ぶとかはできる。


あと、内容によってはMTよりもThreadRequestの方が速くなるかもしれない。

931:名無しさん@編集中
13/02/14 11:03:59.40 IkBECrRm
>>929
そりゃフィルタ重ねれば遅くなるのは当然かと
DGdecNV読み込み、デインタレ、trim、リサイズ程度なら差は無いと思うよ

932:名無しさん@編集中
13/02/14 11:49:09.22 N4Bt+3IM
どこで質問したら良いのかわからなかったので先にスマン

L-SMASHのremuxerは.idxな字幕は対応してない?orどこか間違ってる?

remuxer.exe -i "hoge.mp4" -i "hoge.m4a -i "hoge.idx" -o "a.mp4"

933:名無しさん@編集中
13/02/14 13:48:35.58 +VQFdRyI
>>932
-i "hoge.m4a
転載ミスかもしれないけど、ここだけ後ろに"が付いてない

934:名無しさん@編集中
13/02/14 15:24:43.18 4HFJj/dQ
>>932
idx字幕は対応してない
理由は正式なMP4コンテナ規格ではないから
どうしてもidx埋め込みたいならMP4Boxつかうしかない

935:名無しさん@編集中
13/02/14 17:56:27.57 N4Bt+3IM
>>933-934
レスさんくす

やっぱりidx対応してなかったか
ロスレスALACがL-SMASHで格納できるから使おうと思ってたけど
やっぱりMP4Boxでいいか

936:名無しさん@編集中
13/02/14 18:39:52.22 vHGH1/Wz
mp4boxでalac対応したよ

937:929
13/02/15 17:08:06.54 PMl6Lq20
>>930-931
レスありがとう。
週末あたりにでも試してみるよ。

938:名無しさん@編集中
13/02/15 22:26:43.24 2/XpB8A/
OSをリガバリしてAvisynthを入れなおすんだけど
公式の2.5.8以外のお勧めビルドとかありますか?

939:名無しさん@編集中
13/02/15 22:44:44.61 bKM5Y1yn
AviSynth 2.6.0 Alpha4 [Jan 14th, 2013]
URLリンク(forum.doom9.org)

940:名無しさん@編集中
13/02/20 20:00:38.17 SNRNomhK
ぐぐってもわからなかったのでお願いします

やりたい事4000フレームくらいのプログレッシブソースのブレンド
clip a (a0,a1,a2,a3,a4)
clip b (b0,b1,b2,b3,b4)
を(a0.b1.b2.b3.a4)順に並べて出力したいです

941:名無しさん@編集中
13/02/20 20:12:02.67 SNRNomhK
すいません間違えました

clip a (a0,a1,a2,a3)
clip b (b0,b1,b2,b3)
をclip c (a0,b1,b2,b3)
a0,b1,b2,b3,a4,b5~の並び順にしたいのです

942:名無しさん@編集中
13/02/20 21:03:54.69 JACNPDhE
Interleave(a, b).SelectEvery(8, 0, 3, 5, 6)

943:名無しさん@編集中
13/02/20 21:19:31.44 SNRNomhK
>>941
ありがとうございます
それでやってみます

944:名無しさん@編集中
13/02/20 21:40:07.13 b31lS94T
SelectEvery(10,0,3,5,7,8)?

945:名無しさん@編集中
13/02/20 22:11:52.15 JACNPDhE
SelectEvery(8, 0, 3, 5, 7)か、失礼

確認用
a = BlankClip().ScriptClip("""Subtitle("a" + String(current_frame), size=120)""")
b = BlankClip().ScriptClip("""Subtitle("b" + String(current_frame), size=120)""")

Interleave(a, b).SelectEvery(8, 0, 3, 5, 7)

946:名無しさん@編集中
13/02/22 23:10:19.57 p9nrDMlT
ここ眺めてるとみんなすげーなって思う
俺も早く初心者としてここで質問したい

947:名無しさん@編集中
13/02/23 03:59:20.51 wdXqt+7o
>>938
2.6のMT版を探して入れる

948:名無しさん@編集中
13/02/25 12:21:49.17 /z1mn5Ec
2.6 MT のソースって、現在だとどこで集めて差分を当てればいいの?
SEt氏の最新版の差分はあるようだけど。

949:名無しさん@編集中
13/03/16 21:30:00.63 5iidGPEm
2.6MTでMT()が使えればなぁ・・・
doom9フォーラムで要望出てるが絶賛放置されてる(´・ェ・`)

950:名無しさん@編集中
13/03/16 21:41:10.80 hlU3ft9d
魔法の .ThreadRequest() 多用
2.6MT使ってる意味あるのかなぁ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch