aviutlでバッチ出力中にバッチを追加するとどうなる?

バッチはaviutl本体と同じところに、batch0.aup, batch1.aup, batch2.aup, …と言った具合に順繰りに保存されていき、バッチ出力をするときにはこのaupを読み取って出力されていく。

正常に出力が完了したaupファイルは削除するというオプションがデフォルトでONになっているので、batch0.aupから消されていく。

さて、それではバッチ出力中に追加するとどうなるのか?

 

結論から言うと、特に意識する必要は無く、問題無い。(たぶん)

 

想像した懸念は、

・0~2を作る

・出力を始める

・0が完了する

・0が削除される

・1の処理が始まる

ここで追加すると、新たなaupファイルは3になるのか?それとも0になるのか?aviutlが認識しているバッチ出力リストは更新されるのか?0になっていた場合出力リストの頭に追加されるのか?

 

実験してみた所、

・追加したaupファイルは0として保存された

・1の処理が完了し2の処理が始まった時、aviutlのバッチ出力リストは0を認識

・0はバッチ出力リストの最後(2の後)に追加された

といった具合。

 

aviutlのバッチ出力リストは、てっきりファイル名から順番を作っているのかと思っていたけど、違うっぽい。作成日時とかかな。(未確認)

 

結局(最初に言ったけど)、特に意識しなくても、特に心配しなくても、大丈夫という事だ。うんうん。

 

 

aviutlを使ったエンコ鯖、データ突っ込んでaupは別環境で作ってとにかく放り込めばそれで後はひたすら出力してくれる感じに作れるのでは(aupの中でのファイルパスの取り扱いがよくわからないからそこをもうちょっと調べればデータ突っ込むのも不要にならないかな)。

どうせh265のトランスコードはめちゃくちゃ時間かかるし、深夜帯のアニメはほぼ全て録画している訳だから常に(ロスタイムなしに)処理させるつー事も可能なのでは…と妄想が広がる。

ただ、以前1クール分くらい一気にバッチ出力した時には、途中でffmpegがエラー落ちして処理が止まってしまっていたので、そういう所をなんとかできないかなぁ、と…

動画編集は大した事してなくて、aviutlを使っているのは、基本的には映像を見ながらCMの場所を探しているだけ。フレーム単位でカット場所が決められればffmpegでやれば色々良いのに、とは思う。Windowsである必要がなくなるし。

 

デスクトップPC、そろそろ新調したいなぁと思っているけれど、今使っているのをエンコ鯖にしちゃおっかなとか思っているのは前々からなので、こういうあたりから色々捗るかなーと(頭の中だけ)

Qweenを触ってみる

TweenというクライアントのQtによる実装がある。

Qween | NOSE Takafumi

TweenはWindows用のクライアントだが、Qtによる実装という事で、勿論Linux上でも使えるのではないかね!?と思い、4年ほど前に多少触ったのだけれど、当時は知識も無くまともに使えなかった。

 

ふと思い出して、もう一度触ってみよう、と思って先日調べてみたら、上記の最後の投稿は2010年の3月、何度も案内されているURLであるhttp://qween.tnose.net/もアクセスしても500エラーが返ってくる。

ところが、githubにはそのまま残していてくれていたのである。最終コミットは2010年5月22日と、ブログより少し新しいが、5年前である事に変わりはない。

 

  取り敢えずgit cloneしてきて、コンパイルして使ってみようと思ったけれど、通らない。それもそのはず、Qt4向けに書かれたコードである。我が家の環境はQt5…Qt4向けコードがそのまま通るはずない。 Qt4な開発環境を作っても良かったのだけど、遊びで勉強の一貫で5仕様に書き換えるのもいいかなと思って、弄ってみる事にした。

今もそうだけど、おなかすいた。ぴざたべたい。

1日では終わらない。 だが、数日の後に…

通った。随分日数がかかっているが、あまり作業出来てない日が多かったため #言い訳

 

ブログ記事から察するに、oAuthじゃなくてxAuthしか実装してないみたいだけど、Documentation | Twitter Developersの目次にはoAuthしか無い…xAuth廃止は確かしてなかった(BASIC認証は廃止だったよね)気がするけど、公式はoAuth使って欲しいんだろうなぁ…という事で、oAuthを自力で実装しなきゃダメかなーと。

それから、当時はTwitter APIは1.0だったろうけど(だから1.0に合わせて作られてるだろうけど)、2013年の6月12日未明に残念ながら廃止されちゃったのよね。今は1.1が動いているので、それに合わせて、諸々を書き換えないといけないだろうなぁ、と。

 

当時とは違う部分も他にも多くある(例えばTweetを引用出来るようになったとか)ので、そう簡単には行かないだろうけれど。

 

気長〜にやってこうと思います。うむうむ。

録画映像たちの処理についてぼやき

CMカットのためだけにaviutl呼んでffmpegに出力まわすの無駄な気がしてきた、切ない #切ないっつーかやる気が出ない感じ

音声の切れ目はあまり意識しなくてもなんとかなる事が多いので映像(画像)ベースで切れ目を判断してるけど、局ロゴとかで自動判別やれそう…だけれど出来ない事が常なんですよねぇ(やれるけど精度がよくない)(提供を見つけられなかったりする)(それを手作業でなんとか修正するなら最初から手作業にする)

出力にx265guiexとか使えばいい感はあるけど、aviutlのプラグインの設置方法がいまいちいつも覚えられない。ffmpegを使うなら、aviutl→ffmpegってできるような環境さえ作れれば、あとはアップデートされるたびにffmpegのバイナリだけ置き換えればそれで十分だし、もうそれでよくね…って思うでしょ、そりゃ(笑)

 

結局現状は手作業で頑張るしか無いんだけど…頑張るしか無いんだ…頑張るしか……

 

がんばろ。

Linuxでクロスコンパイル 〜その1〜

Linuxの上でWindows向けバイナリを吐き出してみるテスト

詳しいことは詳細が決まってから書くけれど、学校で「コンパイルサーバが欲しい」という話を持ちかけられて、そういえばやった事がないのでちょっくらやってみようって感じ。

とにかく取り敢えずで、それらしい感じになれば今回はそれでオッケーという事で。

 

ArchLinuxの上でWindows向けを吐くぞ!!ゲロロロ

 

何はともあれインストール

[tea@teaarch ~]$ yaourt -S mingw-w64-gcc
[sudo] tea のパスワード:
依存関係を解決しています…
衝突するパッケージがないか確認しています…

パッケージ (5) mingw-w64-binutils-2.25.1-1 mingw-w64-crt-4.0.4-1
mingw-w64-headers-4.0.4-1 mingw-w64-winpthreads-4.0.4-1
mingw-w64-gcc-5.2.0-1

合計ダウンロード容量: 136.10 MiB
合計インストール容量: 780.51 MiB

〜以下略

 

恒例のHello world.

$ cat hello.cpp

#include <iostream>

int main(){
std::cout <<“hello ” <<std::endl;
return 0;
}

 

さてコンパイル

$ g++ -o hello.out hello.cpp

$ x86_64-w64-mingw32-g++ -o hello.exe hello.cpp -static

$ ls

hello.cpp

hello.exe

hello.out

 

実行します。まずは普通のLinux用バイナリ

$ ./hello.out

hello

当然想定通りの結果。よろしい。

次はクロスコンパイルしたWindows向けバイナリ

$ ./hello.exe

bash: ./test.exe: cannot execute binary file: 実行形式エラー

実行できない。良さそう

Windowsに移動させるのがめんどかったからwineで実行してみる

$ wine ./hello.exe

fixme:service:scmdatabase_autostart_services Auto-start service L”Mobizen plugin” failed to start: 2
hello
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}

なんかものっそいエラー吐かれたけど一応「hello」は出たし良いとするか(((

MobizenってこのMobizenかな??

 

クロスコンパイル自体はそりゃ出来るでしょうねって感じでした。

問題はこれにどういうフロントエンドを付けるのかっていうとこなんだけど、というかそもそも鯖にLinuxを使うのかどうかとか、色々決まってない部分があるし、加えて言うなら今回はCっぽい空気だったけど、求められているのはFORTRANなのであった……

 

 

ちなみに

上ではしれっと-static付けているけど、ダイナミックリンクでやるとlibstdc++-6.dllあたりが必要そうなエラーを吐いて実行できない。適切に用意してあげれば実行出来るんだろうけどね。

データの大きさを比べると、

  • test.cpp  84
  • test.exe  11206980
  • test.out  9192
  • test_d.exe 134968

みたいな感じ。スタティックリンクだと11MBくらいになる。(ただのHelloWorldである)

SO-02Gを初期化しました

買った当初はKitKatだったのだけど、無事Lolipopのアップデートが降ってきたので、アップデートしたのでした。

 

アップデートした時に、一度初期化しようか迷ったんだけど、面倒だったのでスルーしちゃった。本当は初期化して最初からやり直したかったんだけど、某LINEとかいうクソアプリのトーク履歴のお話とかで、やり直すのが面倒だったのですよ。

 

で、まぁなんだか動作も不安定になってきたし、電池の減りも素早くなってきたので、一発初期化して様子見るか~って感じで、今日やりました。

 

特に難しいことはない、今日やったので、これから様子を見るという事で。

.vimrc書いてた

 

大した事は書いてないんだけどね。

Vundleを入れて、TweetVimを使えるようにしたのをベースにして、そこから楽しそうなプラグインをてきとうに突っ込んでいった感じ

set nocompatible
filetype off

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin ‘gmarik/Vundle.vim’

call vundle#end()

Vundleインストールの時のコピペ

 

Bundle ‘basyura/TweetVim’
Bundle ‘mattn/webapi-vim’
Bundle ‘basyura/twibill.vim’
Bundle ‘tyru/open-browser.vim’
Bundle ‘h1mesuke/unite-outline’
Bundle ‘basyura/bitly.vim’
Bundle ‘Shougo/unite.vim’

TweetVimに使うもの。TweetVimはさらっと呟きたい時に便利。迂闊にmikutterとか開くと作業が捗らない捗らない…

 

Bundle ‘scrooloose/nerdtree’

ツリー状のファイルビューできる感じ

 

Bundle ‘tomtom/tcomment_vim’

大抵の文法でコメントアウトできる。行選択してCtrl+-を2回押すだけ

 

Bundle ‘tomasr/molokai’
syntax on
colorscheme molokai
hi Comment ctermfg=gray

カラースキームを指定している。我が家の環境ではコメントアウトが異常に見難かったのでそれだけ色変更。

 

Bundle ‘nathanaelkane/vim-indent-guides’
let g:indent_guides_enable_on_vim_startup=1
let g:indent_guides_start_level=1
let g:indent_guides_auto_colors=0
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd ctermbg=darkgreen
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=darkblue
let g:indent_guides_color_change_percent=30
let g:indent_guides_guide_size=1

インデントに色を付ける。ネストの状態をサッと確認できて良い。次にするタブ幅の設定が必要らしい(tsとswが同じである事、expandtabが有効であること)

 

set ts=2 sw=2 sts=0
set expandtab

タブ幅の設定。

 

set number
set cursorline
hi clear CursorLine
hi CursorLine ctermbg=darkred

行番号を表示するのと、カーソルが今いる行をハイライトする。

 

Plugin ‘itchyny/lightline.vim’
set laststatus=2
let g:lightline = {‘colorscheme’:’wombat’,}
if !has(‘gui_running’)
set t_Co=256
endif

ステータス行の設定。lightline使って取り敢えずカッコヨサゲになればいいかなって感じ。あんまり真面目に取り組んでない(フォントにパッチ当てると色々表示できて面白いらしいんだけどめんどくてやってない)

 

Bundle ‘miyakogi/seiya.vim’
let g:seiya_auto_enable=1

molokaiで背景が真っ黒にされちゃうのでそれを上書きして背景が半透明に見えるように。molokaiを書き換えてもいいけれど、別のカラースキームにしても手間なく行きたいためこちらを使う。どうやらこのプラグインは随分簡単な仕組みらしくて、それを直接書いてもいいんだけど、2行には収まらないため使わせて頂く。ありがたやありがたや

 

filetype plugin indent on

これもVundleインストールの時のコピペ

 

ずっとviを使っていた(多くの場合viと入力すればvimが起動されると書いてある記事が大変多いけど、我が家の環境ではviとすればきちんとviが起動しました)けれど、楽しそうだし触ってみるか的な感じで、取り敢えず.vimrc書かないと始まらないかなーと

.bashrcにはきちんとalias vi=’vim’を追記しておいたので、むしろviを起動したい場合にはwhich viとかで探して直接実行せねばならぬ。誰得

 

しかし操作がマジに覚えられん。みんな、そんなに覚えてるもんなのかな、怖い