/// <summary> /// 获取媒体文件的信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public GetMediaInfoResult GetMediaInfo(GetMediaInfoRequest request) { return(Execute(request, new GetMediaInfoResult())); }
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(); } }