サイズが300バイトのwmvファイルがあります。私はいくつかのバイトに分割したい(例:(150バイトごと)または(3 100バイト))。これをC#言語でどのように実装するのですか?C#言語で実装されたバイト単位でwmvファイルを分割する方法は?
答えて
実際にファイルを動作させるかどうかによって異なります。チャンクで分割するのは簡単です:バイト配列に読み込み、ファイルの最後のバイトをコピーすることを忘れずに、配列の一部をCHUNKサイズのファイルにコピーするforループを作成します。それらを作業ファイルで分割することは異なります。
wmvファイルを2つの部分に分割したい:ヘッダとデータ。次に、ヘッダ部分をパケットにカプセル化し、データ部分を別のパケットにカプセル化してクライアントにストリーミングします。だから私はどのように? –
@HellDevil:これらのコンポーネントを分割することで、あなたは何を望んでいますか?サーバーやパケットなどのオーバーヘッドが増えています。 –
@ブラッドクリスティ:私はWindows Media Httpストリーミングプロトコルを使用してビデオストリーミングサーバーを構築しています。 wmvファイルを2つの部分に分割し、パケットでカプセル化してクライアントに送信する必要があります。 –
私は明示的に分割せずにストリームにしようとします(tcpスタックはそれを分割します^^)。あなたが良いコーデックを持っているなら、とにかくそれを再生します。 (Vlcはダウンロード中はいつでも動画を再生できます)
しかし、私はWindows Media Httpストリーミングプロトコルでストリーミングをしています。このプロトコルには2つのパケットがクライアントに送信され、#HパケットにはWMVファイルのヘッダー部分が含まれ、#Dパケットにはデータ部分が含まれます。 –
なぜあなたはストリーミングプロトコルを作成しようとしますか?それは博士仕事の男。私はあなたがそれが働くようになると言うときに私を信頼してください。 – CrazyDart
@CrazyDart:それは私の論文です。「ウィンドウズメディアhttpストリーミングプロトコルでストリーミングビデオサーバーを構築する」 –
本当の答えは、ストリーミングサーバーを使用してストリーミングプロトコルの作成を忘れることです。それはクレイジーです。ファイルをバイトセグメントに分割するには、以下のようなコードを使用します。テストされていないものではありませんが、約95%完了する必要があります。
すでにお持ちでない場合は、原仕様をご覧ください。 http://msdn.microsoft.com/en-us/library/cc251059(v=PROT.10).aspxそして、あなたが持っている、とあなたがこの質問をした場合、あなたはアイスキューブはあなたがそれらの個々のファイルが実際に動作するように、またはあなたがその何かを作ることに計画しているしたいです、それが動作することで、地獄にチャンス
int chunkSize = 300;
var file = File.Open("c:\file.wmv", FileMode.Open);
var numberOfChunks = (file.Length/chunkSize)+1;
byte[][] fileBytes = new byte[numberOfChunks][];
for (int i = 0; i < numberOfChunks; i++)
{
int bytesToRead = chunkSize;
if (i == numberOfChunks + 1)
{
bytesToRead = (int)(file.Length - (i * chunkSize));
}
fileBytes[i] = new byte[bytesToRead];
file.Read(fileBytes[i], i * chunkSize, bytesToRead);
}
私をサポートしていただきありがとうございます。実際に私はストリーミングプロトコルを書いていません。私はWindows Media Http Streamingプロトコルにストリーミングサーバーを書きます。これは、Microsoftによって書かれたプロトコルです。 –
私はそれをやってもいいと言っているわけではありません。野生の中でこれを使うプロジェクトがいくつかあり、オープンソースを探してコードを探します。 – CrazyDart
- 1. C言語で単語を分割する
- 2. Eclipseエディタで自分の言語を実装する方法
- 3. Cで単語のスペルチェックを実装する方法は?
- 4. ライブコードで単語のファイルをリストに分割する方法
- 5. バイト単位でビット単位でインクリメント(C#)
- 6. PHPでバイト単位でファイルをアップロードする方法
- 7. Objective C:実装ファイルで宣言されたIVarsを持つARC
- 8. C++のクライアント側でDLLで宣言されたメソッドを実装する方法
- 9. QuadTreeまたはOctree C言語でのテンプレート化された実装
- 10. Pythonで単語を分割する方法は?
- 11. Javaで単語を分割する方法は?
- 12. レスポンシブテーブルセルで単語を分割する方法は?
- 13. 実装方法:Express(ISO 10303-21)TYPE typename = C言語でのSELECT
- 14. WP 8.1で実行されているIE 11で単語を分割する方法は?
- 15. Java/Swingアプリケーションで多言語を実装する方法は?
- 16. PHPアプリケーションでマルチ言語を実装する方法は?
- 17. アンドロイドアプリで言語設定を実装する方法は?
- 18. 文字列を単語に分割し、C#で異なる単語を取得する方法は?
- 19. 実行ファイルがコンパイルされた言語の検索方法は?
- 20. マージされたファイルをファイルヘッダで分割する方法は?
- 21. ミニ言語の実装方法は?
- 22. .rtfファイルを分割する単語
- 23. オクターブ単位で整流された線形単位を実装します。
- 24. C言語でtxtファイルを 'x'バイトで切り捨てる
- 25. Prologで単語を分割
- 26. 実装されたグラフ分割アルゴリズムR
- 27. Regexを単一言語のトークンに分割する多言語の文字列を分割する
- 28. 各要素単位で行を分割する方法
- 29. グループ単位で合計を分割する方法
- 30. 文法シンボルの属性はC言語での実装
立ってはいけません後でそれらを組み合わせますか? – TJHeuvel
> 300バイト あなたの面白い男です。 300バイトの音楽/ビデオは約0.02秒の長さですか? – Zotta
wmvファイルを2つの部分に分割したい:ヘッダとデータ。次に、パケットのヘッダー部分と別のパケットのデータ部分をクライアントにストリーミングするようにカプセル化します。 –