月別アーカイブ: 2015年2月

ffmpeg で音楽CDをリップする libcdio の使い方

libcdio で手軽に音楽CDを再生したり、リッピングすることができるが、個別に時間指定しないとトラック毎にファイルが出力されないので他のプログラムと併用しないと余り実用的ではない。

Zeranoe は非対応なので「お気に入りの動画を携帯で見よう」から保存する。
FFmpegダウンロード お気に入りの動画を携帯で見よう

続きを読む ffmpeg で音楽CDをリップする libcdio の使い方

ffmpeg で 256色を最適化する

16×16(つまり256パターン)のパレットに色を一時出力し、それを使い最適化されたファイルが出力する。これにより最適化されたアニメGIFや、色の少ないPNG圧縮で効果が期待できる。

16×16 のパレットを作る palettegen と、palettegen で作られたパレットを元に出力する paletteuse に分けられる。
続きを読む ffmpeg で 256色を最適化する

ffmpeg で同じ種類のウェブカメラを2台同時利用する

以前の記事 でレジストリを書き換えて ffmpeg で表示されるデバイス名を変更して同時利用する記事を書いたが、今回はそんな危険なことをせずに ffmpeg それ自体にそれぞれを識別する機能が追加されたのでそれを利用してウェブカメラを同時利用する方法。

続きを読む ffmpeg で同じ種類のウェブカメラを2台同時利用する

qsv 対応の ffmpeg をつくる

ハードウェアエンコーダーの nvenc は次期バージョンの 2.6 から取り込まれる予定だが、Sandy Bridge 以降の intel 製の CPU を使っている多くの人に解放されている qsv(Quick Sync Video) も非公式ながら ffmpeg でも使えるのでその ffmpeg のつくり方の紹介。

hardware acceleration の Wiki:HWAccelIntro – FFmpeg
ffmpeg に nvenc(cuda) をインストールする

追記 2015年4月12日
2.6 バージョンで追加されたのはエンコーダーの方でデコーダーはまだ公式には取り込まれていないが、次期バージョンにはデコーダーも予定されている。

追記 2015年7月29日
デコーダーも追加された。他にも HEVC、H264 も追加されている。
avcodec: Add QSV MPEG-2 video decoder :: git.videolan.org Git – ffmpeg.git/commitdiff
avcodec: Add QSV VC-1 video decoder :: git.videolan.org Git – ffmpeg.git/commitdiff

無指定だとソフトウェアデコードになるので、入力の前にデコーダを指定
ffmpeg -vcodec h264_qsv -i input
hevc の場合
ffmpeg -vcodec hevc_qsv -i input

デコーダーは ffmpeg -decoders > decoders.txt 2>&1 で一覧をテキストで見ることが出来る。

今回追加されたデコーダー

  • h264_qsv
  • mpeg2_qsv
  • hevc_qsv
  • vc1_qsv

CPU をフル活用してエンコードする場合、デコードの CPU 負荷を減らしその分をエンコードに使うことで速度の向上が見込まれる。

デコーダーの部分についてコメントをいただいていたが、サーバのアカウント削除によりデータベースの保存が間に合わなかったのでコメントが消えてしまった。申し訳ない。

git.videolan.org Git – ffmpeg.git/blob – Changelog

追記 2015年5月31日
Zeranoe build が ffmpeg-20150525-git-e48a9ac から対応した。
libmfx Added | Zeranoe FFmpeg

ffmpeg-20150610-git-913685f を最後に非対応になっているので必要な場合は直接保存する。理由は XP 対応 のため。
Zeranoe FFmpeg – Builds win32
Zeranoe FFmpeg – Builds win64

その後2016年3月1日より XP のサポートを終了し配布を再開した。
Windows XP Support And Intel QSV – Zeranoe FFmpeg
続きを読む qsv 対応の ffmpeg をつくる

ffmpeg でメタデータを加える

特徴

  • メタデータは直接コマンドに書き込むと、メタデータを書き込んだファイルを読み込む2種類の方法がある
  • メタデータファイルは UTF-8 でエンコードされた INI 形式のテキストファイルで構成される
  • ファイル読み込みの場合にはヘッダに識別番号を付けてコマンドに識別番号を指定する
  • メタデータの指定方法は key=value
  • チャプターやストリーム毎にメタデータを指定できる
  • 先頭に [CHAPTER] や [STREAM] を宣言してチャプターやストリームを指定する
  • チャプターでタイムベースを指定できる。指定していない場合はミリ秒とする
    • 例:TIMEBASE=num/den
      チャプターの開始と終了の時間を指定する。(数値は正の整数)
    • 例:START=num, END=num
  • コメントには “;” , “#” が使える
  • 特殊文字(”=”, “;”, “#”, “” と改行) はバックスラッシュ()でエスケープする

続きを読む ffmpeg でメタデータを加える

DiXiM BD Burner 2013 で 0x80304005 エラーが出る

Logitec の USB3.0 接続の BD ドライブ LBD-PMF6U3HBKW でテレビ番組をネット経由で BD にダビングできなくなった話とその解決方法。

なお、テレビ番組のダビングには付属のソフトの DiXiM BD Burner 2013 for Logitec を用いている。

症状

以前(2014年11月)にダビングした BD に追記の形を取ると書き込み 100% まで行くがその後の処理で(ディスクの回転も)止まる。BD にはデータが書き込まれているのでダビング10の回数が減る。しかし動画は再生できない。このときに BD は取り出し不能になる。十数分放置すると DiXiM BD Burner 2013 がエラーになり、0x80304005 のコードが表示される。こうなると BD が取り出し可能になる。このエラーになると以前に書き込んだデータは再生できるがエラー以降に書き込んだデータは再生できない。さらに DiXiM BD Burner 2013 でのフォーマットができなくなるが、エクスプローラーからのクイックフォーマットはできる。

解決策

まずは最新版に DiXiM BD Burner 2013 をアップグレードした。現時点では Ver.1.0.19.0 が最新版。しかしこれでも解決しなかったため別の方法をとる。エクスプローラーでクイックフォーマットをしてから再度、DiXiM BD Burner 2013 でフォーマットすると問題なくダビングできた。

エラーの原因を推測

以前のデータと混在させることなく新しいフォーマットの状態で書き込みができると言うことは以前と今回とで書き込む内容が変わったのかもしれない。

関連記事
LBD-PMF6U3HBKW不具合メモ – あんパン