更新随時
パソコン日記(独り言) 元に戻る

R05.09.28 FFmpegフィルタ指定(-vf)
-vfを使用してリサイズや、ノンインターレース処理をする場合に、-init_hw_device qsv の記述が必要なのだが、記述場所はどこでも良いようだ。
先頭で、-hwaccel qsvを指定しているので、その後ろにまとめたほうが見やすそう。

【QSVを使用した変換速度】
我が家のメイン機、hp spectre 13-ae(Core i7 8550u)で確認。
Full-HDのビットレート変更&PCM→AAC変換なら、約10倍速。めちゃ速い。
Full-HDからHDへのサイズダウンでも約8倍速。

今まで、FDK変換できる最終のHandbrake 0.10.2 を使っていたのだが、それとは雲泥の差。
R05.09.26 FFmpegの設定その2
【libfdk_aac】
高音質でAAC変換できるFDKも一緒にbuildしたので、その使い方
ffmpeg -i 入力ファイル.mp4 -acodec libfdk_aac -ar 48k -ab 320k 出力ファイル.mp4
が基本的な使い方。

しかし、QSVのハードウエアエンコードで、品質固定の q xx を指定すると奇妙なことになる
ffmpeg -hwaccel qsv -c:v h264_qsv -i 入力ファイル.mp4 -vcodec h264_qsv -q 32-acodec libfdk_aac -ar 48k -ab 320k 出力ファイル.mp4
この設定でエンコードすると、エラーが表示され出来上がったファイルの音声が、48kHz LC 139Kb/sと指定通りにならない。

エラーメッセージの表示をよく確認すると
VBR quality 3304 outofrange,should be 1-5
と。-ab -arで固定ビットレート指定しているのに、なぜかVBRのエラーが。
色々組み合わせを調べた結果、h264_qsvでq指定すると、ビデオが可変ビットレートになるので、音声もそれに併せて可変ビットレートになるようだ。
h264_qsvを-abで固定ビットレート指定すると、音声はちゃんと指定通りになる。

じゃ音声は指定通り可変ビットレートの1-5で指定すればいいと思い、明示すると今度は
the VBR setteing is unsupported and only works with some parameter combinations
のエラーが


うーん、よくわかんねぇ
→09/28加筆)品質固定の指定方法が間違っていた(-_-;) -q xxではなくて、-q:v xx
ffmpeg -hwaccel qsv -c:v h264_qsv -i 入力ファイル.mp4 -vcodec h264_qsv -q:v 32 -acodec libfdk_aac -ar 48k -ab 320k 出力ファイル.mp4

【字幕の抜き出し】
m2tsファイル内にある複数の字幕から任意のものを取り出す方法
ffmpeg -i 入力ファイル名で、streamが表示されるので、psgとなっているものを指定し取り出す
例)4番目のstreamをsupファイルとして保
ffmpeg -i 入力ファイル.m2ts -map 0:4 -c copy -f sup 出力ファイル.sup
これでOK。
R05.09.24. FFmpegの設定(最新バージョン)
ネットで出回っている設定例が最新のFFmpegでは使えないので、忘れないようにするためここにメモ

9月24日現在のFFmpegの公式サイトからダウンロードできる最新版はN-112170。わたしがbuildしたバージョンはN-112134なので少し古いが、大幅な変更はないので、設定に違いは無いと思われる。

【最新版の大きな変更点】
1.ファイル連結のconcatがパイプを使った連結ができなくなり、必ずテキストファイルを作成しなくてはいけない
2.ハードウエアエンコード使用時のフィルタ指定方法が変更された

【IntelQSVを使った設定例】
ビットレートを落とす方法
例)ffmpeg -hwaccel qsv -c:v h264_qsv -i 入力ファイル.mp4 -vcodec h264_qsv -q 24 -acodec copy 出力ファイル.mp4
-hwaccel qsv はハードウエアデコード/エンコードを使用するための指定
-c:v h264_qsv デコードをハードウエアで行う。-i の前に指定。
-vcodec h264_qsv -c:v h264_qsvと同じ意味。-i の後ろに設定することで、エンコードをハードウエアで行う
-q 24(間違い)-q:v 24品質優先でのエンコード。VBRでビットレートは可変。-b:v 4000kとかでビットレート指定もOK
-acodec copy 音声は無変換でコピーする設定

例)Full-HD(1080p)をHD(720p)に落とす設定
出力ファイル.mp4の前に、
-init_hw_device qsv -vf "scale_qsv=1280:-1"
-vfでフィルタをハードウエアエンコードで使用する場合、前に -init_hw_device qsv の指定が必要
"scale_qsv=1280:-1" -vfで指定するフィルタは必ず_qsvがついているものを。指定は""でくくる。この例は、幅を1280に指定し、高さはアスペクト比維持という設定。

例)インターレース解除
-vf "deinterlace_qsv"
オプション無指定で、advanced。-vf "deinterlace_qsv=bob"の指定もできるが速度がかなり遅くなる。

例)フレームレート変更
-vf "vpp_qsv=framerate=59.94"
ハードウエアで行っても、速度は約半に
R05.09.16 FFmpegをソースからbuidする手順
忘れないようにするため、ここにメモ
WindowsのWSL環境(Windows Subsystem for Linux)を使用してFFmpegをbuildする方法

参考にした解説サイト
http://www.neko.ne.jp/~freewing/software/windows_compile_FFmpeg_enable_fdk_aac/
(ここのスクリプトはエラーが出て正常にbuildできなかった)

WSL環境は Ubuntuを使用
FFmpeg-windows-build-helpersでbuild
最終的に、Fraunhofer FDK AAC、Intel QSVを組み込んでbuild
(オプション指定を忘れたが、Intel QSVは自動的に組み込まれた)

【BIOSで仮想マシンの設定を有効に】
BIOSで有効にする必要がある(だいたいのパソコンは有効になっている)

【WSL環境のUbuntuをインストール】
Windows PowerShellを管理者モードで開き
wsl --install
インストール済みの場合は、Ubuntuはすでにインストールされてますと表示され、Ubuntuが起動する
9月14日現在の最新は、Ubuntu 22.04.2 LTS

インストールできるLinuxの種類を確認するのは、wsl --list --online
Ubuntuは、18.04、20.04、22.04のバージョンがインストールできる

バージョン指定のインストールは
wsl --install -d Ubuntu-20.04
インストール済みのバージョン確認は
wsl --list --verbose
初期化は
wsl --unregister Ubuntu
アンインストールは
Windowsアプリの一覧からアンインストール
アプリ一覧の詳細オプションでリセットすると、初期化できる

規定のディストリビューションを切り替える方法
wsl --set-defoult Ubuntu-20.04

インストールが完了すると、ユーザ名を設定するように指示がでるので、特に問題なければuserで
パスワードも聞いてくるので、特に問題なければpassで
自動的に、user@windowsのユーザ名:$ の表示になる
--------------------------------------------------------------------------------
【FFmpeg-windows-build-helpersのダウンロード】
スタートメニューからUbuntuを起動
rootではないので、コマンド実行時は毎回、sudoをつける
(スクリプト内でsudoが指定されるのでわかりやすい)

FFmpeg-windows-build-helpersをダウンロードしホルダ移動
git clone https://github.com/rdp/FFmpeg-windows-build-helpers.git
cd FFmpeg-windows-build-helpers


FFmpeg-windows-build-helpers ホルダ内にあるスクリプトを実行
./cross_compile_FFmpeg.sh
(FDK-AACを組み込むために、本当は--disable-nonfree=n を追加指定)

rootじゃないので、
$ sudo apt-get update
$ sudo apt-get install subversion ragel curl texinfo g++ ed bison flex cvs yasm automake libtool autoconf gcc cmake git make pkg-config zlib1g-dev unzip pax nasm gperf autogen bzip2 autoconf-archive p7zip-full meson clang python3-distutils python-is-python3 -y


の2行をスーパーユーザで実行するように指示されるので実行
両方実行しても2~3分で完了する

再度、スクリプトを実行
./cross_compile_FFmpeg.sh

windows WSL detected: you must first disable 'binfmt' by running this
sudo bash -c 'echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop'
then try again
のメッセージが出る

binfmt無効化する必要があるので
sudo bash -c 'echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop'
を実行する

再度、スクリプトを実行
./cross_compile_FFmpeg.sh
問題なければ、下記のメニューが表示される
1.Both WInd32 and Win64
2.Win32 (32-bit only)
3.Win64 (64-bit only)
4.Local native
5.Exit

ここでは、3.を選択
buildが開始されるが、数時間かかるのでひたすら待つ
参考)Core i7-4810MQで約4時間

buildオプションを何も指定しない場合はFDK-AACが組み込まれない
./cross_compile_FFmpeg.sh --build-FFmpeg-static=y --build-intel-qsv=y --disable-nonfree=n --FFmpeg-git-checkout-version=n6.0

--build-FFmpeg-static=y exeファイル単独で動作(指定しなくて大丈夫)
--build-FFmpeg-shared=y ライブラリがdll化(指定しなくて大丈夫)
--build-intel-qsv=y Intel QSV をbuild(指定しなくて大丈夫)
--disable-nonfree=n fdk-aac入りでbuild(!!必須)
--FFmpeg-git-checkout-version=n6.0 ver6.0でbuidしようとしたが失敗(原因調査中)

【出来上がったFFmpegはどこにある?】
エキスプローラでLinuxを選択
ubuntu-20.04のネットワークを選択
home-user\FFmpeg-windows-build-helpers\sandbox\win64\FFmpeg_git
の中にできている

どんなオプションが使えるFFmpegがbuildできたかのチェック
ffmpeg -h full > FFmpeg_help_full.txt
でヘルプをリダイレクトし、txtファイル書き出し。

h264_qsv encoder AVOptions: があればQSVが使える
libfdk_aac AVOptions: があれば、AACにFDKが使える

オプションなしでbuildすると、FDK-AACはbuidされないので、再度
./cross_compile_FFmpeg.sh --build-FFmpeg-static=y --build-intel-qsv=y --disable-nonfree=n
を実行して、FDK-AAC入りでbuidする。
一部追加だけなので、あっという間にbuildできる
ただし、buildするたびに新しいホルダができて、その中に完成したFFmpegがあるので注意!

【buildするバージョンが指定できない】
--FFmpeg-git-checkout-version=n6.0 を記述すると
failed configure FFmpeg_git_with_fdk_aac_n6.0
のエラーが出てできない
R05.09.15 FFmpeg 6.0
連休中、どうしてもやりたかったこと。ビデオを変換するアプリのFFmpegを作る?作業を行った。

すぐ使えるFFmpegがあるのに、なぜ作るかというと、変換の際にIntel QSVを使い、さらにAAC変換にFDKを使いたいから。
この2つはライセンス?の関係上、コンパイルしてすぐ使える状態での配布が禁止されているのである。

やり方はネットにいっぱい紹介されているのだが、少し古い記事は全くあてにならず、結局自分で調べて作成した。

QSVとFDKが使えるFFmpegをコンパイルするのに、約1週間。やっとできたのだが、今度は設定ができない。これも、ネットの記事は古すぎて全然役立たず。
こちらも約1週間試行錯誤してやっと使えるようになった。

コンパイル方法は、もう思い出せないので記載なし。新しいFFmpeg6.0を使ったQSVとFDKの設定について説明する。

FFmpeg 6.0 QSV、lib_fdkの設定
ソースからbuildしたFFmpegの設定解説。inputソースとoutputデータそれぞれに、qsvの記述が必要
何も指定しないとハードウエアによる変換は行われない(タスクマネージャでGPUの使用率が低い)

【基本の設定】
FFmpeg.exe -hwaccel qsv -c:v h264_qsv -i input.mp4 -vcodec h264_qsv -q 24 -init_hw_device qsv -vf "scale_qsv=1280:-1" output.mp4

【解説】
-hwaccel qsv
HWエンコード、デコードでIntel QSVを使用しますの宣言。必須

-c:v h264_qsv
ソースファイルがh264ですよという宣言。デコードでもQSVを使うので、 h264_qsv と記述
もし地デジなどのm2tsファイルの場合はここを-c:v mpeg2_qsvなどと変更

-i input.mp4
h264のmp4ファイルをソースとして使用。

ここまでがソースファイルの設定

-vcodec h264_qsv(-codec:v h264_qsvも同じ)
h264ファイルにエンコード。Intel QSVを使うので、h264_qsv と記述

-q 24(間違い)→-q:v 24
変換する際の画質を、h264_qsvオプションの、Qualtyで指定。これはHandBrakeと同じ
ビットレート指定する場合は、-b:v 2M などと記述

-init_hw_device qsv
-vfを使うためのおまじない。これを記述しないとエラー

-vf "scale_qsv=1280:-1"
スケール変換やfps変換などをフィルタで指定。この例の場合、横を1280にし、縦はアスペクト比維持という設定。

【オーディオ】
何も指定しないと、48KHz 430kb/s HE(LC) に変換される
ソースをそのままコピーする場合は、-i input.mp4の後ろに、
-acodec copy
と記述。(-codec:a copyも同じ)

【fdkで変換する場合】
-acodec libfdk_aac -ar 48000 -ab 128k
-arはサンプリング周波数、-abはビットレート

【CPU、GPU使用率と変換速度】
FULL-HD(1080p)からHD(720p)変換で、fps200、6倍速以上
CPU使用率は20%くらい、GPUはほぼ100%。

【右クリックメニューからワンタッチで変換】
バッチファイルを作成して、shell:sendtoに入れる
@ECHO OFF
cd /d %~dp0
for %%I in (%*) do (
title %%~nxI
d:\FFmpeg6_fdk\FFmpeg.exe -hwaccel qsv -c:v h264_qsv -i %%I -vcodec h264_qsv -q 24 -init_hw_device qsv -vf "scale_qsv=1280:-1" "%%~dpI%%~nI_1.mp4"
)
pause
R05.09.13 あれ?
hp Elite x2 1013 G3 2号機入手!

液晶割れ、起動せずのものを、ただ同然で落札。分解してみたところ、劣化していないバッテリーが。
早速、1号機のものと入れ替え。充放電回数はたったの40回。まだまだ使えるバッテリーであった。

で、部品取りされたこの機種。アダプタ接続して電源ボタンをおしてみたところ、普通に起動するではないか!!!
またジャンク詐欺(^_^;)

ただし、CPUがCore i3とプアな上、タッチパネルが割れていて使えない。幸いにも液晶パネルは問題ないので、タッチパネルと液晶が分離できないか検討する予定。

とりあえず、バッテリーが入手できたので1号機が完全体に。予備で買っていたM.2 NVMe 1TBのSSDを装着して、サブメイン機に仕上げた。
R05.09.10 ノートパソコン増殖
まずは
最近、我が家で増加中のhp製ノートパソコン。今回入手したのは、2018年10月発売のElite x2 1013 G3である。
いわゆる2in1タイプのノートパソコン。今回キーボードは入手できなかったので、タブレット部分のみで。

スペックは、CPUが第8世代Core i5-8250Uで、メモリはオンボードのDDR3-8Gbyte。ストレージはM.2タイプの256Gbyte。
サイズは、300x217x7.9mm 810gとかなり薄い。
特筆すべき点は、3000x2000 3:2の3k液晶であること。さらにWacomのタブレット機能があり、AESペンで筆圧感知の作画ができるのである。
ペンは安価で出回っているNECのAtomタブレット用デジタイザーペン(PC-VP-TS15)が使える。
(Spectreシリーズ用はMPPなので使えない)

こんなに高性能なのに、バッテリーが少々妊娠気味のため、激安での入手となった。
バッテリーは充放電回数が約90回ほどで、メーカ公称値の1000回にはほど遠いのだが、すでに膨らんでいるので寿命かと。ただし容量はまだあるようなので、バッテリー運用は可能。
充電回数が少ないのにバッテリーが膨らんでいるのは、G3から採用されたFast Chargeの為だと思う。30分で50%まで急速充電できるのだが、バッテリーへの負担が大きいのだろう。
今後のことを考え、この設定はBIOSで無効にした(AdvancedのSystem Optionsにある)。

BIOSの入り方
電源ボタンを押す(電源ランプが点灯したら離してOK)ー>すぐにボリュームの下を押し続けるー>hpのロゴが出たら離してしばらくすると、メニューが表示されるのでBIOS設定を選択


Windows10 Proがデジタルライセンスでインストールできたので、セットアップして使ってみたが動作は快適である。
タッチペンによる描画もスムーズで使いやすい。

なかなか良いので、もう一台予備機を入手しようか検討中

もう一台のタブレット
2018年製の富士通 Q506/NE。こちらも2in1タイプだが、画面サイズが10.1インチ、1920x1200の16:10。
CPUはプアなAtom x5-Z8550、メモリ4Gbyte、ストレージはeMMCの128Gbyteである。

サイズは264x170.7x11.8mm 690g。画面サイズが小さい割には重い。厚みもありゴツいイメージ。
ただし、それには理由があり、このタブレットなんと防水・防塵仕様なのである。さらに学校用に開発されたもので、落下にもある程度は耐えられる設計になっている。
こちらもWacomのタブレット機能があり、バッテリ不要の電磁誘導ペンEMRが使える。

CPUがAtomなので、寝タブとして主にネットサーフィンとYoutube視聴で使用する予定。

このパソコンは購入時からWindows 11が入っていたのだが、アップデートでMicrosoftアカウントを要求され、先に進めなくなってしまった。
ネットで情報収集すると、新規インストール時なら途中でコマンドプロンプトを出して回避できるようだが、アップデートでの方法は見つからない。

いったんセーフモードで再起動し、コマンドを実行することで、アップデート後のMicrosoftアカウントを回避することができた。

タブレットでのセーフモード
Windowsのくるくる画面で、ボリュームの下を押し続けるとセーフモードに。

Microsoftアカウントの回避
1.コマンドモードを管理者で実行
2.c:\Windows\system32\oobeに移動し、bypassnro.cmdを実行
これでOK
R05.09.02 もう9月やん
お盆が過ぎても、全然涼しくならないまま9月に突入。

今年は暑い秋になりそうとの長期予報。エアコン必須なので電気代が心配である。

相変わらずノートパソコンは増殖を続けている(^_^;)
ついにhp spectre x360 13-aexxxxシリーズが3台に!

先月に4k液晶のx360でジャンク詐欺に合い、部品取りのつもりがメイン機になってしまうということになってしまった。
またまたジャンク品を探していたのだが、即決で外観がキレイなものを見つけたので入手。

通電不可と記載された正真正銘のジャンク品。分解してみたところ、中身もキレイ

「ひょっとして、またジャンク詐欺じゃね?」

と思ったので、電源接続しオ〜ン



「あれ〜画面表示されたし(^_^;)」



また、ジャンク詐欺?と思ったがすぐに電源が落ちた。
色々調べてみると、充電&給電ができない不具合のようだ。フル充電したバッテリーを装着すると、普通に起動する。

まったく通電していないわけではなく、バッテリーを外した状態で給電するとUSB Type-Aの端子には5Vが出ている。チップの電圧も測定してみたが、19V出ているところもあるので、USB Type-C端子は大丈夫そう。

バッテリーの充電を行っているコントローラの不具合っぽいので、ぼちぼち調査していこうと思っている。
R05.08.18 京都水族館&京都鉄道博物館に行ってきました!
お盆休みに2つセットで行ってきました。水族館は涼しくて、京都の暑い夏でも大丈夫でした(イルカショーは外なので暑かったけど)。

鉄道博物館はン十年間に梅小路蒸気機関車館時代に行ったきりで久しぶりの訪問。
蒸気機関車の数も大幅に増加し、それ以外の色々な電車や汽車がいっぱい。

鉄道模型のレイアウトが入れ替え制で、ぷらっと見ることができなくなっていたのは残念。

蒸気機関車はSLやまぐち号で使用されているC57-1がボイラー修理中。代走のD51-200も修理中でまだ復活できないようだ(重量問題があったような気がしたのだが気のせい?)
→これを書いた直後、D51-200が修理を終えて山口に移送されたというニュースが飛び込んできた。yahooニュース。SLやまぐち号の復活も近々かな?
R05.08.05 角島に行ってきました!
山口県下関市豊北町の角島に行ってきました。

福岡県からわざわざ山口県まで行った理由は↓これ!!
コバルトブルーの海の上にかかる角島大橋を渡るためである。日本とは思えない綺麗な海の上を約2kmの橋で渡ることのできる、珍しい場所。

晴天に恵まれたので、こんな綺麗な景色を撮影することができた。

ついでに元乃隅神社も訪問

岬の先端部分に123もの鳥居が連なる神社。こちらも珍しい神社で、赤い鳥居が短い間隔で連なる景色は圧巻。ただし高低差が結構あるので、帰りは辛い(^▽^;)
R05.08.03 えっ、もう8月?
気が付いたら7月まったく更新しないまま、8月に。

色々やることがいっぱいでホームページの更新がおろそかに(^▽^;)

仕事ではなく趣味で手一杯。

光造形式3Dプリンタも買ったけど、その後何も進展なし。Blenderの使い方も全然勉強できていない。
何か作ったら塗装しようと、エアブラシも買ったけど、いまだ開封できず。

昨今安くなったSSDも大量に買い込んだが、こちらも開封すらしていない。

とりあえず一番の大物はこれ↓
昨年の夏に入手し、現在我が家のメイン機である hp spectre x360 13-aexxxの予備機を入手。
部品取りと思ってオクで落札したのだが、予想に反して普通に起動してしまい、予備機をメインに昇格。

新しいx360、液晶がななんと4k!!。しかし液晶内部に液体が混入した形跡があり、輝度がおかしい。さらにキーボードライトがつかない、ファンアラームが出たりと色々手を入れなければいけないことが山盛り。

やっと修理が一段落し、メイン機として使えるようになった。SSDとバッテリが欠品だったので、バッテリは以前購入していたものを使用、SSDは激安になっていた、M.2 PCIe Gen3x4 NVMeの2TBを投入。

4k液晶はめちゃ綺麗。4kのデータなんて持ってないので、意味あるんかなと思っていたが1280x720のビデオを見ても綺麗さは際立っている。ただし、バッテリーの消費量が多く、FULL-HD機に比べると1.5倍の消費電力である。

じつは、これ以外にも、別のx360を入手済み。こちらの整備も行っていかないといけない。

時間が全然足りな〜い

2023年4月から6月の日記
2023年1月から3月の日記
2022年度の日記
2021年度の日記
2020年度の日記
2019年度の日記
2018年度の日記
2017年度の日記
2016年度の日記
2015年度の日記
2014年度の日記
2013年度の日記
2012年度の日記
2011年度の日記
2010年度の日記
2009年度の日記
2008年度の日記
2007年度の日記
2006年度の日記
2005年度の日記
2004年度の日記
2003年度の日記
2002年度の日記
2001年度の日記
2000年度の日記
1999年度の日記
1998年度の日記

元に戻る