3

多くの場合、10 時間にも及ぶ公開会議のビデオをストリーミングしたいと考えています。ユーザーは通常、動画の途中から開始し、頻繁に飛び回ります。

MP4 コンテナー内の H.264 は、ストリーミング ビデオのエンコードに現在最適なオプションのようです (そうですか?)。しかし、これらは 1 つのファイルで約 1.3 GB の大きなファイルであり、ファイルの先頭にあるメタデータ (MOOV アトム) 自体は約 40 MB です。私の理解が正しければ、クライアントはファイルの残りの部分をシークする前に完全なメタデータをダウンロードする必要があります。明らかに、ストリーミングを開始する前に 40MB をダウンロードしなければならないことは受け入れられません。

(ストリーミングの私のテストは、VLC と Chrome の HTML5 タグで行われました。)

私は avconv を使用してファイルをエンコードしていますが、現在、使用するエンコーダー (x264 および libfaac) を指定する以外に追加の設定を提供していません。次に、qt-faststart を使用してメタデータをファイルの先頭に移動します。

MOOV アトムを小さくする方法はありますか?

そうでない場合、使用する他の戦略はありますか (たとえば、長いビデオを複数のファイルに分割することは頻繁に行われますか? ユーザーが 1 日のビデオを探し回るという点で、それは本当に苦痛のように思えます)?

または、別のコーデックまたはコンテナーを使用する必要がありますか?

ありがとう!

以下は、AtomicParsley からのファイル ヘッダー構造の内訳です。

Atom ftyp @ 0 of size: 32, ends @ 32
Atom moov @ 32 of size: 40157673, ends @ 40157705
     Atom mvhd @ 40 of size: 108, ends @ 148
     Atom iods @ 148 of size: 24, ends @ 172
     Atom trak @ 172 of size: 20156304, ends @ 20156476
         Atom tkhd @ 180 of size: 92, ends @ 272
         Atom edts @ 272 of size: 36, ends @ 308
             Atom elst @ 280 of size: 28, ends @ 308
         Atom mdia @ 308 of size: 20156168, ends @ 20156476
             Atom mdhd @ 316 of size: 32, ends @ 348
             Atom hdlr @ 348 of size: 45, ends @ 393
             Atom minf @ 393 of size: 20156083, ends @ 20156476
                 Atom vmhd @ 401 of size: 20, ends @ 421
                 Atom dinf @ 421 of size: 36, ends @ 457
                     Atom dref @ 429 of size: 28, ends @ 457
                 Atom stbl @ 457 of size: 20156019, ends @ 20156476
                     Atom stsd @ 465 of size: 147, ends @ 612
                         Atom avc1 @ 481 of size: 131, ends @ 612
                             Atom avcC @ 567 of size: 45, ends @ 612
                     Atom stts @ 612 of size: 6115608, ends @ 6116220
                     Atom stss @ 6116220 of size: 16960, ends @ 6133180
                     Atom ctts @ 6133180 of size: 5683824, ends @ 11817004
                     Atom stsc @ 11817004 of size: 28, ends @ 11817032
                     Atom stsz @ 11817032 of size: 4169724, ends @ 15986756
                     Atom stco @ 15986756 of size: 4169720, ends @ 20156476
     Atom trak @ 20156476 of size: 20001133, ends @ 40157609
         Atom tkhd @ 20156484 of size: 92, ends @ 20156576
         Atom mdia @ 20156576 of size: 20001033, ends @ 40157609
             Atom mdhd @ 20156584 of size: 32, ends @ 20156616
             Atom hdlr @ 20156616 of size: 45, ends @ 20156661
             Atom minf @ 20156661 of size: 20000948, ends @ 40157609
                 Atom smhd @ 20156669 of size: 16, ends @ 20156685
                 Atom dinf @ 20156685 of size: 36, ends @ 20156721
                     Atom dref @ 20156693 of size: 28, ends @ 20156721
                 Atom stbl @ 20156721 of size: 20000888, ends @ 40157609
                     Atom stsd @ 20156729 of size: 96, ends @ 20156825
                         Atom mp4a @ 20156745 of size: 80, ends @ 20156825
                             Atom esds @ 20156781 of size: 44, ends @ 20156825
                     Atom stts @ 20156825 of size: 9348168, ends @ 29504993
                     Atom stsc @ 29504993 of size: 28, ends @ 29505021
                     Atom stsz @ 29505021 of size: 5326296, ends @ 34831317
                     Atom stco @ 34831317 of size: 5326292, ends @ 40157609
     Atom udta @ 40157609 of size: 96, ends @ 40157705
         Atom meta @ 40157617 of size: 88, ends @ 40157705
             Atom hdlr @ 40157629 of size: 33, ends @ 40157662
             Atom ilst @ 40157662 of size: 43, ends @ 40157705
                 Atom ©too @ 40157670 of size: 35, ends @ 40157705
                     Atom data @ 40157678 of size: 27, ends @ 40157705
Atom free @ 40157705 of size: 8, ends @ 40157713
Atom mdat @ 40157713 of size: 1320096566, ends @ 1360254279
4

2 に答える 2

2

jwplayer のようなフラッシュ プレーヤーを使用できる場合は、flv 形式を試してください。その中で H.264/AAC の組み合わせを引き続き使用できます。ただし、ファイルはすぐにストリーミングを開始します。再エンコードする必要はありません。リマックスするだけ

ffmpeg -i input.mp4 -acodec copy -vcodec copy -bsf h264_mp4toannexb out.flv

mp4 ファイルを使用する必要がある場合は、フラグメント化された mp4 ファイルを使用してそれを実現する必要があります。スムーズ ストリーミングに似ています [これも別の目的でしたが]。

于 2012-10-04T23:44:16.710 に答える
-1

録音をどのように表示するかは、事前にキャッシュされる方法に大きく関係しています。最終的にコンテンツにリンクするためにプレイリスト形式を使用していますか? VideoLan クライアントの反応は、事実上の映画プレーヤーよりも良いか悪いか.

HTML5 はオプションなので、単純な JavaScript ですぐに検索オプションを利用できるようになりますか? 価値があるのは、ほとんどの HTML5 対応ブラウザーが、適切なバッファー長を維持するというかなり良い仕事をしているということです。

http://en.wikipedia.org/wiki/HTML5_video

長期的には、適切な YouTube または Vimeo アカウントを取得し、そこでコンテンツを公開してインフラストラクチャを活用し、独自の帯域幅要件を大幅に削減することをお勧めします。

于 2012-10-04T20:44:27.897 に答える