videojs: エラーです。(CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) このメディアと互換性のあるソースは見つかりませんでした。
2022-02-15 05:05:18
VIDEOJSの解決方法: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) このメディアと互換性のあるソースは見つかりませんでした。
<template>
<! -- This component is the m3u8 event stay component -->
<div class="container">
<div class="player">
<div v-if="src===''">
Video playback failed
</div>
<video-player v-else class="video-player vjs-custom-skin" ref="videoPlayer" :playsinline="true" : options="playerOptions"></video-player>
</div>
</div>
</template>
<script>
import 'video.js/dist/video-js.css';
import 'vue-video-player/src/custom-theme.css';
import { videoPlayer } from 'vue-video-player'; //import component
import 'videojs-contrib-hls';
export default {
props: {
src: {
type: String,
default: ''
}
},
watch: {
src: {
handler(newval) {
// console.log(newval);
this.playerOptions.sources[0].src = newval;
// console.log(this.playerOptions.sources[0].src, 'video assignment');
this.srcvideo = newval;
}
}
},
created() {
this.playerOptions.sources[0].src = this.src;
},
data() {
return {
srcvideo: '', //video address
playerOptions: {
//playbackRates: [0.7, 1.0, 1.5, 2.0], //playback speed
autoplay: true, // If true, start playback when browser is ready.
muted: false, // will eliminate any audio by default.
loop: false, // cause the video to restart as soon as it ends.
preload: 'auto', // Suggest whether the browser should start downloading video data after the <video> load element. auto browser selects the best behavior to start loading the video immediately (if the browser supports it)
language: 'zh-CN',
aspectRatio: '16:9', // Put the player in smooth mode and use this value when calculating the dynamic size of the player. The value should represent a ratio - two numbers separated by a colon (e.g. "16:9" or "4:3")
fluid: true, // When true, the Video.js player will have a fluid size. In other words, it will be scaled to fit its container.
sources: [
{
type: 'application/x-mpegURL',
src: 'http://ivi.bupt.edu.cn/hls/chchd.m3u8' // your m3u8 address (required)
}
],
// poster: 'poster.jpg', // your cover address
width: document.documentElement.clientWidth
// notSupportedMessage: 'This video cannot be played at this time, please try again later' // Allow to override the default message displayed when Video.js cannot play the media source.
// controlBar: {
// timeDivider: true,
// durationDisplay: true,
// remainingTimeDisplay: false,
// fullscreenToggle: true // fullscreen button
// }
}
};
},
components: {
videoPlayer
},
methods: {
//events
}
};
</script>
<style scoped></style>
これは、domノードが生成されるときに、srcの値関数が空であるためで、これは1回の判定で可能です
この問題のもう一つの理由は、rtmpストリームでは、現在flashがサポートされていないため、互換性のある再生ツールを見つけることができず、"videojs-flash"をインポートしても、動画を再生する方法がないことです。flvタイプの再生ストリームでは、flv.jsを使うことが推奨されていますが、今のところはhlsストリームで対応する方がよいでしょう。
関連
-
vue.cli3はクロスドメイン問題を解決する XMLHttpRequestへのアクセスは「http://192.168.88.228/login/Login?phone=19939306484&pass」で。
-
「未定義のプロパティ'length'を読み取れない」エラー処理
-
マウントされたフックでのエラー: "TypeError: TypeError: Cannot read property 'XXXXX' of undefined" マウントされたフックにエラーが発生しました。
-
error: 'lianxi/' does not have a commit checked out fatal: Add files failed Solution
-
エラーを解決する。モジュール 'chalk' が見つかりません。
-
赤色と警告を報告することによって、vueで使用するためのvを解決する
-
アンキャッチ(プロミス中)エラーの解決
-
Vueプロジェクトのエラーです。Uncaught (in promise) Error: ネットワークエラー
-
VueはQRCodeプラグインを使用してQRコードを生成していますが、マウントされたフックでのエラー: "TypeError: nullのプロパティ'appendChild'を読み取れない"
-
vueの@のエイリアスがジャンプを認識しない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
XXXをオリジンとするフレームがクロスオリジン.iframeクロスドメイン問題にアクセスするのをブロックするシンプルな解決策
-
require(src) は警告を報告するCritical dependency: 依存関係の要求は式である
-
ウィンドウやドキュメントがNuxtで定義されていない問題のまとめ
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory
-
無効なHostヘッダー サーバードメインのアクセス問題
-
vueでechartsを使用する際の問題点。Error Initialize failed invalid dom
-
[Intervention] パッシブイベントリスナー内部で、ターゲットがapparentsとして扱われるため、preventDefaultできない。
-
vueコンソールがエラーUncaughtを報告する(promiseの場合)
-
ElementUI checksum 【違反】スクロールブロックの「touchmove」イベントに非パッシブなイベントリスナーを追加した。問題解決
-
Vueプロジェクトを開くためのVSCode、解决无法对@/assets/aaa.vue指向的文件使用跳转、ほぼすべてのwebpackプロジェクトに対応しています。