Beispiel #1
0
        public JsonResult Clip(string clipData)
        {
            try
            {
                JObject clip      = JObject.Parse(clipData);
                string  clipName  = clip["name"].ToString();
                string  clipType  = clip["output"]["type"].ToString();
                string  authToken = HomeController.GetAuthToken(Request, Response);
                using (MediaClient mediaClient = new MediaClient(authToken))
                {
                    switch (clipType)
                    {
                    case "filter":
                        string assetId        = clip["inputsIds"][0]["id"].ToString();
                        JToken timeRange      = clip["output"]["filter"]["PresentationTimeRange"];
                        long   timescale      = (long)timeRange["Timescale"];
                        long   startTimestamp = (long)timeRange["StartTimestamp"];
                        long   endTimestamp   = (long)timeRange["EndTimestamp"];
                        mediaClient.CreateFilter(assetId, clipName, timescale, startTimestamp, endTimestamp);
                        break;

                    case "rendered":
                        break;
                    }
                }
                return(Json(true));
            }
            catch (ApiErrorException ex)
            {
                return(new JsonResult(ex.Response.Content)
                {
                    StatusCode = (int)ex.Response.StatusCode
                });
            }
            //MediaJobInput[] jobInputs = GetJobInputs(clip);
            //if (jobInputs[0].AssetFilter)
            //{
            //    string filterName = clip["name"].ToString();
            //    string assetId = jobInputs[0].AssetId;
            //    //clipOutput = MediaClient.CreateFilter()
            //}
            //else
            //{
            //    MediaJobTask jobTask = new MediaJobTask()
            //    {
            //        MediaProcessor = MediaProcessor.EncoderStandard,
            //        ProcessorConfig = clip["output"]["job"].ToString()
            //    };
            //    MediaJob mediaJob = new MediaJob()
            //    {
            //        Name = clip["name"].ToString(),
            //        NodeType = MediaJobNodeType.Premium,
            //        Tasks = new MediaJobTask[] { jobTask }
            //    };
            //    string directoryId = homeController.GetDirectoryId(this.Request);
            //    mediaJob = MediaClient.GetJob(authToken, mediaClient, mediaJob, jobInputs.ToArray());
            //    clipOutput = Workflow.SubmitJob(directoryId, authToken, mediaClient, mediaJob, jobInputs.ToArray());
            //}
        }
Beispiel #2
0
        public JsonResult clip(int clipMode, string clipName, string sourceUrl, int markIn, int markOut)
        {
            string      authToken   = homeController.GetAuthToken(this.Request, this.Response);
            MediaClient mediaClient = new MediaClient(authToken);

            if (string.IsNullOrEmpty(clipName))
            {
                clipName = Guid.NewGuid().ToString();
            }
            object result;

            if (clipMode == Constants.Media.RenderedClipMode)
            {
                result = Workflow.SubmitJob(mediaClient, sourceUrl);
            }
            else
            {
                result = mediaClient.CreateFilter(sourceUrl, clipName, markIn, markOut);
            }
            return(Json(result));
        }