Stream video with rtmp and videojs

Snabow picture Snabow · Nov 26, 2015 · Viewed 21.9k times · Source

I looking for a way to stream play videos with rtmp. I use video-js but it doesn't work. Firebug return an error :

L'attribut « type » spécifié sur « video/flash » n'est pas géré. Le chargement de la ressource média rtmp://server.com/vod/mp4:foo/bar/my_video.mp4 a échoué.
VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) No compatible source was found for this video. MediaError { code=4,  message="No compatible source was found for this video."

HTML code :

<!doctype html>
<html lang="fr" class="no-js">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge" />
   <link rel="stylesheet" href="css/reset.css"> <!-- CSS reset -->
   <link rel="stylesheet" href="css/video-js.css"> <!-- Video.js -->
   <link rel="stylesheet" href="css/style.css"> <!-- Resource style -->
   <script src="js/modernizr.js"></script> <!-- Modernizr -->
   <title>Title</title>
</head>
<body class="sous-menu">
  <video id="example_video_1" class="video-js vjs-default-skin vjs-big-play-centered"
    controls preload="auto" width="640" height="264"
    data-setup='{"techOrder": ["flash", "html5"]}'>
    <source src="rtmp://server.com/vod/mp4:foo/bar/my_video.mp4" type='rtmp/mp4' />
  </video>
   <script src="js/jquery-2.1.4.min.js"></script> <!-- jQuery -->
   <script src="js/video-js.js"></script> <!-- Videojs.js -->
</body>
</html>

What I'm doing wrong ?

Edit: I add the type='rtmp/mp4' but it still dosen't work ... Test in FF, Chrome & IE11. Tried the link in VLC and it work.

Answer

misterben picture misterben · Nov 27, 2015

Use the type rtmp/mp4 in your source. Also, video.js uses an ampersand to separate the server URL and stream name. RTMP will only work where Flash is available of course.

<source src='rtmp://server.com/vod/&mp4:foo/bar/my_video.mp4' type='rtmp/mp4'/>