2014年7月14日月曜日

AviUtlとH.265 高画質低容量?

H.265は動画圧縮の規格でH.264の後続
AviUtlで使えるならお手軽だし、やり方もあるようなので調べながら環境を作ってみる。

まずはAviUtlを新規でDLするところからやってみる。以下サイトから
http://spring-fragrance.mints.ne.jp/aviutl/

こんかいはこのVer「aviutl100.zip

次に
rigayaの日記兼メモ帳さん開発のβをDL
β版ってことは不具合あったとしてもしゃーないね (`・ω・)
以下サイトから
http://rigaya34589.blog135.fc2.com/blog-entry-411.html
7/13時点では「x265guiEx_3.34β」が最新だからこれをDLしてみる

次に
以下サイトから「L-SMASH」をゲット
https://onedrive.live.com/?cid=6BDD4375AC8933C6&id=6BDD4375AC8933C6!404
今の最新はこれかな「L-SMASH rev966」

 次に
x265のDLかな。以下サイトから
http://builds.x265.eu/
私は64bit環境なんだけど 32bitがまだ多いのかな?ってことで
Built 2014-07-13の32 Bit-(118b20ae5260476f5e4d3749cf758aa2)
これを使ってみる。

次に
AudioのためにこいつをDL
http://www.nero.com/jpn/company/about-nero/nero-aac-codec.php
 ここから
同意を押してDLしたのはこいつ「NeroAACCodec-1.5.1」

ここまでき必要なものはそろったかな?

とりあえず解凍しちゃおう。











解凍した「aviutl100」フォルダに「plugin」フォルダを作成






この作成した「plugin」フォルダの中に
「x265guiEx_3.34β\auo」の中にある
1フォルダと2ファイルを移動









次に「auo」から一個上のフォルダにあった
「msvcp120.dll」「msvcr120.dll」
これらをaviutl.exeがある場所にコピー












次に「L-SMASH rev966」の中にある
「muxer.exe」「remuxer.exe」「timelineeditor.exe」
これらをaviutl.exeがある場所にコピー















次に「NeroAACCodec-1.5.1\win32」にある
「neroAacEnc.exe 」
これをaviutl.exeがある場所にコピー















最後に「x265-32bit-2014-07-13.exe」こいつを・・・
リネームしちゃおうか。
「x265.exe」にして
 aviutl.exeがある場所にコピー
















これで必要なものは1箇所にまとまったかな?

適当な動画用意して読み込ませてプラグイン出力・・・できないな。

「plugin」フォルダ内に入れた1フォルダ2ファイルはaviutl.exeがある場所で良かった。
ということで以下に変更




















とりあえず設定に移ろう。
まずは上記のフォルダ構成に修正後
圧縮したい動画を「ファイル」→「開く 」で開いておく
でないと設定画面に移動できない。

開いたら「ファイル」→「プラグイン出力」→「拡張x265出力(GUI)Exべ~た」と開く
















そして左下にある 「ビデオ圧縮」っていうボタンを押すと設定画面が開ける。













各場所にいろいろ設定していこう。
黄色マーカーの場所を設定













これで動くだろうか・・・
とりあえずOK押してファイル名を入力してっと・・・
保存!



















うごいたぽい

※動画の右にあるノイズは元動画から入っています。

容量は・・・?

 そしてエンコードの設定は何もいじってないけど画質はどうなってるかな

圧縮済
 無圧縮

 どうだろう

いいんじゃない?
自己満足

まとめた以外のフォルダは邪魔なので削除しちゃおう。

あとは・・・
ブログにまとめるのが疲れました。







2014年7月10日木曜日

Excelセルの平行移動

使い慣れたら手放せなくなってしまった。

Sub 平行移動1()
    On Error Resume Next
    Selection.Offset(1).Select
End Sub
Sub 平行移動2()
    On Error Resume Next
    Selection.Offset(-1).Select
End Sub
Sub 平行移動3()
    On Error Resume Next
    Selection.Offset(, -1).Select
End Sub
Sub 平行移動4()
    On Error Resume Next
    Selection.Offset(, 1).Select
End Sub

これらを前回紹介した方法でショートカット登録
自分の場合は
Ctrl+Alt+矢印

使うとこんな感じの移動ができる
 選択

  
Ctrl+Alt押しながら↓
 
  

Ctrl+Alt押しながら→
 使い慣れるとExcelデフォルト機能にしてほしいくらい良く使う・・・

2014年7月6日日曜日

EecelでSQLを見やすく

テキストエディタでSQLを強調表示でみればいいじゃん
とは言わないで・・・

Excelで資料まとめたりで見たいときあるじゃない・・・

完成品とは言えないけども・・・
ちょっと作ってみました。

SQL拝借させていただきます。
http://logicalerror.seesaa.net/article/225234014.html


借りたSQLをExcelに貼り付け。

作ったマクロを実行

多少は見やすくなりましたかね・・・?


以下ソース
Sub sqlmojicolor()
ActiveWorkbook.Save
Dim re, mc, m, r As Range, endp, str, myArray() As String
Dim i As Variant

On Error Resume Next
    Set DataRng = Application.InputBox( _
        "・セル範囲は連続していなくても構いません", "データ範囲を指定します", Type:=8)
    If DataRng Is Nothing Then Exit Sub
    On Error GoTo 0

'画面更新停止
Application.ScreenUpdating = False

'予約文字
str = "off,transaction,databasepassword,top,current_user,current_timestamp,current_time,current_date,intersect,setuser,inner,index,identitycol,having,rowcount,collate,holdlock,rowguidcol,column,identity,rule,commit,identity_insert,save,compute,schema,constraint,if,contains,in,session_user,containstable,set,continue,convert,insert,shutdown,count,some,into,statistics,cross,sum,current,join,system_user,key,table,kill,textsize,left,then,like,to,cursor,lineno,database,load,tran,max,dateadd,min,trigger,datediff,national,truncate,datename,nocheck,tsequal,datepart,nonclustered,union,dbcc,not,bigint,binary,bit,char,date,datetime,datetime2,datetimeoffset,decimal,float,geography,geometry,hierarchyid,image,int,money,nchar,ntext,numeric,nvarchar,real,smalldatetime,smallint,smallmoney,sql_variant,sysname,text,time,timestamp,tinyint,uniqueidentifier,varbinary,varchar,xml" & _
      "unique,deallocate,null,update,declare,nullif,updatetext,default,of,use,delete,user,deny,offsets,values,desc,on,varying,disk,open,view,distinct,opendatasource,waitfor,distributed,openquery,when,double,openrowset,where,drop,openxml,while,dump,option,with,else,writetext,procedure,asc,execute,@@identity,encryption,order,add,end,outer,all,errlvl,over,alter,escape,percent,and,except,plan,any,exec,precision,as,primary,exists,print,authorization,exit,proc,avg,expression,backup,fetch,public,file,raiserror,between,fillfac,from,group by,case,select,nvl,begin,exception,others,create,or,replace,package,end;,is,integer,false,true,length,trim,rtrim,raise,rollback;,constant,sysdate;,immediate,substr,to_char,varchar2,return"
    
'配列変換
myArray = Split(str, ",")

'ループ1
Set re = CreateObject("VBScript.RegExp")
    re.IgnoreCase = True          '大文字と小文字を区別しない
    re.Global = True              '文字列全体検索
For Each i In myArray
    '予約語
    re.Pattern = "[^\w.]" & i & "[^_A-z]" & "|" & "[^\w.]" & i & "$" & "|" & "^" & i & "[^\w.]" & "|" & "^" & i & "$"
    Set r = DataRng.Find("*")
    If r Is Nothing Then End
        endp = r.Address
        Do
            Set mc = re.Execute(r)
            For Each m In mc
            '青
                r.Characters _
                (m.FirstIndex + 1, m.Length).Font.ColorIndex = 5
            Next
            Set r = DataRng.FindNext(r)
        Loop Until r.Address = endp
  Next i

'文字列を赤に
    '文字列
    re.Pattern = "'(.*?)'"
Set r = DataRng.Find("*")
If r Is Nothing Then End
    endp = r.Address
    Do
        Set mc = re.Execute(r)
        For Each m In mc
        '赤
            r.Characters _
            (m.FirstIndex + 1, m.Length).Font.ColorIndex = 3
        Next
        Set r = DataRng.FindNext(r)
    Loop Until r.Address = endp

'(を黒太字に
    '文字列
    re.Pattern = "[()]"
Set r = DataRng.Find("*")
If r Is Nothing Then End
    endp = r.Address
    Do
        Set mc = re.Execute(r)
        For Each m In mc
        '黒
            r.Characters _
            (m.FirstIndex + 1, m.Length).Font.ColorIndex = 1
            r.Characters _
            (m.FirstIndex + 1, m.Length).Font.Bold = True
        Next
        Set r = DataRng.FindNext(r)
    Loop Until r.Address = endp

'--をコメント緑に
    'コメント
    re.Pattern = "[\-]{2}.+|[/][\*].+|.+[\*][/]$"
Set r = DataRng.Find("*")
If r Is Nothing Then End
    endp = r.Address
    Do
        Set mc = re.Execute(r)
        For Each m In mc
        '緑
            r.Characters _
            (m.FirstIndex + 1, m.Length).Font.ColorIndex = 10
        Next
        Set r = DataRng.FindNext(r)
    Loop Until r.Address = endp
Set re = Nothing

'画面更新再開
Application.ScreenUpdating = True

End Sub

2014年7月1日火曜日

vba マクロのアドインとショートカット

Sub マクロ名()
 処理内容
End Sub

でマクロを作って他の人に共有したいな、とか
毎回使うマクロだからこのブックに限らず使いたいなんて時は
Excelをアドインとして保存しましょう。
これをExcelのファイル→オプション→アドインから設定してあげると
マクロを保存したブックのみにかかわらず、マクロが使えるようになります。

次に作ったマクロのショートカット変更したいな、とか
俺はこのショートカットがいいけど私はこっちがいいの

なんてなるのを避けるために
Sub Auto_Open()
End Sub()
にはショートカットを割り当てるように記述したほうが楽かもしれない

ショートカットに使えるキーは


BackSpace
{BACKSPACE} または {BS}
Break
{BREAK}
CapsLock
{CAPSLOCK}
Clear
{CLEAR}
Delete または Del
{DELETE} または {DEL}
{DOWN}
End
{END}
Enter (テンキー)
{ENTER}
Enter
~ (ティルダ)
Esc
{ESCAPE} または {ESC}
Help
{HELP}
Home
{HOME}
Ins
{INSERT}
{LEFT}
NumLock
{NUMLOCK}
PageDown
{PGDN}
PageUp
{PGUP}
Return
{RETURN}
{RIGHT}
ScrollLock
{SCROLLLOCK}
Tab
{TAB}
{UP}
F1 F15
{F1} {F15}
Shift
+ (正符号)
Ctrl
^ (カレット)
Alt
% (パーセント記号)

あとは普通にアルファベット{A}とか{B}

記載方法の例として
Sub test()
 処理内容
End Sub

このマクロをAlt+Shift+Aで呼び出したい場合

Sub Auto_Open()
 Application.OnKey "%+{A}", "test"
End Sub

というように記述すればOK