問題タブ [avi]

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.

0 投票する
2 に答える
788 参照

delphi - AVI ファイルの継続時間の取得中にエラーが発生しました

WinAPI で JEDI ラッパーの VFW ユニットを使用しています。

私が書いているコードは、ユーザーのドライブを検索してウェアーズを検出するためのものです。MP3、WMA、およびいくつかのグラフィック ファイルの検索を行います。次に、違法な映画を検出したいと考えています。AVI ファイルを開き、詳細を読み取って閉じます。次のコードがあります。

2 つの問題があります。

  1. lLenMinutes は 98 に相当し、映画は約 2 時間です。dwRate は 100 万で、dwScale は 40k であるため、FPS は完全に 25 です。MSDN は次のように述べています。
  2. FreeAndNil 行でコードがクラッシュします。なんで?lFile を解放する責任があると思います (少なくとも、ファイルを解放する必要があると感じています)。FreeAndNil との関係がなければ、プロシージャの終了時に Access Violation が発生します。

では、AVI ファイルから映画の長さを正しく取得する方法を知っていますか? そして、なぜクラッシュしたのですか?

編集

この映画は 2 時間 1 分なので、結果は実際には 120 に近いはずです。lFile は Jedi で次のように宣言されています。

AVIFileOpen は JEDI で次のように宣言されています。

function AVIFileOpen(var ppfile: IAVIFILE; szFile: LPCWSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall; 外部 AVIFILDLL 名 'AVIFileOpenW';

およびMSDNで:

STDAPI AVIFileOpen( PAVIFILE *ppfile, LPCTSTR szFile, UINT モード, CLSID pclsidHandler );

MSDN は次のように述べています。

「AVIFileOpen 関数は AVI ファイルを開き、アクセスに使用されるファイル インターフェイスのアドレスを返します。」

したがって、オブジェクトはこの関数によって作成されると想定しています。

編集 2

mghie がこの質問に回答したため、avi ファイルの長さは新しい質問に移動されました。

0 投票する
1 に答える
1965 参照

delphi - AVI ファイルの継続時間の取得

WinAPI で JEDI ラッパーの VFW ユニットを使用しています。

私が書いているコードは、ユーザーのドライブを検索してウェアーズを検出することを目的としています (注: 一部のファイルが合法かどうかを判断することは、この質問の範囲を超えています)。MP3、WMA、およびいくつかのグラフィック ファイルの検索を行います。次に、違法な映画を検出したいと考えています。AVI ファイルを開き、詳細を読み取って閉じます。次のコードがあります。

そのため、lLenMinutes は 98 に相当し、映画の長さは約 121 分です。これは大きな違いです。私は何を間違っていますか?dwRate は 100 万で dwScale は 40k であるため、FPS は完全に 25 です。dwLength は 147k MSDN は次のように述べています。

注: これはこの質問のフォローアップですが、クラッシュの問題が解決されたため、他の質問をクローズし、改善されたコンテンツをここに移動しました。

0 投票する
2 に答える
2003 参照

c# - AVIファイルを分割する方法

VFW (avifil32.dll) でパーツを開くことができるように、大きな AVI 2.0 (OpenDML 形式) ファイルを小さなパーツ (私の場合は 1GB 未満) に分割しようとしています。

この分割を実現する最良の方法は何ですか (できれば C# で)?

オプションの 1 つは、フレームごとにコピーすることです。ネットで同じことをする例をいくつか見つけました。しかし、これらのほとんどは、最大 RIFF 部分サイズが 1GB であるため、一般に 2GB を超えるファイルと 1GB を超える AVI 2.0 ファイルを読み取ることができない VFW を使用します。

VFW の代わりに DirectShow が必要です。フレームを手動でコピーしようとすると、オーディオ同期も台無しになると確信しています。

現在の圧縮に影響を与えず、ファイルを分割して適切な AVI インデックスを作成するだけの「ダイレクト ストリーム コピー」で VirtualDub が行うことと同様のものを探しています。

0 投票する
4 に答える
27059 参照

.net - 一連の画像からビデオストリーム(AVI)を作成する

しばらく前に.NETクラスを作成したIPWebカメラがあります。これは基本的に、5秒ごとにカメラからスナップショットCGIスクリプトにpingを実行するTimer実装です。カメラ自体は非常に基本的です。使用できるAPIはありません。プログラムで(リモートで)実行できるのは、このスクリプトを呼び出すことだけです。スクリプトは640x480のJPEG画像を返します。単純。

今、私ができる必要があるのは、これらの画像の1日分の価値を取り、それから「タイムラプス」AVIビデオストリームを作成して、最終的にWebページに埋め込むことです。VB.NETでこれを行うにはどうすればよいですか?

0 投票する
1 に答える
284 参照

python - PythonのBMP2avi

一連の BMP ファイルを取得し、それらを Avi ファイルにマージする Python コードを探しています (そして、ユーザーから 1 秒あたりのパラメーター フレームを取得します)。

誰がどこから始めるべきか考えていますか?

アリエル

0 投票する
3 に答える
1307 参照

c++ - C ++-AVIファイルを取得してDVDに書き込むプログラムを作成するには、どのライブラリまたはコマンドラインプログラムが必要ですか?

私の目標は、入力としてAVIファイルを受け取り、それをDVDに書き込むために必要なことをすべて実行するプログラムを作成することです。

現在、私はこれを達成するために3つの別々のプログラムを使用しています。最初のツールでは、AVIファイルからMPEGに変換する必要があります。2番目のツールはそのMPEGを取得し、DVDファイル(VIDEO_TSフォルダーとその中にいくつかのファイル)を作成します。3番目のツールは、フォルダをDVDに書き込みます。これらの3つのツールを1つに統合し、可能であればAVIからMPEGへの変換をスキップして、DVDファイルを作成して書き込みます。

ターゲットプラットフォームはWindows7で、使用する言語はC++です。

栄光の探求に役立つライブラリまたはコマンドラインプログラムは何ですか?

編集:明確にするために、DVDプレーヤーで映画を再生するためのビデオDVDを作成したいと思います。(ありがとうジェリー)

編集2:すべてを自動化するためにLinuxでPythonを使用することになりました。誰かがそれを必要とする場合のスクリプトはここにあります。(注:これは私の最初のPythonスクリプトなので、おそらくあまり良くありません)

0 投票する
2 に答える
3107 参照

java - Java:フレームからアニメーション/ビデオを作成する

なんてこった!研究プロジェクト(Java)の場合、グラフのアニメーションをファイル形式で保存する方法を見つける必要があります。これで、各フレームを正常に描画するプログラムがすでに動作しています。問題は、GIFまたはAVIファイル形式全体を学習する以外に、フレームをプログラムで何らかのアニメーションまたはビデオファイルにアセンブルする方法がわからないことです。ファイル形式は実際には重要ではありません-入力または出力。フレームをまとめて保存する方法が必要です。

今のところ、最も簡単な形式はアニメーションGIFまたはAVIのいずれかだと思います。繰り返しになりますが、それが機能する限り、それは実際には問題ではありません。

本当にありがとう!

0 投票する
2 に答える
1336 参照

c# - C#でAVIを3gpに変換するには?

C# で AVI ファイルを 3gp に変換することは可能ですか? もしそうなら、どうすればこれを行うことができますか? 事前に感謝します。

0 投票する
2 に答える
6478 参照

indexing - キーフレームでビデオを分割 (avi/h264)

こんにちは。

大きなビデオファイルがあります。ffmpegtcprobeおよび他のツールによると、これは AVI コンテナー内の h264 ストリームです。

ここで、ビデオから小さなチャンクを切り取りたいと思います。

  1. 問題: ビデオ シームのインデックスが破損または破壊されました。を介してこれを修正しmplayer -forceidx -saveidx <IndexFile> <BigVideoFile>ました。ここでの問題は、.mplayer/mencoder を介してこのインデックス ファイルを使用できるようになったことです-loadidx <IndexFile>man aviindex( ) で説明されているようにインデックスを修正しようとしましmplayer -frames 0 -saveidx mpidx broken.avi ; aviindex -i mpidx -o tcindex ; avimerge -x tcindex -i broken.avi -o fixed.aviたが、ビデオは修正されませんでした。つまり、テストしたほとんどのツールでビデオ ファイルを検索できませんでした。

  2. 問題: 次のコマンドでビデオの一部を切り取ってしまいました: mencoder -loadidx in.idx -ss 8578 -endpos 20 -oac faac -ovc x264 -sws 9 -lavfopts format=mp4 -x264encopts <LotsOfOpts> -of lavf -vf scale=800:-10,harddup in.avi -o out.mp4. ここでの問題は、一部のビデオが最初に破損していることです。これは、必ずしもキーフレームでカットするとは限らないためだと思います。

質問:

  1. avi「インライン」のインデックスを修正して、すべてのツールが期待どおりに機能するようにする最良の方法は何ですか?

  2. キーフレームで分割するにはどうすればよいですか? これにはmencoder-optionがありますか?

  3. キーフレームは一定の頻度で提供されますか? この周波数を調べる方法は?(少し数学を使えば、次のキーフレームを計算してそこでカットできるはずです)

  4. この映画を分割するまったく別の方法はありますか? 手でそれを行うことはオプションではありません.1000以上のチャンクを切り取る必要があります...

どうもありがとう!