2

他の投稿を見て、さまざまな解決策を試しましたが、うまくいきません。

動画ファイルは Chrome で正常に再生されますが、エラーが発生します

html5: ファイルが見つかりません

IE10およびFFで

もともと私は次のコードを持っていました

<div class="flowplayer">
    <video>
         <source class="video-source" type="video/mp4" src="@Model.VideoURL" />
    </video>
</div>

次に、これに基づいてコードを更新しました

<div class="flowplayer">
    <video>
        <!-- if Firefox -->  
        <source src="@Model.VideoURL" type="video/ogg" />  
        <!-- if Safari/Chrome-->  
        <source src="@Model.VideoURL" type="video/mp4" />  
        <!-- If the browser doesn't understand the <video> element, then reference a Flash file. You could also write something like "Use a Better Browser!" if you're feeling nasty. (Better to use a Flash file though.) -->
        <embed src="@Model.VideoURL" type="application/x-shockwave-flash" width="1024" height="798" allowscriptaccess="always" allowfullscreen="true"></embed> 
    </video>
</div>

AWS から動画を取得しています。動画の URL は次のようになります

 https://myurl.cloudfront.net/MyGuid

アップデート

このドキュメントに従ってコードを変更しました

HTML

<div class="player" data-engine="flash">
   <video preload="none">
      <source type="video/ogg" src="@Model.VideoURL">
      <source type="video/webm" src="@Model.VideoURL">
      <source type="video/mp4" src="@Model.VideoURL">
   </video>
</div>

Javascript

  $(".player").flowplayer({ swf: "/Content/swf/flowplayer.swf" });

これは IE10 と Chomre では問題なく動作しますが、FF ではエラーが発生します。

html5: Video file not found
'https://myurl.cloudfront.net/myGuid' 
//this is the correct url and the one that is located in @Model.VideoURL

更新 2

私はFirefoxがここの他のサイトからの絶対的なURLを好まないと思います

この人の提案を使用してカスタム属性をセットアップしようとしました

しかし、私はまだ同じエラーが発生しています (html5: ビデオファイルが見つかりません)

4

1 に答える 1

3

エラーは url または flowplayer ではありませんでした。これが、AWS にデータを保存する方法でした。動画をアップロードするときに、コンテンツ タイプを指定していませんでした。Chrome はそれを理解するのに十分賢く、Flash では IE もそうでしたが、FF はそうではありませんでした。

新しいファイル アップロード コード

using (AmazonS3Client client = new AmazonS3Client())
{
     var bucketObject = new PutObjectRequest
     {
          BucketName = fileStorageProvider.BucketName,
          Key = awsFileName,
          ContentType = "video/mp4", //new line of code
          CannedACL = S3CannedACL.PublicRead
     };

     bucketObject.WithInputStream(file.InputStream);
     client.PutObject(bucketObject);
}
于 2013-09-05T18:08:35.593 に答える