web-dev-qa-db-ja.com

ハンドブレーキCLIでムービー名を見つけることができますか?

ハンドブレーキを使用するときは、DVD上にある正しいムービー名を認識できる(もちろんすべてのものではなく、たくさん)ことができます。ハンドブレーキCLIを使用するとき、私はその自動検出をするためのオプションを見つけることができませんでした。

私は何か見落としてますか? GUIはどのようにしていますか?コマンドラインから映画名を取得するための推奨事項はありますか?それはハンドブレーキCLIである必要はありません、私はそれを自分で一緒にステッチすることができます。

私の質問を明確にするために:私は映画のタイトル番号(-tオプションの引数のように)の後ではありませんが、ムービーの後名前 "ロック、株、2つの喫煙樽"のように。 GUIは、少なくともいくつかのDVDに対してこれを認識します。それはどのようにしていますか?

1
Isaac

私はついにの助けを借りて解決策を見つけました ハンドブレーキフォーラム

HandBrakeCLI --scan  -i /dev/sr0 | awk -F: '/DVD Title/ {print $3}' |python -c "import sys; print(sys.stdin.read().title().replace('_', ' '))" |head -1
 _

そのため、これがlibdvdnavs logoutputをフィルタリングすることです。 LBDVDNAVのログ出力は、おそらく安定した解決策ではないため、おそらく安定したAPIに対応していないためです。しかしそれは働きます。

0
Isaac

私は自分でこの機能を見つけていません。これによると: https://forum.handbrake.fr/viewtopic.php?f=6&t=15874#p74897 (私のハンドブレーキのヘルプ - >ガイドから開く)、既定ではハンドブレーキ(GUI)これは通常主な機能ですので、最長タイトルを選択します。

CLIの-tオプションに0を指定した場合は、最長を選択できるようにすべてのタイトルをリストします。

私が使用した別の技術は、上記のフォーラム投稿のソリューションセクションで説明されているもので、単にVLCでDVDを起動してから、どのタイトルを再生しているかを確認してください。

1
Thomas Espe

私がしてきたことは、 `lsblk '、すなわち(/ dev/sr0をあなたのDVDデバイスのデバイスファイルと置き換える)を使用することです。

lsblk -n -o LABEL /dev/sr0
 _

lsblk util-linux(少なくともUbuntu)の一部であるため、すでにインストールされているはずです。

ご希望の場合は、ラベルを処理することができます(それを小文字にするように(ダッシュにアンダースコアを変更する)。

lsblk -n -o LABEL  /dev/sr0 | tr '[:upper:]' '[:lower:]' | sed -e 's/_/-/g'
 _
1
daniel kullmann