1

私はrtmpストリーミングを機能させようとしています。ここで提案されているコードとほぼ同じです

<html>
  <head>
    <script src="me/build/jquery.js"></script>
    <script src="me/build/mediaelement-and-player.js"></script>
    <link rel="stylesheet" href="me/build/mediaelementplayer.min.css" /></code>
  </head>
  <body>

<video>
     <source src="000109f6004b00a6004af03676235daa" type="video/rtmp">
</video>
<script>
$('video').mediaelementplayer({flashStreamer:"rtmp://thinkbuntu:1935/flvplayback/000109f6004b00a6004af03676235daa"});
</script>

  </body>
</html>

はローカルrtmpserverrtmp://thinkbuntu:1935/flvplaybackの URL で、「000109f6004b00a6004af03676235daa」は mp4 ビデオです。rtmpdump を介してダンプでき、jwplayer を使用してビデオを適切に再生できるため、ローカル サーバーが動作していることはわかっています。flv、webm、ogv を使用したメディアメントでは、どちらも機能しません。

Firefox でこのエラーが発生します (Chrome ではエラーはまったくありません):

Specified "type" attribute of "video/rtmp" is not supported. Load of media resource 000109f6004b00a6004af03676235daa failed.

json 属性を介して構成すると、同じように失敗します。

ブラウザの機能に基づいて MediaElementsJS でメディア ソース (http を rtmp に置き換える)というこのアプローチも試しましたが、これも失敗します。

私は何か間違ったことをしていますか?

4

4 に答える 4

1

あなたの場合、ビデオタグ内にプレフィックス「mp4:」を追加する必要があります

<video width="360" height="203" id="player1" src="mp4:sample" type="video/rtmp" controls="controls"></video>

<script>$('video').mediaelementplayer({flashStreamer:"rtmp://localhost/vod"});</script>
于 2013-08-28T00:18:44.457 に答える
0

RTMP URL は一意に解釈されるため、ブラウザーがネゴシエートしているものを正確に判断するためにスニフ RTMP トラフィックを移植する必要がありました。URL の一部はストリーミング サービスのエンドポイントを識別し、残りはストリーム リソースを識別します。コロンが続きます。RTMP サーバーの構成がわからない場合は、URL のどこでサービス エンドポイントが終了し、ストリームが開始するかわかりません。サーバーの構成を知らなかったので、これにはフラストレーションがたまりませんでした。

source タグでは、完全な RTMP URL を 'src' 属性 (プロトコル、サービス エンドポイント、ストリーム、ファイル形式 - すべて、シバン全体) として配置し、flashStreamer プロパティではサービス エンドポイントのみを識別しました。 (ファイル形式までのすべてが含まれますが、ファイル形式は含まれません)。多くの実験の後、これが成功した唯一のプロパティの組み合わせでした。

于 2013-08-13T15:31:39.640 に答える