1"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[5585],{11470:(e,n,t)=>{t.d(n,{A:()=>y});var r=t(96540),s=t(34164),a=t(23104),o=t(56347),l=t(205),i=t(57485),u=t(31682),c=t(89466);function d(e){return r.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){const{values:n,children:t}=e;return(0,r.useMemo)(()=>{const e=n??function(e){return d(e).map(({props:{value:e,label:n,attributes:t,default:r}})=>({value:e,label:n,attributes:t,default:r}))}(t);return function(e){const n=(0,u.X)(e,(e,n)=>e.value===n.value);if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}function h({value:e,tabValues:n}){return n.some(n=>n.value===e)}function v({queryString:e=!1,groupId:n}){const t=(0,o.W6)(),s=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,i.aZ)(s),(0,r.useCallback)(e=>{if(!s)return;const n=new URLSearchParams(t.location.search);n.set(s,e),t.replace({...t.location,search:n.toString()})},[s,t])]}function m(e){const{defaultValue:n,queryString:t=!1,groupId:s}=e,a=p(e),[o,i]=(0,r.useState)(()=>function({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!h({value:e,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const t=n.find(e=>e.default)??n[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:a})),[u,d]=v({queryString:t,groupId:s}),[m,f]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[t,s]=(0,c.Dv)(n);return[t,(0,r.useCallback)(e=>{n&&s.set(e)},[n,s])]}({groupId:s}),b=(()=>{const e=u??m;return h({value:e,tabValues:a})?e:null})();(0,l.A)(()=>{b&&i(b)},[b]);return{selectedValue:o,selectValue:(0,r.useCallback)(e=>{if(!h({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);i(e),d(e),f(e)},[d,f,a]),tabValues:a}}var f=t(92303);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=t(74848);function g({className:e,block:n,selectedValue:t,selectValue:r,tabValues:o}){const l=[],{blockElementScrollPositionUntilNextRender:i}=(0,a.a_)(),u=e=>{const n=e.currentTarget,s=l.indexOf(n),a=o[s].value;a!==t&&(i(n),r(a))},c=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const t=l.indexOf(e.currentTarget)+1;n=l[t]??l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;n=l[t]??l[l.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":n},e),children:o.map(({value:e,label:n,attributes:r})=>(0,x.jsx)("li",{role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:e=>l.push(e),onKeyDown:c,onClick:u,...r,className:(0,s.A)("tabs__item",b.tabItem,r?.className,{"tabs__item--active":t===e}),children:n??e},e))})}function j({lazy:e,children:n,selectedValue:t}){const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=s.find(e=>e.props.value===t);return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:s.map((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==t}))})}function T(e){const n=m(e);return(0,x.jsxs)("div",{className:(0,s.A)("tabs-container",b.tabList),
1children:[(0,x.jsx)(g,{...n,...e}),(0,x.jsx)(j,{...n,...e})]})}function y(e){const n=(0,f.A)();return(0,x.jsx)(T,{...e,children:d(e.children)},String(n))}},19365:(e,n,t)=>{t.d(n,{A:()=>o});t(96540);var r=t(34164);const s={tabItem:"tabItem_Ymn6"};var a=t(74848);function o({children:e,hidden:n,className:t}){return(0,a.jsx)("div",{role:"tabpanel",className:(0,r.A)(s.tabItem,t),hidden:n,children:e})}},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var r=t(96540);const s={},a=r.createContext(s);function o(e){const n=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(a.Provider,{value:n},e.children)}},94992:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>u,toc:()=>d});var r=t(74848),s=t(28453),a=t(11470),o=t(19365);const l={id:"status",title:"Step 3 - Check Video Status",sidebar_label:"Step 3 - Check video status"},i=void 0,u={id:"server/upload/status",title:"Step 3 - Check Video Status",description:"To find the status of your video you can send an HTTP GET request to",source:"@site/docs/server/upload/status.md",sourceDirName:"server/upload",slug:"/server/upload/status",permalink:"/docs/server/upload/status",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{id:"status",title:"Step 3 - Check Video Status",sidebar_label:"Step 3 - Check video status"},sidebar:"server",previous:{title:"Step 2 - Upload from browser",permalink:"/docs/server/upload/browser"},next:{title:"Overview",permalink:"/docs/server/videomanagement/tags"}},c={},d=[{value:"Sample Code for Video List",id:"sample-code-for-video-list",level:2}];function p(e){const n={code:"code",em:"em",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["To find the status of your video you can send an ",(0,r.jsx)(n.strong,{children:"HTTP GET"})," request to"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"https://dev.vdocipher.com/api/videos/{{videoID}}\n"})}),"\n",(0,r.jsx)(n.p,{children:"The following are the status values that may be returned:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Pre-Upload - Upload policy has been returned (Step 1 is successful), but file is not yet uploaded (Step 2 not yet complete)"}),"\n",(0,r.jsx)(n.li,{children:"Queued - Video has been uploaded and is being encoded and encrypted (Step 1 and Step 2 complete)"}),"\n",(0,r.jsx)(n.li,{children:"ready - Video is ready for playback"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Apart from video status, the video contains all details of the video. These include title, description, video upload time, video length, poster image URLs and associated tags."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:'{\n "id": "1234567890",\n "title": "zoo.mp4",\n "description": "",\n "upload_time": 15197xxxxx,\n "length": 25,\n "status": "ready",\n "posters": [\n {\n "width": 854,\n "height": 480,\n "posterUrl": "https://d1z78r8i505acl.cloudfront.net/poster/123456.480.jpeg"\n },\n {\n "width": 427,\n "height": 240,\n "posterUrl": "https://d1z78r8i505acl.cloudfront.net/poster/123456.240.jpeg"\n }\n ],\n "tags": [\n "abcd",\n "mnop"\n ]\n}\n'})}),"\n",(0,r.jsx)(n.h2,{id:"sample-code-for-video-list",children:"Sample Code for Video List"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.em,{children:"The sample video ID is written as {{videoID}}. Replace this with your video ID."})}),"\n",(0,r.jsxs)(a.A,{defaultValue:"sh",values:[{label:"CURL",value:"sh"},{label:"NODE",value:"js"},{label:"PHP",value:"php"},{label:"C#",value:"cs"},{label:"Python",value:"py"},{label:"Ruby",value:"rb"}],children:[(0,r.jsx)(o.A,{value:"sh",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sh",children:"curl -X GET \\\n https://dev.vdocipher.com/api/videos/{{videoID}} \\\n -H 'Accept: application/json'\n"})})}),(0,r.jsx)(o.A,{value:"js",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"var request = require('request');\n\nvar options = {\n method: 'GET',\n url: 'https://dev.vdocipher.com/api/videos/{{videoID}}',\n headers: {Accept: 'application/json'},\n};
1\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"})})}),(0,r.jsx)(o.A,{value:"php",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-php",children:'<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n CURLOPT_URL => "https://dev.vdocipher.com/api/videos/{{videoID}}",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => "",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => "GET",\n CURLOPT_HTTPHEADER => array(\n "Accept: application/json"\n ),\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo "cURL Error #:" . $err;\n} else {\n echo $response;\n}\n'})})}),(0,r.jsx)(o.A,{value:"cs",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-cs",children:'var client = new RestClient("https://dev.vdocipher.com/api/videos/{{videoID}}");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader("Accept", "application/json");\nIRestResponse response = client.Execute(request);\n'})})}),(0,r.jsx)(o.A,{value:"py",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-python",children:'import requests\n\nurl = "https://dev.vdocipher.com/api/videos/{{videoID}}"\n\nheaders = {\n \'Accept\': "application/json"\n}\n\nresponse = requests.request("GET", url, headers=headers)\n\nprint(response.text)\n'})})}),(0,r.jsx)(o.A,{value:"rb",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:"require 'uri'\nrequire 'net/http'\n\nurl = URI(\"https://dev.vdocipher.com/api/videos/{{videoID}}\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Accept\"] = 'application/json'\n\nresponse = http.request(request)\nputs response.read_body\n"})})})]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.