問題タブ [avconv]
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 - 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」関数を使用しても、動作は変わりません。それはなぜでしょうか?
python - avconvとpythonを使用して、異なるフレームレートの2つの異なる画像シーケンスをビデオに結合する方法は?
私は avconv と別々に組み合わせても問題ない 2 セットの画像を持っています (-r を使用して異なるレートで)。通常の速度でビデオを組み立てます。
これらの個別の avi ファイルを avconv または avimerge と結合しようとすると、結果のビデオには最初のビデオのフレーム レート (-r .20) しかありません。
これら 2 つを組み合わせて、両方のシーケンスをエクスポートされたフレーム レートにする方法はありますか?
ここに私がまとめたずさんなコードがあります:
#linux - aconv で arecord を使用する場合の歓迎されない DELAY
arecord -f cd -D デフォルト:CARD=Intel -| avconv -i pipe:0 -acodec libmp3lame -aq 128k g3-$dt-$$.mp3
ラップトップの MIC 経由で録音しようとしています。録音の開始前に歓迎されない一時停止があります。
strace -f を試してみました
スクロールアップ時
私もこれを手動で行いました..ファイルに保存してから、ファイルに対して avconv を実行しました。それははるかに高速でした(即座に終了しました)。
何が問題になる可能性があります。
avconv - ビデオがフレームの合計よりも大きいのはなぜですか
合計サイズ25.3MBの1000個のPNGファイルからビデオを作成してみました。コマンドを使用すると、ビデオのようなロスレス ビデオ エンコーディング
avconv -i Images%04d.png -c:v huffyuv output.avi
が 630MB あることがわかりました。どうすればそれが可能になり、どうすればそれを回避できますか?
avconv - avconv: php スクリプトで開くことができないファイルをスキップする方法
だから、ある種の背景を与えるために。サーバーには 3000 個の奇数ファイルがあります。ファイルを並べ替えて mp4 と webM に変換できるスクリプトを作成しました。
ただし、主な問題は、一部のファイルが破損して破損し、致命的なエラーをスローすることです。少し調べてみました
しかし、私が見ることができることから、これはコンソールに大量のテキストを表示し、exec() passthorugh()
.
これが私の唯一の選択肢ですか、または avconv の経験を持つ人はこれについて何か経験がありますか?