2

さまざまなソースからローカルハードディスクにビデオをダウンロードできるMacアプリを書いています。これまでのところうまく機能していますが、ダウンロード中にユーザーがそれらのビデオを再生できるようにしたいと思います。QTMovieQTKitのドキュメントを調べたところ、ムービーデータを区分的にオブジェクトにフィードできるメソッドが見つかりませんでした。

QTKit、AVFoundation、またはその他のシステムフレームワークを使用してそれを実現する方法はありますか?そのためにffmpegや他のサードパーティのライブラリを持ち込むことは絶対に避けたいと思います。

4

2 に答える 2

3

問題は、QuickTime ムービーがどのように機能するかにあります。それらはストリーム ベースのファイルではないため、情報を一度にチャンクで供給することは通常役に立ちません。代わりに、それらはアトムベースのファイルであり、アトムは任意の順序で来ることができます。
QuickTime ムービーの作成方法によっては、「moov」アトム (重要な情報を提供し、メディア データの解釈に必要) がファイルの末尾にある場合があります (多くの場合はそうです)。最後にある場合は、ダウンロードが完了するまでムービーを再生できません。moov データが先頭にある場合 (たとえば、誰かが [インターネットに接続する] オプションを使用してムービーを保存した場合)、QuickTime はファイルの再生をすぐに開始できます。

MPG トランスポート ストリームのような形式のみが、ストリーミングまたは「プログレッシブ ダウンロード」用に設計されています。

于 2012-04-26T02:23:55.983 に答える
2

QTKitの代わりにAVFoundationフレームワークを使用する必要があります。最初にやりたいことは、AVFoundationプログラミングガイドを読むことです。このガイドではiOSについて詳しく説明していますが、AVFoundationの機能は10.7以降OSXで利用できます。

于 2012-04-22T21:40:15.777 に答える