忍者ブログ


ニコニコ動画のシム東方、してみたの人のブログです。主に動画内容に関するうだうだ、技術的な話も少しだけのっけていきます。 最近はこんなんしてるよ。 http://fanblogs.jp/aigisjinsei/
03 2024/04 1 2 3 4 5 67 8 9 10 11 12 1314 15 16 17 18 19 2021 22 23 24 25 26 2728 29 30 05
RECENT ENTRY RECENT COMMENT
(02/17)
(03/08)
(10/23)
(05/31)
(05/03)
(04/28)
(04/15)
[03/23 mz]
[03/23 あるま]
[03/21 mz]
[03/21 あるま]
[03/21 CS]
[03/21 mz]
[03/21 CS]

04.27.22:43

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

  • 04/27/22:43

03.01.02:10

画面分割

 現在エンコ中の飯屋2日目に遊びで使った画面4分割、StackHorizontal()とStackVertical()の複合で実現する。

v1 = StackHorizontal( h1, h2 )
v2 = StackHorizontal( h3, h4 )
clip = StackVertical( v1, v2 )

 各ビデオのサイズを縦横1/2にしないと結合したビデオのサイズは当然縦横2倍になるのでLanczosResize()などで縮小。うちは結合前に縮小したがよくよく考えると結合後でもよかたね。画質を極めるのならCrop()したのちLanczos4Resize()がいいのかもしれない。が、今回BilinearResize()を多用。まーそれほど変わらんでしょう。 

PR

02.23.01:25

M.S.の3で導入したテキスト移動

 早速技術関連のことも書いておくことに。一応知識ある人向きの内容ですのでavisynthってなんぞ? な人はスルーが吉。

 うちでは動画編集にavisynthを使ってるわけですが、まだまだ素人な私には初の試みである移動するテキスト。まー普通にやるぶんにはさほど難しくない。ただこう、動きに緩急をつけたい場合はちょっとめんどくさい。
 Animateフィルタを使います。わからん場合はavisynth wikiの内蔵フィルタを参照してね。以下ソース。

function BGMTitle( clip "clip", int "sf", string "title", int "strwidth", int "fcolor1", int "fcolor2" )
{
 font = "MS 明朝"
 fsize = 18
 w = 512

 y = clip.height() - 20
 sp = w + 100
 ep1 = w - strwidth / 10 * 6
 ep2 = ep1 - strwidth / 10 * 3
 ep3 = ep2 - strwidth / 10 * 1
 ep4 = w - strwidth
 ep5 = ep4 + strwidth / 10 * 6
 ep6 = ep5 + strwidth / 10 * 3
 ep7 = ep6 + strwidth / 10 * 1

ret = Animate( clip, sf, sf+10, "Subtitle",
\ title, sp, y, sf, sf+10, font, fsize, fcolor1, fcolor2, 2, 0,
\ title, ep1, y, sf, sf+10, font, fsize, fcolor1, fcolor2, 2, 0 )
ret = Animate( ret, sf+10, sf+20, "Subtitle",
\ title, ep1, y, sf+10, sf+20, font, fsize, fcolor1, fcolor2, 2, 0,
\ title, ep2, y, sf+10, sf+20, font, fsize, fcolor1, fcolor2, 2, 0 )
ret = Animate( ret, sf+20, sf+30, "Subtitle",
\ title, ep2, y, sf+20, sf+30, font, fsize, fcolor1, fcolor2, 2, 0,
\ title, ep3, y, sf+20, sf+30, font, fsize, fcolor1, fcolor2, 2, 0 )
ret = Subtitle( ret, title, ep4, y, sf+30, sf+60, font, fsize, fcolor1, fcolor2, 2, 0 )
ret = Animate( ret, sf+60, sf+70, "Subtitle",
\ title, ep4, y, sf+60, sf+70, font, fsize, fcolor1, fcolor2, 2, 0,
\ title, sp, y, sf+60, sf+70, font, fsize, fcolor1, fcolor2, 2, 0 )
 return ret
}

sfで開始フレーム、titleで表示する文字列、strwidthで文字列全体の幅、あとはフォントカラーを指定してます。関数名の通りこれによりBGMタイトル表示を演出してるわけですが、今んとこ他に用途がないので位置(y)もサイズも緩急幅も固定な仕様(使ってやるぜ! という奇特な人は適宜変更してください)。Animateの入れ子とかstrwidthの自動算出とかしたらもっとすっきりするのかもだけどいまいち自信がないのでこのような感じに。

→ HOME ←