iOS / Safariでビデオストリームが機能しない

サイモン

ビデオファイルを提供するためにサードパーティのオブジェクトストア(SoftLayer)に依存するWebアプリケーションがあります。ユーザーがビデオをリクエストすると、node.js-serverがオブジェクトストアからファイルをフェッチしてクライアントにストリーミングします。デスクトップマシンのAndroidとFirefoxおよびChromeのブラウザで機能するコードがあります。残念ながら、ビデオはSafari / iOSでは再生されません。

node.js-code(w3c-websiteからビデオをストリーミングする)の簡略化されたバージョンは次のようになります。

router.get('/testFile', function (req, res) {
  var range = req.headers.range;
  var positions = range.replace(/bytes=/, "").split("-");
  var start = parseInt(positions[0], 10);

  var objectPath = "http://www.w3schools.com/html/mov_bbb.mp4"
    request.get({
      url: objectPath,
      headers: {},
      encoding: null
    }, function (err, data) {
      if (err) {
        console.log('error', err);
      }else {
        var total = data.body.length;
        var end = positions[1] ? parseInt(positions[1], 10) : total - 1;
        var chunksize = (end - start) + 1;
        console.log("bytes " + start + "-" + end + "/" + total);
        res.writeHead(206, {
          "Content-Range": "bytes " + start + "-" + end + "/" + total,
          "Accept-Ranges" : "bytes",
          "Content-Length": chunksize
        });
        var bodyStream = new streambuffers.ReadableStreamBuffer({
          frequency: 1,
          chunksize: 256
        });
        bodyStream.pipe(res);
        bodyStream.put(data.body);
      }
    });
});

'/ testFile'は、HTML5ビデオプレーヤーのsrcとして使用されます。

<!DOCTYPE html>
<html>
  <head>
    <title>Movie</title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <h1>Test video</h1>
    <video controls="true" preload="none">
      <source src="/testFile" type="video/mp4"/>
    </video>
  </body>
</html>

この単純なプロジェクトはここでチェックアウトできます:https//bitbucket.org/Duffman/stream-video

実行するには、「node bin / www」を実行し、「http:// localhost:3000 / testVideo」にアクセスします。

Joost Baaij

ノード内にストリーミングメディアサーバーを自分で再作成しようとはしません。

サーバーのパフォーマンスが低下します

お持ちのコードを使用して、アプリケーション・サーバーは最初にSoftLayerからファイル全体をダウンロードし、次にそれをRAMからクライアントにストリーミングします。これは、多数のファイルまたはクライアントのどちらにとっても持続可能ではありません。

世界中で遅い

サーバーがブリュッセルにある場合、異なる大陸のすべてのクライアントで転送が遅くなります。モバイルネットワークでは特に苦痛になります。モバイルネットワークでは、おそらく最適なパフォーマンスが必要になります。

メディアのストリーミングは難しい

仕事に最適なツールを使用してください。数行のノードで可能な限り最高のストリーミングメディアサーバーを作成するつもりはありません。これを解決するには、NGINXなどの専用HTTPサーバーを信頼してください。さらに、あなたが書かなかったコードにバグがあってはなりません。

勧告:

SoftLayerCDNを使用しますそれはあなたの問題を解決するために特別に作られています。注:私は彼らと提携していません。コンテンツがS3にある場合は、CloudFrontを使用することをお勧めします。ここで重要なのは、ビデオのストリーミングにCDNを使用することです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPリモートストリーミングがiOS(Safari、Chrome)で機能しない

分類Dev

PHPリモートストリーミングがiOS(Safari、Chrome)で機能しない

分類Dev

mediaDevices.getUserMediaがiOS11のSafari11で機能しない(ビデオが黒)

分類Dev

AVFoundationでAVAssetビデオをトリミングしてもiOS8が機能しない

分類Dev

$_COOKIE が Safari iOS で機能しない

分類Dev

カスタム ビューで iOS ボタンが機能しない

分類Dev

iOS8.1.3-エンタープライズディストリビューションが機能しない

分類Dev

背景を変更した複数選択リストビューがiOSで機能しない

分類Dev

位置情報サービスがiOS 11で機能しない

分類Dev

位置情報サービスがiOS 8で機能しない

分類Dev

YoutubeビデオがiOSで機能しないことがあります

分類Dev

SwiftアプリのiOS8でエンタープライズディストリビューションがうまく機能しない

分類Dev

xamarin フォームの通知プロパティが変更され、IOS リストビューで機能しない

分類Dev

Ionic-埋め込みビデオがiOSで機能しない

分類Dev

iOS / SafariでのHlsビデオストリーミング

分類Dev

GoogleマップiOSストリートビューURLスキームが機能していませんか?

分類Dev

HTML5メディアソースビデオがIOSで正確に機能しないのはなぜですか?

分類Dev

HTTPロードリクエストがiOS12で機能しない

分類Dev

iOSで機能しないReactNativeジオロケーションサービス

分類Dev

iOSが回転し、iOSでビデオストリームをフィルタリングします

分類Dev

Ionic2ストレージがiOSで機能しない

分類Dev

Googleオートコンプリートの場所の国フィルターがiOSで機能しない

分類Dev

iOS 7では機能するが、iOS6以前では機能しないカスタムアラビア語フォント

分類Dev

スクロールビューがios7で機能しない

分類Dev

WKWebViewビューポートの縮小がiOS9.3で機能しない

分類Dev

WKWebViewビューポートの縮小がiOS9.3で機能しない

分類Dev

iOSでのテキストビューの高さ制約の変更でアクセシビリティが正しく機能しない

分類Dev

オフセットトップがIOSで機能しない

分類Dev

Meteor(PhoneGap)を使用したiOSでのUIWebViewローカルビデオ/オーディオ再生が機能しない

Related 関連記事

  1. 1

    PHPリモートストリーミングがiOS(Safari、Chrome)で機能しない

  2. 2

    PHPリモートストリーミングがiOS(Safari、Chrome)で機能しない

  3. 3

    mediaDevices.getUserMediaがiOS11のSafari11で機能しない(ビデオが黒)

  4. 4

    AVFoundationでAVAssetビデオをトリミングしてもiOS8が機能しない

  5. 5

    $_COOKIE が Safari iOS で機能しない

  6. 6

    カスタム ビューで iOS ボタンが機能しない

  7. 7

    iOS8.1.3-エンタープライズディストリビューションが機能しない

  8. 8

    背景を変更した複数選択リストビューがiOSで機能しない

  9. 9

    位置情報サービスがiOS 11で機能しない

  10. 10

    位置情報サービスがiOS 8で機能しない

  11. 11

    YoutubeビデオがiOSで機能しないことがあります

  12. 12

    SwiftアプリのiOS8でエンタープライズディストリビューションがうまく機能しない

  13. 13

    xamarin フォームの通知プロパティが変更され、IOS リストビューで機能しない

  14. 14

    Ionic-埋め込みビデオがiOSで機能しない

  15. 15

    iOS / SafariでのHlsビデオストリーミング

  16. 16

    GoogleマップiOSストリートビューURLスキームが機能していませんか?

  17. 17

    HTML5メディアソースビデオがIOSで正確に機能しないのはなぜですか?

  18. 18

    HTTPロードリクエストがiOS12で機能しない

  19. 19

    iOSで機能しないReactNativeジオロケーションサービス

  20. 20

    iOSが回転し、iOSでビデオストリームをフィルタリングします

  21. 21

    Ionic2ストレージがiOSで機能しない

  22. 22

    Googleオートコンプリートの場所の国フィルターがiOSで機能しない

  23. 23

    iOS 7では機能するが、iOS6以前では機能しないカスタムアラビア語フォント

  24. 24

    スクロールビューがios7で機能しない

  25. 25

    WKWebViewビューポートの縮小がiOS9.3で機能しない

  26. 26

    WKWebViewビューポートの縮小がiOS9.3で機能しない

  27. 27

    iOSでのテキストビューの高さ制約の変更でアクセシビリティが正しく機能しない

  28. 28

    オフセットトップがIOSで機能しない

  29. 29

    Meteor(PhoneGap)を使用したiOSでのUIWebViewローカルビデオ/オーディオ再生が機能しない

ホットタグ

アーカイブ