雑記の記憶 Jun.2020

[Prev] [UP] [Next]

[2020/06/29]
B.G.M.− 君に恋して愛を知って夢を見て
その 1
ゲームの話

Enter the Gungeon − DODGEROLLGAMES(→ http://dodgeroll.com/gungeon/)

今回は実に想像だにしない状況になりました。
何かっていうと、6 月頭に某 G 氏から「ぜんぜん先に進めませんw」連絡が来きて、その後、色々とやりとりしていたんだが....
連絡を貰ってから半月ちょっとしか経っていないのに、某 G 氏ってば持ち前のセンスを生かして華麗にあっしを追い越していきましたよ。(^^;
勝っていたのは、ちまちまと一年以上やっていて貯め込んだヘモゲニー通貨数だけだと言う。(爆

色々とやりとりをしていたお陰で知らないこととか、改めて気が付くことが満載。

「(あっしにもやれるかなー!?)」

とプレイ系は頑張ってみるものの全然及ばずw
特にソードガンのリロード時の敵弾反射とか、動きがため息出るくらい華麗。(>▽<)ノ
勉強になるけど真似できんのや!ってそんな感じですw

そんな感じにあっしも良い刺激を受けれたのか、アイテムや実績のアンロックが結構、進みました。

アイテムは、かしこいネズミを倒すってことを、レインボーモードを利用しないで出来ないと駄目で、到底無理なんで全部アンロックすることは半ば諦め状態。(^^;
一方、実績は....

etg1
[ひゃっほぉ〜]


そんな訳で、上級ドラガンを倒すなんてことが出来てしまったので、実績が全部クリアできてしまいました....!
(諦めていたので、実績進めてなかったw)

今後は全アイテムのアンロックが出来たらなぁ、とは思いますが、上でも書いた通りに半分諦め状態なので気長にやることにします。

しかし、1 か月も経たないであっと言う間にぶち抜いていくとか....
相変わらずゲームめっちゃ上手いよなぁ。
感化されて、あっしも進めちゃったので感謝!m(_ _)m

あと怪人赤マント遭遇記も感謝!(謎笑

etg2
[なんか悪人にしか見えないw]




その 2
漫画とか本の話

books
[戦利品'ず]

その他
邪神ちゃんドロップキック(14) − ユキヲ
モンスター娘のいる日常 (16) − オカヤド
本好きの下剋上 〜司書になるためには手段を選んでいられません〜 第三部 領地に本を広げようIII − 画:波野涼、原作:香月 美夜、イラスト原案:椎名優
画力が向上してきたのか、かなり安心して読めるように。特に家族との繋がりを示している髪飾りが良い感じになっています。一方で気の抜けたような雰囲気の部分では凄い良い意味で表現、絵が合っていますねぇ。アニメも尺の都合とかあるんでしょうが、こういった形で表してくれれば「・・・・・・」な状況ではなくなるのになぁ....(謎苦笑

bok2
[以前に比べて細かい所でま描き込まれていて、かなり気を遣って描かれているように感じます]



その 3

え・と・せ・と・ら

動画のこと

メモでっせ。

■前振り
ちょいと前に、5.1ch の動画をナビ再生用に変換を実施した。

しかし、それまでで実施していた normalize.exe を利用した音量変更が実施できず。
今まで以下の過程で変換を実施していた。

動画→ wav → normalize → aac → 映像+aac

5.1ch の wav では拡張 wav ってことになるとともに、normalize は stero までの wav しか扱えないことが原因。

調査の結果、最近の ffmpeg は「volume」オプションで簡単に出来るようなのでやってみた。

ffmpeg.exe -i InputFile -s 1280x720 -aspect 16:9 -profile:v main -level:v 3.1 -r 30 -af volume=1.7 Outputfile

が、環境が悪いのか何かが悪いのか分からないけど、音声にノイズが入るようになった。
ので、めっちゃ気になっていたので、今回、この辺り対応出来ないかの調査やテストを実施。


■5.1ch 音量変更

ffmpeg でノイズが入らないように 5.1ch の音量変更方法が見つからず。
以前の方法で音量変更の normalize.exe を他に出来るような物がないか探して、sox.exe なるものがあることが判明。 (Sound eXchange :https://sourceforge.net/projects/sox/)
sox.exe は dB による正規化らしく、dB と倍率を調べる。
dB = 20 x log10(x) らしいので、1.5 倍は 3.5dB, 2 倍は 6dB, 3 倍は 10dB, 4 倍は 12dB, 5 倍は 14dB。
実際にどうなるかインストールして、5.1ch wav を変換してみる。
変換前と 3 倍の wav ファイルを作成して、想定通りにピークになっていることを確認。

peek1
[上の 4 トラックが変換前、下の 4 トラックが 3 倍 wav]

5.1ch でも問題なく音量変更が出来ることが確認できたので aac 変換を実施。
出来た aac と元の動画を ffmpeg で合体させてナビ用のサイズへ変更と。

以下、あっしがやっている変換コマンド。

ffmpeg -y -i InputFile.mp4 -vn -acodec pcm_s24le -ar 48000 audio_temp.wav
sox audio_temp.wav audio_temp_gain.wav --norm=XX (XX は dB)
neroAacEnc -if audio_temp_gain.wav -lc -br 192000 -of audio_temp_gain.aac
ffmpeg -y -i "audio_temp_gain.aac -i InputFile.mp4 -map 0:a -map 1:v -acodec copy -vcodec libx264 -s 1280x720 -aspect 16:9 -profile:v main -level:v 3.1 -r 30 -threads 3 OutputFile.mp4

一応これで問題なく変換と再生が出来ることを確認と。


■stereo(2ch) アップミックスで 5.1ch

迷走して、何故か stereo → 5.1ch とかどうよ?と
結論から言うと ffmpeg の surround フィルタで出来る事が判明。

でも、判明するまでは filter_complex を使ってあわあわしていたぞっと。(笑

元が stereo (2ch) なんで、大抵の場合は、Front Left/Right を Side(or Back) Left/Right にコピーして、低音を Front Left+Right するのが定番らしい。
ので、filter_complex なるものを利用して、チャンネルの割り当てと合成を。

★5.1ch でも stero でも音量調整までは一緒。

ffmpeg -y -i aduio_temp_gain.aac -i InputFile.mp4 -filter_complex "[0:a]pan=5.1(side)|FL=FL|FR=FR|LFE<FL+FR|SL=FL|SR=FR[a]&qout; -map 0 -map -0:a -map &qout;[a]" -c:a aac -strict experimental -b:a 192000 -ar 48000 -map 1:v -vcodec libx264 -s 1280x720 -aspect 16:9 -profile:v main -level:v 3.1 -r 30 -threads 3 Output.mp4

今回苦労したのは、いつも苦労する ffmpeg で使う「識別子」

フィルタの入力、出力や出現回数制限とか色々とあるのはいつもの通りで、そのあたりを理解できるように書いてある filter_complex ドキュメントを見つけられなかった....
あるんだろうけど....英語なのがいけないんやあああ(苦笑

とりあえず、上では....

-filter_complex "[0:a]pan=5.1(side)|FL=FL|FR=FR|LFE<FL+FR|SL=FL|SR=FR[a]"

の部分が、1 番目の入力ファイル audio_temp_gain.aac の音声を操作するので、filter_complex への入力として [0:a] (1 番目入力の全ての audio)を指定。
filter_complex の中で pan フィルタで最初にチャンネル「5.1(side)」 を指定し、出力設定を記述。
FL は FL、FR は FR、LFE(低音)は、FL+FR を足すけど累乗計数 1(「<」の記号がその意味らしい) として合成(normalize)、SL は FL、SR は FR として、pan した結果を [a] に割り当て。

-map 0 -map -0:a -map "[a]"

の部分は、1番目の入力ファイルで、音声トラック全部を無しにして、pan した結果の [a] を割り当てる。
って感じですかね。

これで、音声トラックができあがったので、後半で音声とビデオをエンコーディングして終了と。
普段だと音声トラックは既にエンコーディングされている aac を指定しているので、ffmpeg ではエンコーディングしないんだが、今回は flter_complex を使って pan しているのでエンコーディングしてあげないと駄目と。

音声トラックのコーデック指定が「-c:a aac -strict experimental」ってなっているが、これは ffmpeg が持っている aac エンコーダーとか。
普段だと「-c:a aac」だけで良かったんだが、5.1ch が悪いのか libvo_aacenc ではエンコーディングできない、とエラーになってしまいました。


★で、ここまでやって「ffmpeg 3.4 から追加のフィルタ。入力したステレオなどの音声の周波数からフロントとリアなどの音声に分けてサラウンド(5.1ch など)に変換するsurroundフィルタの使い方。」(ttps://nico-lab.net/surround_with_ffmpeg/)なんて記事を発見。

上で苦労して色々とやっていたことが以下で出来てしまいましたと.....

ffmpeg -y -i aduio_temp_gain.aac -i InputFile.mp4 -af surround -ar 48000 -c:a aac -strict experimental -map 0:a -map 1:v -vcodec libx264 -s 1280x720 -aspect 16:9 -profile:v main -level:v 3.1 -r 30 -threads 3 Output.mp4

くっそ、あっしの苦労は無駄な苦労だったか(苦笑

それはそれとして、変換時に入力ファイルの音声チャンネル数なんて判断していないので、5.1ch は 5.1ch 用の変換スクリプト、stero は stereo → 5.1ch 用の変換スクリプトにちゃんと分けて指定してやらないと駄目なのが面倒なところだなぁ。




[Prev] [UP] [Next]