コード例 #1
0
 /// <summary>
 /// 获取媒体文件的信息
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public GetMediaInfoResult GetMediaInfo(GetMediaInfoRequest request)
 {
     return(Execute(request, new GetMediaInfoResult()));
 }
コード例 #2
0
        public void TestGetMediaInfo()
        {
            try
            {
                string key = videoKey;
                GetMediaInfoRequest request = new GetMediaInfoRequest(bucket, key);
                GetMediaInfoResult  result  = QCloudServer.Instance().cosXml.GetMediaInfo(request);
                Assert.AreEqual(result.httpCode, 200);
                // 查看视频文件媒体参数是否成功获取
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Index);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.CodecName);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.CodecLongName);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.CodecTagString);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.CodecTag);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Profile);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Width);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Height);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.HasBFrame);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.RefFrames);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Sar);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Dar);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.PixFormat);
                //Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.FieldOrder);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Level);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Fps);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.AvgFps);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Timebase);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.StartTime);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Duration);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Bitrate);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.NumFrames);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Video.Language);

                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.Index);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.CodecName);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.CodecLongName);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.CodecTimeBase);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.CodecTagString);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.CodecTag);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.SampleFmt);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.SampleRate);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.Channel);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.ChannelLayout);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.Timebase);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.StartTime);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.Duration);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.Bitrate);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Audio.Language);

                Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Subtitle);
                //Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Subtitle.Index);
                //Assert.NotNull(result.mediaInfoResult.MediaInfo.Stream.Subtitle.Language);

                Assert.NotNull(result.mediaInfoResult.MediaInfo.Format);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Format.NumStream);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Format.NumProgram);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Format.FormatName);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Format.FormatLongName);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Format.StartTime);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Format.Duration);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Format.Bitrate);
                Assert.NotNull(result.mediaInfoResult.MediaInfo.Format.Size);
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Console.WriteLine("CosClientException: " + clientEx.Message);
                Assert.Fail();
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                Assert.Fail();
            }
        }