スキップしてメイン コンテンツに移動

頼むから放送規格をもっと厳格に規格してくれ

 エンコード設定の決定版がなかなかない


今はQSVを使ってh264にエンコードし、地デジやBS・CSの解像度に違いがあるため1920x1080に変換し、音声はコピーしてmp4に格納しており、エンコードの設定は以下のようになっていた。


ffmpeg -hwaccel qsv -c:v mpeg2_qsv -i "$RECPATH" -c:v h264_qsv -preset 1 -look_ahead 0 -look_ahead_depth 100 -q:v 21 -c:a copy -map v:0 -map a:0 -vf scale_qsv=w=1920:h=1080


これで7倍速でエンコード出来るし、画質、容量、互換性も申し分ない。本当はHEVCでエンコードしたいが、なぜかWindowsで再生できないためH264に変換している。


しかしながら、放送規格が局によって大きく変わったり、同じ放送局でも番組によって変化するため、非常に難儀している。


まず問題となるのが、AT-Xだ。AT-Xは有料のアニメ専門チャンネルでそれなりの料金を支払って契約しているが、当局の番組のエンコード中、それも特定の限られた番組にのみある問題が起きた。途中でエンコードが終了しているのだ。問題となった番組を再び同じ設定でエンコードしたところ、『Error parsing ADTS frame header!』と表示され、エンコードが途中で強制終了した。そのためGoogle先生の力を借りて解決策を模索したところ、-bsf:a aac_adtstoascと入力すれば問題は解決した。



…かのように思えたが、別の問題が発生した。東名阪以外の田舎に住んでいるアニオタにとっての救世主であるBS11イレブンをエンコードしたところ、音声は格納されているのになぜか音声が再生されない。つまり音無しの動画になってしまったのだ。

私は大阪に住んでいるが、BS11イレブンは画質が良く、アニメのラインナップも充実しているので貴重な存在であることには代わりはなく、対策をする必要が出てきた。


ffmpeg内臓のAACエンコーダーは品質が悪いので、できれば使いたくないが、コピーしてしまうと放送局の放送規格の違いが原因で何かしらの問題が出てきてしまうようなので、仕方なくエンコードすることにした。

『-c:a aac -profile:a aac_low -strict experimental』に書き換えた。これ以上問題が起きないことを祈る。


そういえば、mp4にはopusも格納されるらしい。opusは音質の評判もいいらしいのでこちらに変換しようかとも考えたが、互換性が悪化するためやめておいた。現代においてはh264とaacを超える互換性はおそらくないだろう。MP3にしか対応していない旧時代の遺物を使う気がしないしね。


最終的な設定は

ffmpeg -hwaccel qsv -c:v mpeg2_qsv -i "$RECPATH" -c:v h264_qsv -preset 1 -maxrate 4000k -look_ahead 0 -look_ahead_depth 100 -q:v 21  -c:a aac -profile:a aac_low -strict experimental -b:a 320k -map v:0 -map a:0 -vf scale_qsv=w=1920:h=1080


となった。これで問題が解決してくれれば助かる。あと放送局は本当に放送規格を統一してほしい。

コメント

このブログの人気の投稿

xbox game pass for PCからSteamにデータ移行する方法の備忘録

 xboxgamepass(以下ゲーパス)は定額でゲームをプレイし放題の革新的なサービスである一方、ある落とし穴が存在する。 こういうサービスなので、ゲームが配信終了されることもたまにあり、それ自体は仕方のないこととして納得するものの、ゲーパスのゲームのセーブデータはクラウドに保存され、ユーザーはそれにアクセスすることが不可となっている。 つまり、面白かったからSteamで購入し、セーブデータを移行して続きからプレイする事は出来ない。というクソ仕様だ。Microsoftからすれば、xboxで購入してプレイしろよという話なのだろうが、あんな使いにくいゴミアプリはゲーパス以外の価値はない。 ここから本題。先程、セーブデータはクラウドに保存され、ユーザーはそれにアクセスすることが出来ないと述べたが、実際には名前を変えてローカルにも保存されている。以下はセーブデータの移行方法。 注意点として、全てのゲーム、環境でこの方法が使えるわけではないので、悪しからず。 また、予めSteamでゲームを購入し、そのゲームのセーブデータを作っておく必要もある。 この方法でセーブデータが消去されてしまったとしても、私は一切の責任は取らない。 今回移行するゲームはProject Wingman まず、C:\Users\User\AppData\Local\Packages\にアクセスする。 長い名前のフォルダがあるが、セーブデータが保存されていると思われるフォルダはゲームのデベロッパーかパブリッシャーの名前を含んでいるので、検索して探す。Project Wingman の場合はHumbleと検索すると見つかる。探しているゲームに合わせて検索ワードを変えて探し、フォルダの中に入る。 次にSystemAppDataのフォルダに入り、その中のwgsというフォルダに入る。wgsには"t"というフォルダと、めちゃくちゃ長い名前のフォルダの2つがあるので、めちゃくちゃ長い方に入る。 中には変わった名前のフォルダがいくつかあると思う。 ゲームによって多少変わるものの、ゲームのセーブデータはいくつかのファイルから構成されている。このフォルダはそのファイルを1つ1つフォルダ分けし、名前を変えられてこの中に入っている。 なので、この中にあるファイルの名前を1つ1つ変更し、Steamのフォルダに

チャンネルごとの画質について

 4K放送は綺麗だが、今回は現行放送の画質についての話。 結論から言うと、テレビの画質は BS放送(一部)>BS放送≧地デジ(民法・NHK)>地デジ(独立局)>CS となる。 以下、ビットレートという言葉が出てくるが、これはデータ量のことで数字が大きければ高画質になると思ってもらって問題ない。 BS放送は地デジやCSより高画質だがは4K放送の影響で大手民放とNHK BS1の画質が悪化した。BSプレミアムやBS11イレブンの画質は従来どおり高画質なままなので、BS放送(一部)と表記した。よってBS放送(一部)>BS放送となる 画質の悪化はビットレートの低下もそうだが、解像度も1920x1080から地デジと同じ1440x1080に下がった。 しかしそれでもビットレートは地デジより高いので、画質は地デジよりBSのほうが良いことに変わりはないようだ。 地デジは地デジでもNHK・大手民放と独立局とで画質に差が出る。ちなみに大手民放とはフジテレビ、テレ東、テレ朝、日テレ、TBSの系列局のことを指し、独立局とはそれ以外の小さなローカル局のことを指す。TOKYO MXやサンテレビなどがそうだ。私は大阪在住なのでMXについてはよく知らないが。 さて、画質の話だが、地デジ放送は先程も少し言ったが、1440x1080で放送されている。しかし、サンテレビやKBS京都など独立局は1920x1080で放送されている。 では独立局のほうが実は高画質なのか?と思うかもしれないが、実はそうではない。独立局は民放・NHKよりビットレートが低いので、目に見える画質は悪い。 というか、ビットレートが低いのに解像度が高いので、動きの多いシーンでの画質はひどいものになっている。 これはサンテレビのプリコネのスクショだが、見ての通りブロックノイズが出まくっていて、ひと目で画質が悪いのが見て取れる。 比較できるものがなくて申し訳ないが、大手民放の地デジやBS放送ならここまで酷くはならない。 最後にCS放送だ。1440x1080で放送されており、基本的に画質は悪い。ビットレートは10Mbps以下で、つい最近までSD画質で放送していた局もあるくらいだ。有料放送なのに画質は最悪と、良いところがない。 CS放送ってあんなにチャンネルがあって有料で料金も高いのに、どうやって成り立ってるのか不思議でしょうがない。チャンネル数