問題タブ [avprobe]
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.
python - Python でパイプと出力をどのように処理しますか?
Pythonスクリプト内でこのコマンドを実行しようとしています:
そして私は得続けます:
私はすでに引数を分割しようとしましたが、 -of json -show_streams の部分でエラーが発生し続けます。記録のために、次のようになりました。
libav - LIBAV - avプローブ
Linuxのバックグラウンドから来ています。OSX に avprobe をインストールする最良の方法は?
libav をインストールしようとしました: http://libav.org/download.htmlですが、これは avconf を使用しているようです。直接実行される avprobe に依存する他の誰かによって書かれたスクリプトがあります。
Google はあまり役に立ちません。avprobe を直接実行できる必要があります。
ありがとう
video - avconv "select" フィルターが最初のフレームを破棄しない
avconv の「選択」フィルターを使用してビデオをセグメント化し、入力ファイルから特定の範囲のフレームのみを抽出しようとしています。例として、3000 フレーム (つまり 50 秒) の input.mp4 という 60 fps ビデオ ファイルがあり、実行したとします。
私が期待するのは、output1.mp4 には input.mp4 の最初の 2000 フレーム (および持続時間は ~33 秒) があり、output2.mp4 には最後の 1000 フレーム (および持続時間は ~17 秒) があることです。
実行してフレームを数えます
「frame」に割り当てられた値を確認します。
私が実際に得たのは、output1.mp4 には 2000 フレームがあり、約 33 秒続くが、output2.mp4 には 2999 フレームがあり、それでも約 50 秒続くということです。output2.mp4 を開くと、ビデオの最初の 2000 フレームが、実際には入力の 2000 番目のフレームの単なる繰り返しであることがわかります。つまり、最初の 2000 フレームは正しくフィルタリングされているように見えますが、受け入れられたフレームの最初のものに置き換えられています。 .
これはptsの問題ではありません。avprobe を使用して、パケット数とその相対ポイントを確認します。
実際には 2999 個のパケットがあることがわかります。
私は何を間違っていますか?
副次的な質問:
- 私が何か間違ったことをしていると仮定すると、output2.mp4 に完全な 3000 ではなく 2999 が含まれているのはなぜですか?
- フィルターで「gte」関数を使用しても「gt」関数を使用しても、動作は変わりません。それはなぜでしょうか?
ffmpeg - avconv/ffmpeg で H264 ファイルの長さ/ビットレートを取得する方法
avprobe test.h264
出力の実行
file test.h264
出力の実行
ファイルが破損していないことに注意してください。VLC で問題なく再生できます。
生の H264 ファイルからデュレーションとビットレートを取得する方法はありますか? 最初にファイルをデコードすれば可能かもしれないとどこかで読みましたが、これをどのように行うことができるかわかりません。
編集#1
という Python ライブラリを使用して H264 ファイルを作成しているのは私ですpicamera
。
編集#2
実行時のコンソール出力avconv -i test.h264 -f null -