VLC クラスを使用して VLC インスタンスを制御する Matlab アプリケーションに取り組んでいます。機能の 1 つは、VLC プレーヤーをフルスクリーンに設定することです。この機能は完全に正常に機能します。
VLC プレーヤーは、Matlab のファイル交換からダウンロードされます: https://se.mathworks.com/matlabcentral/fileexchange/56215-vlc (Léa Strobino に感謝します)
ただし、ある特定のクリップでは、プレーヤーのサイズを小さいサイズに変更する必要があります。私はいくつかの調査を行いましたが、これは一部の VLC バージョンで一般的な問題であることがわかりました。
通常の回避策は、「インターフェイスをビデオ サイズに適応させる」(そのようなもの) のチェックを外し、「フルスクリーン」ボックスをオンにすることです。これにより、プレーヤーはフルスクリーンで開かれ、画面のサイズがビデオのサイズに変更されることはありません。ビデオは引き続きプレーヤーのサイズを小さくします。
クリップの仕様はすべて同じです: 同じファイル拡張子 (.vob)、フォーマット、同じ方法で作成されました (ffmpeg を使用してビデオのトリミングなどを行いましたが、毎回同じ方法でした)。
私は 1 つの違いに気付きました。それは、この特定のビデオのデータとビットレート (~1000-1500kbps) が低く、他のビデオは高い (4000kbps 未満) ことです。また、クリップのプロパティを表示すると、特定の値を持つ他のものとは対照的に、フレームの高さと幅は空白になります。
ただし、これは、ビデオをプレイリストにロードした後に呼び出される Matlab からのフルスクリーン コマンドの効果を持たないでください。このコマンドはこのビデオには影響しませんが、他のすべてのビデオには影響します。
ウィンドウをクリックしてプレーヤーを手動でフルスクリーンに設定することは可能です。したがって、フルスクリーンにできないビデオの制限が原因で発生することはありません。
ビデオが全画面表示にならないのはなぜですか?
誰かが助けてくれることを願っています。
さて、私は今問題を解決したようです. 理由が完全にわからない場合 - 問題はデータ/フレームレートの低下にありました。
.mp4 を .vob ファイルに変換するときに、-crf 18を追加しようとしました。
ffmpeg -i input.mp4 -vcodec copy -acodec ac3 -crf 18 output.vob
-crf は、Constant Rate Factor の略で、特定のデータ レートを保証する方法です。値は 0 ~ 51 で、18 が最低の「正常な」値 (最高のデータ レート) のようです。良い説明はここにあります: https://superuser.com/questions/677576/what-is-crf-used-for-in-ffmpeg
この高いデータレートにより、ビデオは毎回フルスクリーンで開きます:=)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加