投稿

ラベル(FFmpeg)が付いた投稿を表示しています

Zeranoe FFmpeg BuildsでのQSV対応は当分望めないようだ

Zeranoe FFmpeg Buildsで提供されているffmpegの実行ファイルですが未だにQSVのサポートが復活しません。 以前の記事 " Zeranoe FFmpeg BuildsでQSVをサポートしてくれたがビルドによってはlibmfxが入っていないので注意しましょう " で書きましたが Build 20150610-git-913685f を最後にlibmfxを入れた実行ファイルは存在しません。 その後どうなったのかフォーラムに書いてあったので紹介します。

ffmpegの h264_qsvはCPUを使ってくれない

イメージ
早速ffmpegのh264_qsvでDLNAのトランスコードを試しています。使い方を判っていないのか、何か変な動作をします。 今のところ、変換が遅い、映像と音声の同期がとれない、という状況です。

Zeranoe FFmpeg BuildsでQSVをサポートしてくれたがビルドによってはlibmfxが入っていないので注意しましょう

BMS2を使ってテレビでPCのメディアファイルを見れるようにしています。パソコンのファイルはそのままではテレビで再生できないものが多いのでリアルタイムにトランスコードしています。 トランスコードにはffmpegを使っています。ffmpegの実行コードを公開してくださっているZeranoe FFmpeg様ではQSVを使えるlibmfxサポートするようになりました。 早速試してみようと思います。 ところでZeranoe FFmpeg様では毎日最新のビルドを公開されていますが、日によってlibmfxが入っていないものがあります。最初にRead Meを見てlibmfxがあるか確認しましょう。

BMS2でトランスコード配信時に固定量子化を選べるようLuaスクリプトを変更した

イメージ
久しぶりの投稿になってしまいました。年末年始ず~っと、Nexus9かZ3 tablet compactかどちらを買うか悩んでました。レビューを書くつもりだったのに未だに買ってません。 何に使うかというとBMS2でビデオをDLNAで見るためだけと言ってもいいです。スピーカーでまともな音が出るのが欲しいのでNexus9なんですけど、BDレコーダーのビデオも見たいしSDカードが使えるZ3 tablet compactも捨てがたい。 決断できないでいる中、BMS2のトランスコード再生で不満に思っていた事が気になりだしました。 ffmpegを使ってトランスコードする時はビットレート指定のmpegtsを使っています。ビットレート指定だと動きの激しい場面でブロックノイズが目立ちます。ビットレートを上げればいいのですが、動きの少ないシーンでは無駄にデータを送る事になり無線の通信速度が足りない場所ができたりします。 そんな時のためにQSVの固定品質を使えるようにしたのですが、QSVは4段のパイプ処理をしているため再生までの反応が遅くてイライラします。 ffmpegの固定量子化を使えるようにすれば解決するなぁ、と以前から思っていたのでした。記事のネタにも困っていたので固定量子化を指定できるようにしてみました。

FFmpegの2.2以上でBMS2のQSVトランスコードができなくなっていたのを直した

BEER Media Server 2でQSVEncCを使ったトランスコードが動かなくなっていました。どうやらFFmpegのVer.2.2から動かなくなったようです。 なんとか動くようになったのでLuaスクリプトを修正しておきました。

BMS2のレグザ用LuaスクリプトではAC3だけトランスコードせず送信するようにした

テレビのDLNA機能で5.1chサウンドを楽しむためAACとAC3はトランスコードしないようBEER Media Server 2のViera用Luaスクリプトを修正した で紹介したBMS2用Luaスクリプトの機能をレグザ用にも入れました。 REGZA ZP2ではAAC音声を送ると表示してくれないので、AC3音声だけトランスコードせずに送っています。 drawtextで改行する方法も判ったので、 音声フォーマット 音声チャンネル数 音声言語の情報を表示するようにしました。こちらはビエラ用とレグザ用ともに変更しています。 それではLuaスクリプトを  BMS2用Luaスクリプト  ページに置いておきます。

FFmpegのdrawtextでテキストの改行をしたい(multiple line)時は改ページ(Form Feed \f ^L)を使えばよい

FFmpegでエンコード時にテキストを書き込むdrawtextフィルターがありますが、ずっと改行をする方法が判りませんでした。 普通にForm Feed(\f ^L)コードを置いておけばよかったんですね。

FFmpegのdrawtextでテキスト表示の有効無効を指定するパラメータがdrawからenableへ変わっていた

久しぶりにBEER Media Server用のスクリプトをいじっていたらメディア情報を画面に表示する時にFFmpegのエラーとなってしまう事に気づきました。 すべて確かめていませんがFFmpegの2.2.3までは動いていました。その後のバージョンでdrawtextフィルターの仕様が変わったようです。

テレビのDLNA機能で5.1chサウンドを楽しむためAACとAC3はトランスコードしないようBEER Media Server 2のViera用Luaスクリプトを修正した

久しぶりにBEER Media Server 2のビエラ用Luaスクリプトを更新しました。 ビエラのDLNA再生機能でパソコンのメディアファイルをビエラで再生するためのスクリプトです。 今回の更新でAACとAC3音声はトランスコード再生時でもトランスコードせず元の音声トラックをそのまま送るようになります。 多チャンネル音声もそのまま送るので5.1chで視聴する事が可能となります。

FFmpegのblendフィルタのモードが何をしているか判らない

FFmpegで字幕を焼き付けるのにoverlayフィルタを使っているのですが変換速度が遅く30fpsぎりぎりしか出ないです。BMS2のトランスコードにはちょっと不足気味。 FFmpegがVersion 2になって期待しましたがoverlayフィルタは特に変化なしです。仕方ないのでslice処理に対応したblendフィルタで字幕表示できないか模索中です。 blendフィルタはいろいろなブレンドの仕方があるようですが何をやっているのか判らずどうすればoverlayフィルタと同じことができるか判りません。いろいろ調べると一般的(?)なもの見たいです。 ここを見ながら試し中。 WIKIPEDIA Blend modes 今のところ -filter_complex "[0:s:0]setsar=1[s];[0:v:0][s]blend=c0_mode='screen'" でoverlayの2倍の速度が出てそれっぽくなるけど字幕が薄い・・・

FFmpegのdrawtextで ’(apostrophe)を書くには?

FFmpegのdrawtextで  ' apostrophe を書く方法をメモしておきます。

ffmpegの字幕の焼き付けエンコードが遅いのでビルド元を変えたらoverlayフィルタが速くなったが理由が判らない

BMS2を使ってテレビでDLNA視聴するとき、字幕を焼き付けてトランスコードをしたいです。字幕の焼き付けにffmpegを使っています。前回記事に書いたようにフルHD映像だと30fpsのトランスコード速度が出ず実質使えない状態です。 試しにffmpegを異なるビルド元で試してみたらトランスコード速度がだいぶ上がりました。

ffmpegのoverlayフィルタが遅いので条件を変えてエンコード時間を見てみた

ffmpegのoverlayフィルタが遅くフルHDのビデオではトランスコード再生に必要な30fps以上で変換できません。そこでこのフィルタの条件を変えパフォーマンスに変化があるのか見てみます。

BMS2の字幕焼き付けトランスコードをffmpegでやってみた

BEER Media Server 2用Luaスクリプトを相変わらずいじっています。 今回は試行状況を書いてみます。 字幕のソフトサブはまったく目途が無いためハードサブを試します。mencoderを使うと巷に情報がいくらでもありますのでここはあえてffmpegだけを使ってやってみます。 VIERAではDLNA経由で音声ファイルを再生する事ができません。そんな場合は音声ファイルに何かの映像を付けて映像として送ってやれば良いのです。需要もなさそうなので放置してましたが、ffmpegの字幕焼き付けのついでに試してみました。音声ファイル再生中にライフゲームを表示させました。 チャプター時間は読めそうな事が判りましたが時間を指定する良いアイデアが浮かばないので保留中です。

最近のコメント

Threaded Recent Comments will be here.