Search in sources :

Example 11 with CreateLiveChannelRequest

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());
    }
}
Also used : LiveChannelInfo(com.aliyun.oss.model.LiveChannelInfo) CreateLiveChannelRequest(com.aliyun.oss.model.CreateLiveChannelRequest) OSSException(com.aliyun.oss.OSSException) ParseException(java.text.ParseException) Test(org.junit.Test)

Example 12 with CreateLiveChannelRequest

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());
    }
}
Also used : CreateLiveChannelResult(com.aliyun.oss.model.CreateLiveChannelResult) LiveChannelInfo(com.aliyun.oss.model.LiveChannelInfo) CreateLiveChannelRequest(com.aliyun.oss.model.CreateLiveChannelRequest) LiveChannelTarget(com.aliyun.oss.model.LiveChannelTarget) OSSException(com.aliyun.oss.OSSException) ParseException(java.text.ParseException) Test(org.junit.Test)

Example 13 with CreateLiveChannelRequest

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());
    }
}
Also used : LiveChannelInfo(com.aliyun.oss.model.LiveChannelInfo) CreateLiveChannelRequest(com.aliyun.oss.model.CreateLiveChannelRequest) OSSException(com.aliyun.oss.OSSException) ParseException(java.text.ParseException) Test(org.junit.Test)

Example 14 with CreateLiveChannelRequest

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());
    }
}
Also used : CreateLiveChannelRequest(com.aliyun.oss.model.CreateLiveChannelRequest) LiveChannelStat(com.aliyun.oss.model.LiveChannelStat) OSSException(com.aliyun.oss.OSSException) ParseException(java.text.ParseException) Ignore(org.junit.Ignore)

Aggregations

OSSException (com.aliyun.oss.OSSException)14 CreateLiveChannelRequest (com.aliyun.oss.model.CreateLiveChannelRequest)14 ParseException (java.text.ParseException)13 Test (org.junit.Test)12 LiveChannelInfo (com.aliyun.oss.model.LiveChannelInfo)6 LiveChannelTarget (com.aliyun.oss.model.LiveChannelTarget)3 CreateLiveChannelResult (com.aliyun.oss.model.CreateLiveChannelResult)2 LiveChannelStat (com.aliyun.oss.model.LiveChannelStat)2 LiveRecord (com.aliyun.oss.model.LiveRecord)2 Ignore (org.junit.Ignore)2 ListLiveChannelsRequest (com.aliyun.oss.model.ListLiveChannelsRequest)1 LiveChannel (com.aliyun.oss.model.LiveChannel)1 LiveChannelListing (com.aliyun.oss.model.LiveChannelListing)1