4

私はこの質問を1年以上頭の中に持っています。そして、私はあなたたちが答えを持っているかもしれないと思います。

一部のPythonGUIアプリでは、ビデオストリームを表示する必要があります。後で読み直すために、このストリームの一部を記録する必要があります。

さらに、このPythonアプリケーションをマルチプラットフォーム(OSX、GNU、Windows)にする必要があります

私は多くの解決策を受け入れています:

  • カメラをストリームに接続し、Pythonアプリでストリームを読み取ります。(RTP + VLCでうまくいく可能性があります)
  • フォノンを使用してカメラを読み取る
  • 抽象クラスを作成して、異なるリーダーを定義し、OSの機能でQuicktime、Win32、またはGStreamerを使用します。

あなたの経験は何ですか、それをするために何を使いますか?

4

2 に答える 2

2

これも定期的に調べましたが、基になるタスクの複雑さが高すぎて、トピックの質問用の単純なショートカット抽象化ライブラリを使用できないようです。ただし、明確にする特定のタスクにはpyopencvを使用することをお勧めします。プラットフォーム間で機能するWebカメラ入力/キャプチャのクラスがあり、Pythonで例を投稿する合理的なユーザーベースがあります。最新は2.3.1で、かなり最近のものです。あなたは信じられないほど役立つサイトであなたのためにコンパイルされたそれのウィンドウズバージョンを手に入れることができます(私のものではなく、ただ言っているだけです):

http://www.lfd.uci.edu/~gohlke/pythonlibs/

いくつかのライブラリの経験を求めているので、gstreamerはLinuxで私のために機能しましたが、Windowsでのセットアップには大きな苦痛を伴い、私にとっては機能しませんでした。これはかなり前のことで、おそらく今はうまく機能しています。vlc.pyは、vlcが機能するかどうかをテストおよび確認するためのシンプルなライブラリです。現時点では、64ビットWindowsプラットフォームでは機能しません。理由はわかりませんが、多くの人が同様のエラーを報告しているようです。そのため、必要なクロスプラットフォームサポートの量によって異なります。

于 2011-08-23T14:54:50.120 に答える
0

残念ながら、これを行うのは簡単ではありません。私は、3つの主要なデスクトップOSでビデオ録画/再生を行うプログラムのほとんどを作成しました。「すぐに使える」方法でのビデオの再生/記録の状態は、HTMLの埋め込みを除いて、クロスプラットフォームではまだ解決されていません。これは、次の事実と多くの関係があります。

  • コーデックはプロプライエタリです
  • OSは一般的なコーデックをサポートしていません
  • ffmpegおよび同様のプロジェクトには、特定の方法でそれらを含める場合にソースコードをリリースする必要があるライセンスがあります
  • 存在する多くのビデオ再生プレーヤーは、各フレーム、バッファリング、ストリーミング、オーディオ同期などを処理するために、それぞれ手作業で書き直されます。

したがって、HTMLを使用することも、次のコーディングライブラリでクロスプラットフォームの問題に悩まされることもあります。

  • Python mplayer
  • Python vlc
  • Python opencv
  • Python pyaudio
  • Python pyside/pyqtフォノンまたはqtmultimedia

1台の開発マシンで動作するようになったら、エンドユーザーマシンへのインストールに関しては壊れることを期待してください(pyinstaller / appdmg / apt / Chocolatey / Inno Setupを介して配布します)

OSXでは、brewにはまだ多くの問題がありますが、macportsの方がうまく機能します(まだ多くのパッチを適用する必要がありました)

Linuxははるかに簡単です。

Windowsは、難易度の中間にあります

iOS / Android / Windows RT/Kindleがどのようになっているのか知りたいです

Netflixでさえクロスプラットフォームのビデオアプリをまだ持っていないので、問題はユニークではありません:https://www.quora.com/Is-Netflix-building-an-app-for-the-Mac-App-Store?シェア=1

于 2016-03-16T20:06:41.483 に答える