html - 哇扎 : Video could not played when using dynamic smil

标签 html jakarta-ee video.js wowza

我已经创建了 j2ee Web 应用程序,我正在尝试从 wowza 创建动态 smil 文件。

下面是我的代码

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ABR</title>
<link href="http://vjs.zencdn.net/5.10.7/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/5.10.7/video.js"></script>
<script src="hls.min.js"></script>
<script src="vjs-hls.min.js"></script>
</head>
<body>
    <video id="video" class="video-js vjs-default-skin" width="640" height="360" autoplay controls>
        <!-- <source src="http://192.168.7.10:1935/vod/smil:bigbuckbunny.smil/playlist.m3u8" type="application/x-mpegURL"/> working fine if i use this url--> 
        <source src="http://192.168.7.10:1935/vod/amlst:bigbuckbunny/playlist.m3u8" type="application/x-mpegURL"/> <!-- Not working if i use this url -->
    </video>

    <script>
        var player = videojs('video');
        player.qualityPickerPlugin();
    </script>
</body>
</html>

Java 文件

package com.jagir.wowza.smil;
import com.wowza.wms.application.IApplicationInstance;
import com.wowza.wms.medialist.MediaList;
import com.wowza.wms.medialist.MediaListRendition;
import com.wowza.wms.medialist.MediaListSegment;
import com.wowza.wms.module.ModuleBase;
import com.wowza.wms.stream.IMediaListProvider;
import com.wowza.wms.stream.IMediaListReader;
import com.wowza.wms.stream.IMediaStream;

public class ModuleAMLSTTest extends ModuleBase
{
class MyMediaListProvider implements IMediaListProvider
{
public MediaList resolveMediaList(IMediaListReader mediaListReader, IMediaStream stream, String streamName)
{
MediaList mediaList = new MediaList();

MediaListSegment segment = new MediaListSegment();
mediaList.addSegment(segment);

MediaListRendition rendition1 = new MediaListRendition();
segment.addRendition(rendition1);

rendition1.setName("mp4:"+streamName+"_450.mp4");
rendition1.setBitrateAudio(44100);
rendition1.setBitrateVideo(45000);
rendition1.setWidth(424);
rendition1.setHeight(240);
rendition1.setAudioCodecId("mp4a.40.2");
rendition1.setVideoCodecId("avc1.66.12");

MediaListRendition rendition2 = new MediaListRendition();
segment.addRendition(rendition2);

rendition2.setName("mp4:"+streamName+"_750.mp4");
rendition2.setBitrateAudio(44100);
rendition2.setBitrateVideo(750000);
rendition2.setWidth(640);
rendition2.setHeight(480);
rendition2.setAudioCodecId("mp4a.40.2");
rendition2.setVideoCodecId("avc1.77.31");

MediaListRendition rendition3 = new MediaListRendition();
segment.addRendition(rendition3);

rendition3.setName("mp4:"+streamName+"_1100.mp4");
rendition3.setBitrateAudio(44100);
rendition3.setBitrateVideo(1100000);
rendition3.setWidth(1272);
rendition3.setHeight(720);
rendition3.setAudioCodecId("mp4a.40.2");
rendition3.setVideoCodecId("avc1.77.31");

MediaListRendition rendition4 = new MediaListRendition();
segment.addRendition(rendition4);

rendition4.setName("mp4:"+streamName+"_1500.mp4");
rendition4.setBitrateAudio(44100);
rendition4.setBitrateVideo(1100000);
rendition4.setWidth(1272);
rendition4.setHeight(720);
rendition4.setAudioCodecId("mp4a.40.2");
rendition4.setVideoCodecId("avc1.77.31");

System.out.println("::::::::::::::::::::::"+streamName);

return mediaList;
}
}

public void onAppStart(IApplicationInstance appInstance)
{
appInstance.setMediaListProvider(new MyMediaListProvider());
}
}

以下文件位于 [install_dir]/content/文件夹中

  • bigbuckbunny_450.mp4,bigbuckbunny_750.mp4,bigbuckbunny_1100.mp4, bigbuckbunny_1500.mp4

文件存储在内容文件夹中。

我还添加了

<Module>
<Name>ModuleAMLSTTest</Name>
<Description>ModuleAMLSTTest</Description>
<Class>com.jagir.wowza.smil.ModuleAMLSTTest</Class>
</Module>

至 C:\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.5.0\conf\vod\Application.xml

但是当我运行此代码时,它会在播放器中给出以下消息

“找不到可播放资源”

为什么视频无法播放?

最佳答案

我没有将任何 jar 文件放入 wowza lib 文件夹中,这导致了问题。 创建我的应用程序的 jar 文件并将其放入 lib 文件夹后,它可以正常工作。

关于html - 哇扎 : Video could not played when using dynamic smil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38851570/

相关文章:

javascript - 如何更改视频js中bigPlayButton的内容?

html - 如何在 Linux 中使用 GUI 构建器为 Html 表单提供干净的代码?就像在 Windows 中使用 Dreamweaver 一样

php - 链接 ajax 选择框

javascript - HTML Canvas 用动画将圆从 a 移动到 b

html - 如果元素在父元素之外,则隐藏该元素

java - 多对多关系返回空集合

videojs html5 视频检索相对于实时内容的绝对时间

java - JPA - 按周数获取实体 - Java EE

java - 在无状态ejb中使用静态最终映射来保存状态可以吗?

video.js - 带有 hls 插件的 videojs : how to limit retries