問題タブ [handbrake]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
video - ビデオの非圧縮ビットレートの決定
そこで最近、次のハンドブレーキ設定を使用して、デフォルトの Windows 7 Wildlife サンプル ビデオのエンコードを試してみました: http://i.stack.imgur.com/GQhQv.png
これを 3 回行いましたが、唯一の違いは x264 プリセットで、超高速、中、プラセボに設定しました。当然のことながら、Ultrafast エンコーディングはロスのない方法でビデオを圧縮するという非常に悪い仕事をしていたため、ロスのない圧縮の前にビデオのビットレートを下げて、最終的なビデオの設定された 1000kbps ビットレートに準拠する必要がありました。ミディアムとプラセボは、非圧縮ビットレートを高くする余裕があるため、ここに見られるように、はるかに良く見えます: http://i.stack.imgur.com/YPmV8.png
私が直面している問題は、上記の MediaInfo の詳細から、リフレームを除けば、ファイル間に大きな違いがまったくないように見え、品質にそれほど大きな影響を与える可能性があるとは思えないことです。ビデオの(ただし、私が間違っていることを自由に証明してください).
すべてのビデオが同じ圧縮後のビットレートを持っているように見えるので、自分で調べずにビデオの実際の品質をどのように判断するつもりですか? 非圧縮ビットレートを表示できるツールはありますか?
powershell - Powershell スクリプトが入力フォルダー内のファイルを待たずに終了する
Google の助けを借りて、Handbrake 自動化用の Powershell スクリプトをまとめました。
機能:
- 一部のファイルは、RSS 経由で自動的にダウンロードされます。これらはソース フォルダーに配置されます。
- Powershell スクリプトが Handbrake を実行し、エンコードが開始され、正常に終了します。
- ソース フォルダに新しいファイルが到着しない場合、スクリプトは終了します。
問題は最後の項目にあります。ソース フォルダーが空の場合、Powershell スクリプトは終了しますが、強制終了するまで実行を継続し、到着したときにさらに多くのファイルを処理したいと考えています。新しいファイルが追加されると、自動的にエンコードが開始されます。
コードはPasteBinにあります。これにはより多くのコメントがありますが、スクリプトの動作を簡単に推測できるはずです。
audio - ハンドブレーキを使用してコマンドライン経由ですべての字幕とオーディオを含むビデオを mp4 に変換します
Handbrake でビデオを mkv から mp4 に変換したいと思います。しかし、mkv に含まれるすべてのオーディオ ファイルと字幕を新しい mp4 コンテナーに入れたい!
'Add all remaining'
Handbrake 0.9.9 GUI を使用します。このバージョンでは、設定 ( / ) でデフォルトごとにオーディオ トラックと字幕の量を事前定義できるためです。HandBrakeCLI を使用し'Add all'
て同じことを実現したいと思います。
batch-file - HandBraking ビデオにドラッグ アンド ドロップ パスを割り当てるためのバッチ ファイル
HandBrakeCLI でいくつかのビデオ ファイルを変換するための次のバッチ ファイル コードがあります。
このコードをビデオに適用するには、バッチ ファイルと Handbrake.exe (およびその関連フォルダー) をコピーし、(上記のコードで) test という名前のフォルダーの横に貼り付けてから、バッチ ファイル内の名前「test」を変更する必要があります。そのフォルダーの名前に変更し、バッチファイルを実行します。
任意のフォルダーで実行する方法でバッチファイルを作成して、ビデオを含むフォルダーを要求し、移動せずにパスを書き込みます (または、単にフォルダーをコマンド ラインにドラッグ アンド ドロップして Enter キーを押します)。ファイルと「テスト」の名前を変更しますか?
java - BufferedReader は最初の行を無限に読み取るようです
作成中の Java アプリで Handbrake を実行しようとしていますが、Handbrake が完了するのを待つのに問題があります。
これを試すと:
私が得る出力は次のとおりです。
何度も何度もファイルが変換されません。
次のように変更すると:
私のテストファイルでは動作しますが、errorreader が読み取る行を使い果たし、readLine() がスレッドを無限にロックするとハングアップします。完全な長さのファイルでは、ファイルは変換されますが、コードのこの部分はロックされるため、アプリケーションを続行できません。
助言がありますか?
javascript - ノード handbrakejs はコードを実行しますが、出力しません
だから私は次のコードを持っています:
このコードが実行され、完了すると次のコンソール メッセージが表示されます。
ここに奇妙な部分があります:
出力はコンソールに表示されず、progress
ファイルを見つけようとするとファイルがありません:S
コンソールにエラーはなく、何か問題が発生したことを示すものはありませんか?
これが何であるかについてのアイデアはありますか?
完全な機能をデバッグするthis
と、次のように入力して取得できますoutput
。
c# - HandbrakeCLI は C# プロセスによって自動化されません
System.Diagnostics.Process クラスを介して C# を使用して HandbrakeCLI を自動化しようとしています。ただし、私のプログラムがプロセスを実行しようとしている限り、プロセスは決して進まないようです。
これが私のプロセス設定です:
HandbrakeCLI.exe がプロセス リストに表示されます。Debug.WriteLine(出力); 行は継続的に「Encoding: task 1 of 1, 0.00 %」を出力し、プロセスは決して完了しません。C# アプリを強制終了すると、HandbrakeCLI は即座にメモリ内の 7,000k から 145,000k に急増し、必要なエンコーディングを実行します。私のC#アプリがそれを妨げているようです。
ReadLine() の代わりに Read() を使用しようとしましたが、読み取りの前後に StandardOutput ストリームをフラッシュしようとしましたが、成功しませんでした。HandbrakeCLI はエンコードの進行状況を書き込むときに stdout を上書きするため、C# で自動化すると通常のプロセスのように動作しないのではないかと疑っています。
windows - 複数のコマンドを含む Windows バッチ スクリプト
わかりましたので、複数のコマンドで HandbrakeCLI を使用して、すべてのタイプのビデオを 1 つのフォルダーに変換し、別のフォルダーに出力する Windows 10 .bat スクリプトがあります。
それに加えて、 BESのような CPU 使用率リミッターを使用して、HandbrakeCLI の CPU 使用率を制御したいと考えています。
各ファイルが変換された後、変換が完了したことを示す Pushbullet 通知を自分に送信したいと考えています。
以下のコードはそれを達成するのに役立ちますが、.bat ファイルを 2 回実行して開始し、1 回の反復後に停止する必要があります。
最初は複数のコマンドの使用に問題があったため、検索を行い、コマンド間で「&」を使用しましたが、喜びはありませんでした。
私はすでにこれらすべてを実行する Powershell スクリプトを持っているので、Powershell を提案しないでください。Powershell スクリプトは昇格した特権を必要とするため、これを使用したくありません。
また
//TODO
すでに変換されたファイルを削除する
更新:以下のコードを使用して動作するようになりましたが、ループごとに「ToConvert」フォルダーから変換されたファイルを削除したい