use of com.aliyun.oss.model.CreateLiveChannelRequest in project aliyun-oss-java-sdk by aliyun.
the class RtmpTest method testGeneratePushflowUri.
@Test
public void testGeneratePushflowUri() {
final String liveChannel = "normal-generate-pushflow-uri";
try {
CreateLiveChannelRequest createLiveChannelRequest = new CreateLiveChannelRequest(bucketName, liveChannel);
ossClient.createLiveChannel(createLiveChannelRequest);
ossClient.setBucketAcl(bucketName, CannedAccessControlList.Private);
LiveChannelInfo liveChannelInfo = ossClient.getLiveChannelInfo(bucketName, liveChannel);
Assert.assertEquals(liveChannelInfo.getRequestId().length(), REQUEST_ID_LEN);
// generate rtmp url
long expires = System.currentTimeMillis() / 1000 + 3600;
String uri = ossClient.generateRtmpUri(bucketName, liveChannel, liveChannelInfo.getTarget().getPlaylistName(), expires);
// System.out.println("uri:" + uri);
Assert.assertTrue(uri.startsWith("rtmp://" + bucketName));
Assert.assertTrue(uri.endsWith("playlistName=" + liveChannelInfo.getTarget().getPlaylistName()));
// Manually verify by url, with following cmd.
// ./ffmpeg \-re \-i allstar.flv \-c copy \-f flv "<RTMP_URI>"
// generate without parameters
String uri2 = ossClient.generateRtmpUri(bucketName, liveChannel, liveChannelInfo.getTarget().getPlaylistName(), expires);
Assert.assertEquals(uri, uri2);
ossClient.deleteLiveChannel(bucketName, liveChannel);
} catch (Exception e) {
Assert.fail(e.getMessage());
}
}
use of com.aliyun.oss.model.CreateLiveChannelRequest in project aliyun-oss-java-sdk by aliyun.
the class RtmpTest method testCreateLiveChannel.
@Test
public void testCreateLiveChannel() {
final String liveChannel = "normal-create-live-channel";
final String liveChannelDesc = "my test live channel";
try {
LiveChannelTarget target = new LiveChannelTarget("HLS", 100, 99, "myplaylist.m3u8");
CreateLiveChannelRequest createLiveChannelRequest = new CreateLiveChannelRequest(bucketName, liveChannel, liveChannelDesc, LiveChannelStatus.Disabled, target);
CreateLiveChannelResult createLiveChannelResult = ossClient.createLiveChannel(createLiveChannelRequest);
Assert.assertEquals(createLiveChannelResult.getPublishUrls().size(), 1);
Assert.assertTrue(createLiveChannelResult.getPublishUrls().get(0).startsWith("rtmp://"));
Assert.assertTrue(createLiveChannelResult.getPublishUrls().get(0).endsWith("live/" + liveChannel));
Assert.assertEquals(createLiveChannelResult.getPlayUrls().size(), 1);
Assert.assertTrue(createLiveChannelResult.getPlayUrls().get(0).startsWith("http://"));
Assert.assertTrue(createLiveChannelResult.getPlayUrls().get(0).endsWith(liveChannel + "/myplaylist.m3u8"));
Assert.assertEquals(createLiveChannelResult.getRequestId().length(), REQUEST_ID_LEN);
LiveChannelInfo liveChannelInfo = ossClient.getLiveChannelInfo(bucketName, liveChannel);
Assert.assertEquals(liveChannelInfo.getDescription(), liveChannelDesc);
Assert.assertEquals(liveChannelInfo.getStatus(), LiveChannelStatus.Disabled);
Assert.assertEquals(liveChannelInfo.getTarget().getType(), "HLS");
Assert.assertEquals(liveChannelInfo.getTarget().getFragDuration(), 100);
Assert.assertEquals(liveChannelInfo.getTarget().getFragCount(), 99);
Assert.assertEquals(liveChannelInfo.getTarget().getPlaylistName(), "myplaylist.m3u8");
Assert.assertEquals(liveChannelInfo.getRequestId().length(), REQUEST_ID_LEN);
ossClient.deleteLiveChannel(bucketName, liveChannel);
} catch (Exception e) {
Assert.fail(e.getMessage());
}
}
use of com.aliyun.oss.model.CreateLiveChannelRequest in project aliyun-oss-java-sdk by aliyun.
the class RtmpTest method testSetLiveChannelStatus.
@Test
public void testSetLiveChannelStatus() {
final String liveChannel = "normal-set-live-channel-status";
try {
CreateLiveChannelRequest createLiveChannelRequest = new CreateLiveChannelRequest(bucketName, liveChannel);
ossClient.createLiveChannel(createLiveChannelRequest);
// set disable
ossClient.setLiveChannelStatus(bucketName, liveChannel, LiveChannelStatus.Disabled);
LiveChannelInfo liveChannelInfo = ossClient.getLiveChannelInfo(bucketName, liveChannel);
Assert.assertEquals(liveChannelInfo.getStatus(), LiveChannelStatus.Disabled);
Assert.assertEquals(liveChannelInfo.getRequestId().length(), REQUEST_ID_LEN);
// set enable
ossClient.setLiveChannelStatus(bucketName, liveChannel, LiveChannelStatus.Enabled);
liveChannelInfo = ossClient.getLiveChannelInfo(bucketName, liveChannel);
Assert.assertEquals(liveChannelInfo.getStatus(), LiveChannelStatus.Enabled);
Assert.assertEquals(liveChannelInfo.getRequestId().length(), REQUEST_ID_LEN);
ossClient.deleteLiveChannel(bucketName, liveChannel);
} catch (Exception e) {
Assert.fail(e.getMessage());
}
}
use of com.aliyun.oss.model.CreateLiveChannelRequest in project aliyun-oss-java-sdk by aliyun.
the class RtmpTest method testGetLiveChannelStat.
@Ignore
public void testGetLiveChannelStat() {
final String liveChannel = "normal-get-live-channel-stat";
try {
CreateLiveChannelRequest createLiveChannelRequest = new CreateLiveChannelRequest(bucketName, liveChannel);
ossClient.createLiveChannel(createLiveChannelRequest);
ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicReadWrite);
// Manually enable pusing streaming with following cmd.
// ./ffmpeg \-re \-i allstar.flv \-c copy \-f flv "rtmp://oss-live-channel-2.demo-oss-cn-shenzhen.aliyuncs.com/live/normal-get-live-channel-stat?playlistName=playlist.m3u8"
Thread.sleep(5 * 1000);
LiveChannelStat liveChannelStat = ossClient.getLiveChannelStat(bucketName, liveChannel);
Assert.assertEquals(liveChannelStat.getPushflowStatus(), PushflowStatus.Live);
Assert.assertNotNull(liveChannelStat.getConnectedDate());
Assert.assertTrue(liveChannelStat.getRemoteAddress().length() >= new String("0.0.0.0:0").length());
Assert.assertEquals(liveChannelStat.getVideoStat().getWidth(), 672);
Assert.assertEquals(liveChannelStat.getVideoStat().getHeight(), 378);
Assert.assertEquals(liveChannelStat.getVideoStat().getFrameRate(), 29);
Assert.assertTrue(liveChannelStat.getVideoStat().getBandWidth() > 50000);
Assert.assertEquals(liveChannelStat.getVideoStat().getCodec(), "H264");
Assert.assertTrue(liveChannelStat.getAudioStat().getBandWidth() > 4000);
Assert.assertEquals(liveChannelStat.getAudioStat().getSampleRate(), 22050);
Assert.assertEquals(liveChannelStat.getAudioStat().getCodec(), "AAC");
ossClient.deleteLiveChannel(bucketName, liveChannel);
} catch (Exception e) {
Assert.fail(e.getMessage());
}
}
Aggregations