私の個人サイトのビデオがサファリで再生されていないことに気づきました。 2台のコンピューターを試しましたが、[再生]をクリックしても何も起こりません。 Chrome、Opera、Firefoxでは正常に動作しますが、Safariでは動作しません。コーデック/エンコーディングの問題ですか?
リンク: http://imwillryan.com/uiuc-timelapse.html
コード:
<video controls preload="none" poster="assets/video/poster_uiuc-timelapse.jpg" data-setup="{}">
<source src="assets/video/uiuc-timelapse.mp4" type="video/mp4" />
<source src="assets/video/uiuc-timelapse.ogv" type='video/ogg; codecs="theora, vorbis"' />
<source src="assets/video/uiuc-timelapse.webm" type='video/webm; codecs="vp8, vorbis"' />
Your browser does not support the HTML5 video tag. Try updating your browser or using a different one.
</video>
通常、これは、コーデックのネストされた二重引用符を使用して、type
属性を一重引用符で囲むことで機能します。ただし、クロスブラウザでは機能しない場合があります。そのため、コーデックのtype
属性に二重引用符と一重引用符を入れ子にして混在させる必要がない場合があります。
一重引用符で囲まれた二重引用符なしで試してみます。そして、引用符を1つだけ使用します。
これを変換します:
type='video/ogg; codecs="theora, vorbis"'
type='video/webm; codecs="vp8, vorbis"'
コーデックの二重引用符と一重引用符のネストされた組み合わせなしでこれに:
type="video/ogg; codecs=theora, vorbis"
type="video/webm; codecs=vp8, vorbis"
そして、すべて一緒に、このように:
<video controls preload="none" poster="assets/video/poster_uiuc-timelapse.jpg" data-setup="{}">
<source src="assets/video/uiuc-timelapse.mp4" type="video/mp4" />
<source src="assets/video/uiuc-timelapse.ogv" type="video/ogg; codecs=theora, vorbis" />
<source src="assets/video/uiuc-timelapse.webm" type="video/webm; codecs=vp8, vorbis" />
Your browser does not support the HTML5 video tag. Try updating your browser or using a different one.
</video>
参照
source
要素に関するWHATWGWebサイト。 type
要素のsource
属性のWHATWGで、例を見ると、引用符がネストされているものとされていないものがあります。
https://html.spec.whatwg.org/multipage/embedded-content.html#the-source-element
MDN Webサイト、HTML5オーディオおよびビデオの使用:
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML5_audio_and_video
したがって、一重引用符または二重引用符を使用しますが、ブラウザ間で機能しない場合があるため、どちらかまたは相互にネストしないでください。