忍者ブログ
当サイトはHTML5+css3で作成されており、Internet Explorerでは正しく表示されません。
firefoxOperaの 使用をお勧めします。

MIXや動画の依頼しちゃう??

ニコニコ動画、youtubeなどで歌ってみた系音源や動画の作成依頼をまとめた。

[PR]

×

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

2024年 11月 22日|comment(-)

エンコードのお話-その2

前回の続き。

色々書くと面倒くさくなってくるのでマッハでいきます。

3の出力色フォーマット i444に設定するとありますが
ニコニコ、youtube含めて多分一般的な動画投稿サイトの多くがi420だと思います。
※ニコニコとyoutubeしか調べてないし、他を知らない。

youtubeのi420表記(クロマ サブサンプリング: 4:2:0ってやつがそれ)
https://support.google.com/youtube/answer/1722171?hl=ja

ニコニコは見つからなかったけど引っこ抜いた動画が
i420なのでi420になるのは事実。

あちらのブログに書かれていた気はしますがi444で動画アップしても
サーバーエンコードでi420になります。つまりは色の劣化が必ず発生する。

なら最初からi420で動画出力してどんな色味になるか事前に確認し、
色味を大切にしたいなら投稿前に調整しておきたくないですか???
赤が若干薄くなるなら色調フィルタで赤を少し強めるとかできるし。

劣化させないことは大切ですが結果見た目が変わってしまうのであれば
それは劣化と同等。
なら劣化を考慮して調整かけた結果が元の動画に近い方が
「劣化してない」と言えると私は思います。

ということからi444出しではなくi420出しを推奨。

そして音源に関する設定である4と5
qaacによるApple Lossless(ALAC)です。

このままやったら一部の音屋さん激ギレしますね。
なぜか。それはビット深度が変わってしまうから。
ミキサーさんから受け取った音源が16bit-44.1khzや16bit-48khzなら何も問題ないです。
でもミキサーさんが24bit-44.1や48でミキシングした音源が16bitの44.1や48khzに
勝手に変わってしまうんです。
数字で言われるとさっぱりでしょうが実際に聞くとわかると思います。
※つって私がわかるかって言われるとわからないけどーーー

つまりは24bit音源をカスタムしていないqaac-alac出力にしちゃうと
16bitの音源になってしまうわけですよ。
音良くなるどころか悪くなりますねー。コワイネー。
そしてミキサーにもキレられてさらにコワイネー。

ではどうしろというのかというと2択です。
 
1.alacではなくAAC-LCで出力する
2.拡張 x264 出力 (GUI) プラグインをカスタムする

 この話を掘り下げる前に動画仕様のお話です。
これもニコニコ、youtubeなど動画サイトにおける音源フォーマットはAAC-LCです。
映像部分でもあったようにいくらロスレスのALACでアップしてもAAC-LCに
変換されるというのは頭の片隅に・・・

youtubeの音声コーデックのところを見てください
https://support.google.com/youtube/answer/1722171?hl=ja

話戻ります。
 
1のやり方
これは元ブログにもあるようqaacのTrueVBR 300~kbpsにすればいいだけ

<補足>
ちなみにAAC-LCを使う場合、私はqaacではなくNeroaacを使っています・・・
 

なぜか?
Neroだと「512kbpsに設定はできる」から
実際512に出てくることはほぼなく400台で出てくることが多い。
320を超えるとCD音質並と言われています。
でも聞く人、聞く環境があるとわかるのかもしれないですね。。。
ってことでマックスでやってるぜっていう保険も兼ねてNero-512にしてます。

もっと上にすればよりいいじゃん?って思われるでしょうが
昔試したことがあって確か500台後半が限界(エラーになる)なのです。
MAXにしてもいいんですがこういうのは16や32、64と言ったパソコン的思考で
128の整数倍が気持ちいい?ので512にしてます。
は?意味わからん?うん、Neroにするならだまって512にしとくとヨイヨー

 2のやり方
この間、書いたやつ。これみるよろし。
ただ設定をいじるのでミスって起動しないとか知らん。自己責任な。
http://gunbimxmv.blog.shinobi.jp/%E9%9B%91%E8%A8%98/qaac-alac

劣化を無くすという観点では2なんですが設定ファイルをいじる必要あり
というハードルが高い気がするので1を推奨ということで。

設定に関するところでツッコみたかったのはこれぐらいかな。
内容的にはAAC-LCにビット深度16bitとか書いてあるけどAACにはビット深度ない。

ビット深度のwiki(冒頭にMP3やAACにはビット深度の概念はないとある)
https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E6%B7%B1%E5%BA%A6_(%E9%9F%B3%E9%9F%BF%E6%A9%9F%E5%99%A8)

そしてあの記事には画質のことばかり書かれているけど
動画において「音」も重要な成分です。
※決しておろそかにしていいとは書かれていないけど。
私がお付き合いしてる方はほぼ歌い手活動者なのでそういう意味でも
音質にはこだわった方がよいと思うのです。
 
CD時代は16bitのサンプリング周波数44.1khzでしたが
今の動画時代は24bitのサンプリング周波数48khzが当たり前。

歌みたなどでミキサーさんにご依頼するときは書き出し24-48でお願いします。
って必ず言いましょうね。
それをするにはボーカル録音自体も24bit-48khzでやりましょうね。

<脱線話:24-48をやたらと推す理由>
今は引退された歌みたの有名なミキサーさんが出してくる音源がいつも16-44.1でした。
こちらもまた引退された私が心の師としている(この記事の内容の大半を教わった方)方に
一度聞いたことがあるんです。

この人いつも16-44.1で出してくるんですが何かメリットってあるんですか?

と聞いたら

1mmもメリットなんてない。24-48が標準なのを知らないだけでしょ。

と一蹴でした。
16-44.1が全くダメというわけではないですが受け皿として24-48が用意されているので
24-48を使うのが望ましいというわけです。

ちなみにyoutubeの仕様にも音声コーデックの仕様に推奨サンプルレートとして
96khz or 48khzと記述があります(48の2倍が96だから96khz)。
ニコニコにはこのあたりの記述がないのでこっちも同じでしょ?と言えないんですが
インターネットをぼほ手中に収めている世界のyoutubeさんがおっしゃるので間違いはない。

<引用元>
https://support.google.com/youtube/answer/1722171?hl=ja
※音声コーデック:AAC-LCのところ

 ただボーカルが16-44.1、オケも44.1だった場合も24-48にする意味があるのか?
という疑問は聞けぬまま師匠が引退されてしまったので私もわかりません。。。
知ってる方いたら教えてください・・・
PR
2019年 03月 30日雑記|comment(-)

エンコードのお話-その1

先日、とある方からエンコードについてご質問がありました。
内容としては

本家様動画にご自身の歌みた音源を合わせるいわゆる「エンコード」がしたい

というもの。
もろもろ理由からご自身でやりたいということでQAしてたわけなんですが・・・

適当な情報を元に「よい!こうするべき!」

と書かれたものが結構多いんだなーと再認識しました。
その時は深く考えずこっちの方がいいですってな感じでお答えしてたんですが
今日全く違うことを調べていて偶然その方が参考にしていたであろう
サイト?ブログを見つけて何これ状態になったので・・・

珍しく今回はあえて敵対しましょう。
ソースの情報はこちら。

https://ch.nicovideo.jp/lejemento/blomaga/ar1709340

色々書かれていますがウソ&適当が多い(印象)です。
高画質エンコで検索すると上位に出てくるので参考にされている方多そうですが。。。

では記された方には申し訳ないですがボロクソ言っていきます。
まずコンセプトの

ロスレスでエンコードすべき

に関しては私も同感です。
投稿された動画を観るときはサーバエンコードや視聴環境によって画質/音質が
落ちるのは仕方ないとしても、上流(元データ)は高品質(ロスレス)で仕上げるべき。

お化粧するにしても日々のお肌ケアや下地作りをしっかりしないと
化粧乗りが悪いでしょ?そういうこと。男性にはピンとこないかもしれませんが・・・

急ですがここで今回の話における前提を記します。
本内容は、AviUtlを使って1から動画を作ってH.264にエンコードするときの話です。
元々のご相談にあった本家様動画にご自身の歌みた音源に入れ替えるときは
このやり方が全くダメではないですが別のやり方を推奨します。
推奨する方法っていうか本来やるべきことは、

本家様動画にご自身の歌みた音源を入れてエンコードするのではなく
本家様動画に自分の音源をmuxでmp4コンテナすべき

ただこのやり方の難点?はCLI操作(黒い画面で呪文打つやつ)が必要なこと。
ご質問された方だけでなく多くの方はコマンドライン?パス??何それ???
ってなると思ってしまったのでご質問くださった方にはmuxでのやり方ではなく
エンコードする方法でお教えしました。
私が知らないだけで実はGUI操作できるツールがあったりするのかもしれません。

はい、戻りましょう。戻りましょう。

<拡張x.264出力(GUI)Exの画面にある1と2に関して>
Youtube投稿するなら現在(2019/3/30)の仕様を見ると

ファイルの最大サイズは128GB or 12時間のいずれか小さいほう

※引用元
https://support.google.com/youtube/answer/71673?co=GENIE.Platform%3DDesktop&hl=ja&oco=0

なので一般的な動画でこの制限にかかることは皆無だと思うので
このシングルパス-固定量子化量の0もよいのかもしれません。

そして一方のニコニコ動画(く)の動画仕様(2019/3/30時点)は

ファイルの最大サイズは3GB以下かつ動画長さは6時間以下

※引用元
https://qa.nicovideo.jp/faq/show/5685?site_domain=default

参考に手持ちの動画2つをロスレスでエンコードしたら2.3GBと6.5GBとなり、
後者は投稿仕様の制限にかかってしまって投稿できません。

出来上がるファイルサイズは動画尺や内容で大きく変動するので
今回のは3GB以内か超えるか?!どっち?!な賭けは無駄な気がします。
そして動画サイトの仕様を知らずにやってる方だとこの前はうまくいったのに
今回は投稿できない!どうして?!?!なんてのも目に浮かびます。。。
今の時代、仕様を知らないだけでなくファイルサイズって
どこで見るんですか?なんて方も実際いらしたりするし・・・

--------------------------参考データ----------------------------
試しに4分16秒の動画(1080p)を先のシングルパス-固定量子化量の量子化0でエンコードすると

 

約2.3GBなのでニコニコにも投稿できるサイズではありますねー。

 

別の5分55秒の動画(1080p)だと約6.5GBでファイル3GB制限にかかって投稿NGです。

--------------------------参考ここまで----------------------------

ということで「ロスレスでエンコードすべきには同意」と言っておきながら
いきなり矛盾したことを言いますが・・・
ローカル保存(自分のパソコンで鑑賞する用とか)するならロスレスでいいですが
動画サイトに投稿する場合は、圧縮かけた方がいいのではないかなと私は思います。

・圧縮かけることでサーバーエンコード結果により近い形で確認できる
・しったこっちゃないでしょうが無駄な帯域食わなくていい

圧縮によるデメリット分はシャープフィルタやらかけてしまえば
むしろクッキリするぐらいな気すらするし。

ちなみにニコニコさんの拡張 x264 出力 (GUI) プラグインのwikiには
「シンルグパス-固定量子化量」の項目に

固定量子化量では品質基準VBRの項に記したようなビットレートの節約を行わないので、
固定量子化量を用いてエンコードすると、品質基準VBRを用いてエンコードしたものに
比べて視覚的に同じ品質でも容量だけが大きくなる。
ある開発者曰く「特殊な実験目的以外では使う価値がまったくない」とのこと。

<引用元>
http://nicowiki.com/%E6%8B%A1%E5%BC%B5%20x264%20%E5%87%BA%E5%8A%9B%EF%BC%88GUI%EF%BC%89%E3%81%AE%E8%A8%AD%E5%AE%9A%E9%A0%85%E7%9B%AE%E3%81%A8%E3%81%9D%E3%81%AE%E6%A9%9F%E8%83%BD%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6.html

なんて書かれていたりします。
 
ではお前はどういう設定でエンコードしてるのか?というと・・・
これです(音源が24bitのとき)


16bit音源時はこちら


※二つの違いは音声部分のモードの違いです。
Apple Lossless(ALAC)24bit と16bitの違い。
そんなのないけど?ええ、これがカスタムしてるってやつです。
ここに関しては次の記事に書いていますのでそちらで。

 rigayaさん提供プリセットからはちょこちょこといじってる気はしますが
ほぼデフォルトです。
他のタブも変化も分かぬままちょいちょいいじってるけど。。。

先にも記した&rigayaさん提供プリセットからしても
サイズ確認付き品質標準VBR(可変レート)で問題ないと思ってます。
rigayaさんのブログをご覧になればわかりますが詳しすぎて
書かれていることの意味がほぼわかりません。。。
そんな方がとりあえずこれでいいじゃん?って提供してくださっているんだから
これが正義。
何よりこの拡張x.264出力(GUI)Exの生みの親
鬼のように検証されていますもの。疑う余地などない。

 ------------------脱線1:圧縮って何よ-----------------------
この例えは映像でも音でも同じです。
012345678901234567890123456789(30個あるよって数える用)

こんな感じで数字の0が30個並んだものがあります。
000000000000000000000000000000

ロスレスさんはあなたに
000000000000000000000000000000
このように伝えます。

圧縮さんはあなたに
0が30個
このように伝えます。

受け取った側としては結果は同じでしょ?
でもロスレスさんはゼロゼロゼロゼロ・・・って言い続けるのに対して
圧縮さんは0が30個っていうだけで簡潔だし早くね?
ラインで友達に伝えるってなったらどっち使う?

なんとなーくロスレスと圧縮の違いが分かってもらえれば
例えを簡単にするために可逆変換な例になってるけどスルーして。
--------------------------------------------------

ああ、どうしようなんか面倒になってきた・・・
2019年 03月 30日雑記|comment(-)

拡張x264出力(GUI)のQAACでALAC出力

今日偶然知ったんですがqaacでもalac出力ができるんですね。

それを知ったので共有したくってわけじゃなく・・・
少しポイント?があるのでメモ代わりに記しておきます。

alacは劣化なし+圧縮効果もある可逆変換です。
WAVのようにビット深度も持ちます。
うざい?


はい。
qaacのalacで出力すると本来は入力形式のビット深度をそのまま引き継いで
出力してくれるらしいんですが当方環境qaac(ver2.67)だとその動きにはならず

24bitでも16bit(16bitは16bit)になる

というもの。
refalacと同じでビット深度の引数渡しが必要ですよってお話でした。
やり方はrefalacと同じ

x264guiEx.ini

に -b 16 と -b 24 のパターンを追加しておくと使い分けできて便利。

☆修正1つめ

[MODE_AAC_QAAC]
count=7
-->6から7に変える

☆修正2つめ
count=7に変えたところからちょっと下にスクロールするとALAC項目がでるので

;ALAC
mode_6=" Apple Lossless (ALAC)"
mode_6_cmd="-A"
mode_6_use_remuxer=1



;ALAC-16bit
mode_6=" Apple Lossless (ALAC)-16bit"
mode_6_cmd="-A"
mode_6_use_remuxer=1

;ALAC-24bit
mode_7=" Apple Lossless (ALAC)-24bit"
mode_7_cmd="-A -b 24"
mode_7_use_remuxer=1

に書き換え(追記)するとよいです。
ただこれやるとx264拡張のバージョンアップのたびに修正しなきゃいけないよ!

2019年 03月 23日雑記|comment(-)

L-SMASH Works r935 release2にする

LuaJITのなんちゃらかんちゃらを考えていたら
諸々の環境見直しをしたくなってサイト確認したら新しいバージョンになっていたので
L-SMASH Worksをバージョンアップ

L-SMASH Works r935
から
L-SMASH Works r935 release2
にアップデート。
入れて満足してまだ何もしていない

2018年 11月 19日雑記|comment(-)

VirtualDubとDeshakerを使った手振れ補正

 手振れがひどい動画を修正したくなって調べた結果です。
各ソフトがかなり古いので今更感すごいですが結構躓いたので自身の覚書も込めて。

まず調べると当方がよく使うAviUtlでトラッキングスクリプトでも補正も可能のようです。
実際やってみましたが当方の動画(実写/ダンス動画)では思うような結果が得られず断念。
同じ様に多く出てきたVirtualDub+Dashakerでやるととてつもなくきれいに手振れ補正してくれたのでこちらでの記事です。
あとこの手順ではAviUtl(+拡張x264guiex)が必須です。

<前提>
おそらく手振れ補正が必要な動画はこの時世だとスマホ動画でしょう。
普通?のビデオカメラもあるでしょうがカメラ側の機能として優秀な手振れ補正が付いていると思う。
ということでスマホ動画を前提として記しています。
(やったのがそれだから)

<基本的な動画>
https://www.youtube.com/watch?v=49wWyoWOtSw

ソフト入手やソフトインストール、実際の補正手順などはこちらの動画に
まとまっているのでそのあたりはまずこちらの動画をみてください。

☆補足
先の動画自体かなり昔にアップされたものなので少し情報が古いこともあります。
各ソフト64bit/32bit共にありました。
 
☆VirtualDub本体(32bit/64bit共にあり)
http://www.virtualdub.org/

☆Deshaker(今は64bit版もある)
https://www.guthspot.se/video/deshaker.htm
 
動画にもURLありますが上記が必要ソフトへのリンクです。
インストールに関しては動画参照。

これとは別に今回mp4出力がしたかったのでそのためのPresetがこちらから
入手可能です。同じくダウンロードしてください。
ファイル内にインストール方法の動画があるのでそれ見ればわかります。

☆External Encoder Preset
https://forum.videohelp.com/threads/367446-Virtualdub-External-Encoder-feature

ちなみにこれを入れない場合生AVI形式のみ出力可能です。
(10秒とかで1GBとか余裕で超えちゃうやつ)
動画が10分ほどあったので画質落ちますがmp4出しとしました。
あと偶然かわかりませんが私の環境では読み込みファイルでut-videoのAVIが通りました。
ラッキー!

<手順>
1.L-Smashの入力設定でVBRをCBR変換する設定をぶち込みます。
※扱う素材の動画がVBRの時のみやってください。元々CBRだったら1はやらなくていいので
 2からやってください!

この画面は
AviUtlのファイルメニュー->環境設定->入力プラグインの設定->L-SMASH Works...の設定
というやつです。

 

デフォルト(以前触った記憶がなければ赤ラインのところが空欄+チェックオフになっていると思うので
上記のように入力してチェックボックスにチェックしてOKボタンを押してください。
OKを押したタイミングでAviUtlを再起動しないと反映されてないよというポップアップでるので
AviUtlを再起動させましょう。

CBR変換の準備完了。

2.手振れしまくり動画を読み込む。
AviUtlに動画を読み込んだら不要部分のカットなどなど下処理をやっちゃってください。
手振れ補正処理はそれなりに時間がかかるので不要な部分はないほうがいいし、
細かくしておくと補正処理でこけたときのダメージ低減にもなります・・・

下処理が終わった・・・ということで進めます。
では手振れ補正をしたい部分をAVI形式で出力します。
容量的にもできればut-videoで書き出せるとよいです。
なければ生AVIで出力してください。
※3カットあるなら個別で3カット分出力してね。(3つファイル作ってね)

手振れ前素材の完成。

3.External Encodersの設定
VirtualDubを起動し、このメニューからExternal Encodersの設定画面を開きます。

 



External Encoders Presetの読み込みが正しくできているとこんな感じででてくると
思います。(上記画面はすでに設定追加してるので少し違います・・・)

一応ここにある形式で出力できますよというリスト(設定)です。
このまま使えそうな雰囲気あるんですが実際は使えません。
さらに設定が必要です。

ではその設定方法へ



画面左上にタブが2つあり、Encodersに切り替えます。
なんやら呪文が鬼のようにあります。
まぁ考えれば当たり前の設定。
各エンコーダーのファイルパスを設定しなきゃいけないわけです。
ちょっと何言ってるかわかんないっす?いいです。手順通りにやってください。

<補足>
元々入っているパスは先のプリセット配布者様の環境が入っているのでしょう。
ですのでプリセット全部使いたい方は全部修正してね。
 

 
リストの中に 「1x264 - HQ」 というのがあるのでそれを選択して、下の「Edit」を押す
この画面になるので1を押してください。



ここで少しAviUtlの知識?が必要になります。
AviUtlがインストールされているフォルダを探し、x264.r2851_x64.exeとかを探します。
※r2851はバージョンなので一番大きい数字のやつを選択してください。
※x64は64bit版、32bit版は・・・知りません・・とりあえずx264.rなんちゃらを探してください。

私の環境では「exe_files」に「x264.2851kMod.x86_64.exe」があるのでそれを指定しています。
x264...exeが指定できたらOKボタンを押してください。
 
<補足1>
r2851を探せとかいいながらお前の環境は2851kModとかどういうことだよ・・・
ってのは私がx264を別のところから入手先しているためです。
x264拡張guiexを配布くださっているrigayaさんのところのやつだとr系の名前です。

<補足2>
x264にコマンドラインオプションがわかる方はこの設定時に他のオプションとか渡しておくと
より画質よくなったりするんでしょう(適当


 

この画面に戻ります。
同じく今度は「4 neroaac 256kbs」で同じことをやります。



Editで設定画面を開きます。

 

赤矢印のところをクリックして「neroAacEnc.exe」を指定します。
おそらくAviUtl.exe本体と同じフォルダか、さっきと同じ「 exe_files 」フォルダに
neroAacEnc.exeがあると思いますのでそれを指定してOKを押してください。
※neroAacDec.exeとかneroAacTag.exeもあるので間違えないように!

画面にもあるよう私の環境では「 exe_files 」フォルダにありました。

もういっちょ。


MP4Boxでも同じことをやります。



赤矢印のとこを押して、「mp4box.exe」を指定してください。
これもおそらくAviUtl.exe本体と同じフォルダか、さっきと同じ「 exe_files 」フォルダに
MP4Box.exeがあると思いますのでそれを指定してOKを押してください。

ちなみに当方環境では「Aviutl.exe」と同じフォルダ内にありました。

さぁ、これでmp4出力の準備は整いました。

4.手振れ補正処理
これは最初にご紹介した動画の通りにやってください。
おそらくあの手順でかなりきれいに手振れ補正してくれるはず。
気に入らなかったら補正設定を煮詰めてください・・・
Pass2まで終わったらあとは出力です。

5.mp4出力
FileメニューからExportを選び、Using External Encoderを選びます。

 

以下画面になるので「MP4(video/audio)」を選んでください。



ファイル保存先を指定する画面になるので保存したい場所とファイル名を指定して
「保存」を押せばOK。完了。

<ちょっぴり重要>
若干説明めんどいので雑に書きますがutvideo出力すると映像のみになります。
※私だけ?
この音声なし状態で先のmp4書き出しをすると0バイトのファイルになって失敗します。
保存フォルダを見ていると映像部分x264のファイルはできていて最後mp4boxで
muxするタイミングでaudio(m4a)がないのでこけているようでした。

なので・・・utvideoでやる場合はExternal Encodersで映像のみでmp4出しする
プリセットを作ればこの問題を回避可能です。
雑に説明いきます。

 

先ほど作ったMP4の設定をDuplicateして3みたいにMP4-videoみたいな
(映像のみだよって)自分がわかる名前でプリセットをコピーします。
画面見てわかるよう私はMP4-video-onlyにしました。

次にEncodersタブに切り替えてさっき設定したMP4BoxをDuplicateします。



画面のよう私はMP4Box-video-onlyという名前にしました。
今デュプリケートしたプリセット(私の場合はMP4Box-video-only)を選んでEditボタンを押します。

この画面になるので



赤ラインの文字「 -add "%(outputname).m4a" 」を消します。

こうなります。



やってるのは muxするときにaudio(m4a)なしでやってねに変えただけ。

あともうちょっと。
Encodersタブから Encoder Setsに切り替えて、さっきデュプリケートした
プリセットを選んでEditボタンを押します。



この画面になるので



Multiplexerのリストから先ほど作ったMP4Box-video-onlyを選びます。

 

こうなったらOKボタンを押して完成。

Exportするときに今作ったvideoだけで出力するmp4プリセットを選べばOK

2018年 09月 05日雑記|comment(-)
↑page top↑