あれ、どうやったっけ

(たぶん)テキストサイト風blog。文が安定するまで書き直しあるからメンゴ。

あのts野郎の頭をちょんぎってしまえ@linux de rec画

エンコ道、やります! と言ったあの彼は今

俗にいう「おま環(特定マシンのみの問題)」というか彼環かもしれませんが、epgrecとかでどうこうしたtsファイルをmp4にすると音が出ないという話を友人から聞き、呼ばれました。

なおぼくんちには視聴を目的とした受信機はないです。好きなのネットで見れる時代ですし。

どうしてこんなことに……

友人宅の構成:

epgrec(なんかウナギがどうとか言ってた版)で録画 → 共有フォルダからTSもってくる → A's + Radeonでどうにかする。録画鯖はショボくオンザフライエンコはできないそうです。

主訴:

出来たmp4を再生すると音が出ない。ただし20~30コに1コくらいの頻度である。

調べてみよう:

ffmpeg -i his_fav_anime.mp4

とやるとAACのストリームねぇよって奴(なのでTS消しちゃった奴は復旧できないから泣くがいい、と相手にお伝えしております)。

元のTSをffmpeg -v error -i my.ts -f null - とかするとあんまり見慣れないエラー(文言忘れた)を見かけたので、たぶん保存ツール(recpt1っていうアレですか)がヘッダだかを適切に保存できなかったのだろうと予想し

ffmpeg -i xxxxx.ts -ss 0:0:1 -c copy xxxx_1.ts

で頭を1秒ちょん切って、またエンコし直してもらいますた。

あの辺のコンテナはよー承知してはいないのですが、どこぞのヘッダ部に不整合があって悪食のffmpegにヘッダ部? でも作り直してもらえばいけんじゃね、ということです。フレーム単位でちょんぎってもいいのかもしれませんが試してはないです。

で、結果としては成功。音声ありのmp4ができましたとさ。あとでラーメン請求しようと思う。

あと最近のRadeonのエンコ速度爆速だなって思いました。よかったです(小学生の作文風表現)。見てて買いたくなったわけですがエンコ無用の当方どうしたものか。 ← 2017/12/25 よく考えたら俺NvidiaRadeonもあるぞ? オイィ?(ブロント語)

彼は栗山さんのせいでボブカットに目覚めたとか聞いたよ?(下記と関係ないです)

LAV Filterはチェックが割と厳密なのかも知らんです。ややエラー処理がよわよわと言うか。なお最弱はGStreamerで、プラグインしすぎの設計せいで変なデータについてどのプラグインがケツ拭くか不明瞭。結果ハングしやすいってところがあります。

壊れたらしきtsについてffmpegのソフトエンコ数秒試してもらったら音声は出たのです。ってなると「このTSは本当に壊れているファイル」ということではなく、RadeonだかLAV Filter側で「このAACおかしいからシカトするで」と突っぱねた程度の破損であった、ということになります。

予想としては70%くらいの確率でLAV。

なんでかってとLAV Filter内蔵のMPC-HCで問題のTSを再生してもらったら「mpc-hcはグラフ中の一部のピンを表示できませんでした」なエラーが出たので。文言思い出せなかったので「MPC-HC ピン」でググって確認したのは聞かないで。

一応いっておくとチューナーが電波拾えないとかでよわよわな奴は何しても無駄だからあきらめてね……友人宅のはマスプロのでっかいアンテナつけてるのでそのスジは排除できたのですが。