問題タブ [ffmpeg]
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.
command-line - イメージ シーケンスを透明度のあるビデオに変換する
非常に単純な問題のように見える問題がありますが、予想よりもはるかに難しいことが証明されています。問題は次のとおりです。
番号が付けられたフレームで構成されるかなり大きなイメージ シーケンスがあります (Maya からの出力です)。画像は現在 Targa (.tga) 形式ですが、必要に応じて PNG やその他の任意の形式に変換できます。重要なことは、アルファチャンネルがあることです。
私がやりたいことは、プログラムでそれらをビデオ クリップに変換することです。形式は特に問題ではありませんが、ロスレスでアルファ チャネルが必要です。Quicktime コンテナ内の圧縮されていないビデオは、おそらく理想的です。
私の最初の考えは ffmpeg でしたが、ほとんどの 1 日を無駄にした後では、アルファ チャネルがまったくサポートされていないようです。何かが足りないか、基礎となるlibavcodecがそれをしていないだけです。
それで、ここで正しい方法は何ですか?ffmpeg のようなコマンド ライン ツールは便利ですが、Windows で実行され、スクリプトから呼び出すことができるソリューションであれば問題ありません。
注: ビデオにアルファ シャネルを使用することは、実際にはそれほど珍しいことではなく、別のビデオ クリップや静止画像の上に合成する場合に非常に便利です。私の知る限り、非圧縮ビデオ、Quicktime Animation コーデック、および Sorenson Video 3 コーデックはすべて透明性をサポートしており、H.264 も同様にサポートしていると聞いています。私たちが実際に話しているのは 32 ビットの色深度だけであり、これはかなり広くサポートされています。Quicktime .mov ファイルと Windows の .avi ファイルの両方で処理できますが、おそらくそれ以上のファイルも処理できます。
Quicktime Pro は、イメージ シーケンスを 32 ビットの .mov ファイルに変換できます。エクスポートを押し、色深度を「Millions of Colors+」に変更し、アニメーション コーデックを選択し、品質を 100 まで上げると、アルファ シャネルを使用して可逆圧縮されたビデオが作成され、コーデック以降のほぼすべての場所で再生されます。はバージョン 1.0 から Quicktime に含まれています。問題は、Quicktime Pro にコマンドライン インターフェイスがまったくないことです (少なくとも Windows では)。ffmpeg は、Quicktime アニメーション コーデック (qtrle と呼ばれる) を使用したエンコードをサポートしていますが、24 ビットのビット深度しかサポートしていません。
問題は、アルファ チャネルをサポートするビデオ形式を見つけることではありません。Quicktime アニメーションが理想的ですが、圧縮されていないビデオでも動作するはずです。問題は、それをサポートするツールを見つけることです。
linux - Linux コマンド ラインからビデオ ファイルの解像度 (幅と高さ) を取得するにはどうすればよいですか?
私は mplayer/mencoder と ffmpeg のドキュメントを掘り下げてきましたが、何も思いつかないようです。正規表現を使用して出力できるため、出力形式について特にうるさいわけではありません。そもそもデータを取得できないようです。
image - FFmpeg画像からビデオおよびストリーミングへ
JPEG画像をリアルタイムで生成するC#プログラムがあります。画像からビデオを(継続的に)生成し、(これもリアルタイムで)ストリーミングする必要があります。
私はffmpegを使用して入力ビデオソースをトランスコードしてストリーミングしましたが、ffmpegには入力を一連の画像(常に生成されている)として取得し、それからビデオを作成するオプションがありませんか?
乾杯
c++ - OpenCV とネットワーク カメラ
WindowsでopenCV 1.1pre1を使用しています。ネットワーク カメラがあり、openCV からフレームを取得する必要があります。そのカメラは、RTSP 経由で標準の mpeg4 ストリームをストリーミングしたり、http 経由で mjpeg をストリーミングしたりできます。openCV で ffmpeg を使用することについて話している多くのスレッドを見てきましたが、それを機能させることはできません。
openCV を使用して IP カメラからフレームを取得するにはどうすればよいですか?
ありがとう
アンドレア
c# - C# と Ffmpeg 間のパイプの作成
ビデオを作成してリアルタイムでディスクに保存する C# プログラムがあります。その代わりに、ffmpegで接続されたパイプに直接書き込んでほしい...
私が制御できないディスクにビデオを保存し続ける関数は、ファイルへの参照で IntPtr を受け取ります。
したがって、ffmpeg を使用してパイプなどを作成し、それへのポインターを取得し、そのポインターを関数で使用して、ファイルをディスクではなく ffmpeg にストリーミングする必要があります...
ffmpeg - ffmpeg は進行状況バーを表示できますか?
ffmpeg を使用して .avi ファイルを .flv ファイルに変換しています。ファイルの変換に時間がかかるため、進行状況バーを表示したいと考えています。誰かが同じことをする方法を教えてください。
ffmpeg は何らかの形で進行状況をテキスト ファイルに出力する必要があり、ajax 呼び出しを使用してそれを読み取る必要があることを知っています。しかし、ffmpeg で進行状況をテキスト ファイルに出力するにはどうすればよいでしょうか。
ruby - Rubyでffmpegをサブプロセスとして実行できません
私は次のコードを試し、ffmpegユーティリティをサブプロセスとして実行してビデオ解像度を決定し、その出力を取得して解析します。
...しかし、ffmpeg出力はまだstdoutに接続されており、ffmepgIO.readlinesは空です。ffmpegユーティリティに必要な特別な処理はありますか?または、ffmpeg出力を取得する他の方法はありますか?私はこのコードをWinXPとFedoraLinuxでテストしました-結果は同じです。
perl - システム コールなしで Perl スクリプト内から ffmpeg を使用できますか?
mp3 をより低いビットレートに変換したいと考えています。また、Perl を使用してビデオを mp3 に変換したいと考えています。ffmpeg モジュールを見ましたが、ファイルの変換をサポートしているようには見えません。私が見た唯一の例は、ビデオ ストリームから画像を取得することでした。system() を使用して ffmpeg を呼び出さずに Perl でこれを行う方法はありますか?
iphone - ビデオ形式を変換するストリーミング「プロキシ」
これは私の別の質問に関連しています
ここで、理論上 (ビデオ ファイル形式やコーデックなどに応じて) そのようなシナリオが可能かどうかを尋ねたいと思います。
1) iPhone 上のクライアントには、flv 形式のビデオへの参照があります。Safari でそのようなリンクをクリックするだけで、 http://convproxy.com?source=url_of_original_video.flvのような変換「プロキシ」に http リクエストを送信します。
2) 変換プロキシはその flv ファイルのダウンロードを開始し、その場で mp4 (iphone が理解する) に変換し、変換された部分を http 応答として返すため、flv 全体がダウンロードされて変換される前に、iPhone はすぐに再生を開始できます。
私はそのようなことをしようとしてffmpegで遊んでいましたが、実際にはflvを変換してmp4ファイルを生成しますが、そのmp4ファイルは変換が完了するかffmpegが停止するまで再生できません。ffmpeg プロセスを強制終了しただけでは、mp4 ファイルを再生できません。そのまま終了させるかctrl-cで止めると、ダウンロードして変換した部分が再生できます。停止信号を受信した後、ffmpegが何らかの仕事をしているようです。それはmp4形式の必要な部分ですか、それとも別の方法で行うことができますか? ファイル全体がダウンロードされる前に再生を開始することで、iPhoneはビデオをストリーミングできることがわかりました。一般的に、私にとっては可能なシナリオのようです。
簡単に言うと、flv ファイルを mp4 ファイルに変換できます。問題は、flv ストリームを mp4 ストリームに変換できるかどうかです。
php - FFmpeg のインストールとバージョンを検出する
アップロードされたビデオ ファイルをオンザフライで FLV に変換する PHP スクリプトを作成していますが、ユーザーがサーバーに FFmpeg をインストールしている場合にのみ、スクリプトのその部分を実行したいと考えています。
これを事前に検出する方法はありますか?おそらくFFmpegコマンドを実行して、「コマンドが見つかりません」と返されるかどうかをテストできますか?