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