閱讀738 返回首頁    go 魔獸


媒體詳細信息__媒體庫管理_開發人員指南_視頻點播-阿裏雲

返回:簡介 >>

媒體庫管理-媒體詳細信息-示例代碼-PHP

  • 簡介

    SDK的安裝和使用,參考媒體庫SDK-PHP

    一個媒體包含一個輸入文件和若幹輸出文件。輸入除了基本信息之外,還有詳細的媒體信息。輸出可以查詢視頻截圖的詳細信息。

  • 輸入

    • 媒體信息

      1. include_once 'aliyun-php-sdk-core/Config.php';
      2. use MtsRequestV20140618 as Mts;
      3. $accessKeyID = 'test'; // 替換成真實的id
      4. $accessKeySecret = 'test'; // 替換成真實的secret
      5. $profile = DefaultProfile::getProfile('cn-hangzhou',
      6. $accessKeyID,
      7. $accessKeySecret);
      8. $client = new DefaultAcsClient($profile);
      1. function queryMedia($client, $mediaID)
      2. {
      3. $request = new MtsQueryMediaListRequest();
      4. $request->setAcceptFormat('JSON');
      5. $request->setMediaIds($mediaID);
      6. $request->setIncludeMediaInfo("true");
      7. $response = $client->getAcsResponse($request);
      8. return $response;
      9. }
      10. function printMediaInfo($mediaInfo)
      11. {
      12. print_r('Number of Streams: '.$mediaInfo->{'Format'}->{'NumStreams'}."n");
      13. if (array_key_exists('Streams', $mediaInfo) &&
      14. array_key_exists('AudioStreamList', $mediaInfo->{'Streams'}) &&
      15. array_key_exists('AudioStream', $mediaInfo->{'Streams'}->{'AudioStreamList'})) {
      16. $audioStreams = $mediaInfo->{'Streams'}->{'AudioStreamList'}->{'AudioStream'};
      17. print_r('Audio Streams:'."n");
      18. for ($i = 0; $i < count($audioStreams); $i++) {
      19. print_r("t[".$i."]"."n");
      20. print_r("ttCodecName: ".$audioStreams[$i]->{'CodecName'}."n");
      21. print_r("ttChannels: ".$audioStreams[$i]->{'Channels'}."n");
      22. print_r("ttSamplerate: ".$audioStreams[$i]->{'Samplerate'}."n");
      23. print_r("ttDuration: ".$audioStreams[$i]->{'Duration'}."n");
      24. print_r("ttBitrate: ".$audioStreams[$i]->{'Bitrate'}."n");
      25. }
      26. }
      27. if (array_key_exists('Streams', $mediaInfo) &&
      28. array_key_exists('VideoStreamList', $mediaInfo->{'Streams'}) &&
      29. array_key_exists('VideoStream', $mediaInfo->{'Streams'}->{'VideoStreamList'})) {
      30. $videoStreams = $mediaInfo->{'Streams'}->{'VideoStreamList'}->{'VideoStream'};
      31. print_r('Video Streams:'."n");
      32. for ($i = 0; $i < count($videoStreams); $i++) {
      33. print_r("t[".$i."]"."n");
      34. print_r("ttCodecName: ".$videoStreams[$i]->{'CodecName'}."n");
      35. print_r("ttProfile: ".$videoStreams[$i]->{'Profile'}."n");
      36. print_r("ttDuration: ".$videoStreams[$i]->{'Duration'}."n");
      37. print_r("ttPixFmt: ".$videoStreams[$i]->{'PixFmt'}."n");
      38. print_r("ttFps: ".$videoStreams[$i]->{'Fps'}."n");
      39. print_r("ttBitrate: ".$videoStreams[$i]->{'Bitrate'}."n");
      40. print_r("ttResolution: ".$videoStreams[$i]->{'Width'}.'x'.$videoStreams[$i]->{'Height'}."n");
      41. }
      42. }
      43. }
      44. $mediaID = 'test'; // 替換成真實的mediaID
      45. $medias = queryMedia($client, $mediaID)->{'MediaList'}->{'Media'};
      46. for ($i = 0; $i < count($medias); $i++) {
      47. printMediaInfo($medias[$i]->{'MediaInfo'});
      48. }
  • 輸出

    • 視頻

      1. function queryMedia($client, $mediaID)
      2. {
      3. $request = new MtsQueryMediaListRequest();
      4. $request->setAcceptFormat('JSON');
      5. $request->setMediaIds($mediaID);
      6. $request->setIncludePlayList("true");
      7. $response = $client->getAcsResponse($request);
      8. return $response;
      9. }
      10. function printOutputVideos($videos)
      11. {
      12. print_r('Number of Output Video: '.count($videos)."n");
      13. for ($i = 0; $i < count($videos); $i++) {
      14. print_r("t[".$i."]"."n");
      15. print_r("ttMediaWorkflowName: ".$videos[$i]->{'MediaWorkflowName'}."n");
      16. print_r("ttActivityName: ".$videos[$i]->{'ActivityName'}."n");
      17. print_r("ttFormat: ".$videos[$i]->{'Format'}."n");
      18. print_r("ttDuration: ".$videos[$i]->{'Duration'}."n");
      19. print_r("ttFps: ".$videos[$i]->{'Fps'}."n");
      20. print_r("ttBitrate: ".$videos[$i]->{'Bitrate'}."n");
      21. print_r("ttSize: ".$videos[$i]->{'Size'}."n");
      22. print_r("ttResolution: ".$videos[$i]->{'Width'}.'x'.$videos[$i]->{'Height'}."n");
      23. print_r("ttURL: ".$videos[$i]->{'File'}->{'URL'}."n");
      24. }
      25. }
      26. $mediaID = 'test'; // 替換成真實的mediaID
      27. $medias = queryMedia($client, $mediaID)->{'MediaList'}->{'Media'};
      28. for ($i = 0; $i < count($medias); $i++) {
      29. printOutputVideos($medias[$i]->{'PlayList'}->{'Play'});
      30. }
    • 截圖

      1. function queryMedia($client, $mediaID)
      2. {
      3. $request = new MtsQueryMediaListRequest();
      4. $request->setAcceptFormat('JSON');
      5. $request->setMediaIds($mediaID);
      6. $request->setIncludeSnapshotList("true");
      7. $response = $client->getAcsResponse($request);
      8. return $response;
      9. }
      10. function printOutputSnapshots($snapshots)
      11. {
      12. print_r('Number of Output Snapshot: '.count($snapshots)."n");
      13. for ($i = 0; $i < count($snapshots); $i++) {
      14. print_r("t[".$i."]"."n");
      15. print_r("ttMediaWorkflowName: ".$snapshots[$i]->{'MediaWorkflowName'}."n");
      16. print_r("ttActivityName: ".$snapshots[$i]->{'ActivityName'}."n");
      17. print_r("ttType: ".$snapshots[$i]->{'Type'}."n");
      18. print_r("ttCount: ".$snapshots[$i]->{'Count'}."n");
      19. print_r("ttURL: ".$snapshots[$i]->{'File'}->{'URL'}."n");
      20. }
      21. }
      22. $mediaID = 'test'; // 替換成真實的mediaID
      23. $medias = queryMedia($client, $mediaID)->{'MediaList'}->{'Media'};
      24. for ($i = 0; $i < count($medias); $i++) {
      25. printOutputSnapshots($medias[$i]->{'SnapshotList'}->{'Snapshot'});
      26. }

返回:簡介 >>

最後更新:2016-11-15 17:47:18

  上一篇:go 視頻基本屬性__媒體庫管理_開發人員指南_視頻點播-阿裏雲
  下一篇:go 標簽管理__媒體庫管理_開發人員指南_視頻點播-阿裏雲