Expression Encoder 4 SDK Live Smooth Streaming [英] Expression Encoder 4 SDK Live Smooth Streaming

查看:64
本文介绍了Expression Encoder 4 SDK Live Smooth Streaming的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我们正在使用EE4 SDK升级我们用于制作网络广播的实时编码工具。

we are using EE4 SDK to upgrade our live encoding tools we use to produce webcasts.

我们我想使用EE4 SDK来开发定制编码器。

We want to use live smooth streaming for future webcasts and we are using EE4 SDK to develop a custom encoder.

Everithing正在进行:我们可以预览Osprey 240e节目视频和由编码器,我们可以使用最新的Smooth Streaming Player SDK观看流。

Everithing is going on: we can preview the Osprey 240e program video and the output produced by the encoder, and we can watch the stream with the latest Smooth Streaming Player SDK.

我认为直播流媒体场景中sdk只缺少一件事:

I think that only one thing is missing from the sdk in live smooth streaming scenario:

我们使用liveJob.SendScriptCommand(actualScript)将实时脚本发送给观看客户端(例如在实时事件期间检索图像或其他信息)但似乎在实时平滑流式传输过程中没有实现它们SDK
引发"未设置为对象实例的对象引用"。具有以下堆栈跟踪:

we use liveJob.SendScriptCommand(actualScript) to send live scripting to watching clients (for example to retrieve an image or other informations during the live event) but it seems they are not implemeneted during Live Smooth Streaming infact the SDK raises an "Object reference not set to an instance of an Object" with the following stack trace:

在System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo)

  在System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)

  在ThrowHRESULT(Int32小时)

   at MS.Internal.Expression.Encoder.Live.LiveEncode.SendScriptCommand(String type,String command)

  在Microsoft.Expression.Encoder.Live.LiveJob.SendScriptCommand(ScriptCommand命令)

  在LiveSmoothStreaming.MainWindow.scriptTimer_Tick(对象发件人,EventArgs e)中的D:\ Users \Administrator \Desktop \ LiveSmoothStreaming \ MainWindow.xaml.cs:第59行¥b $ b  在System.Windows.Threading.DispatcherTimer.FireTick(未使用的对象)

  在System.Windows.Threading.ExceptionWrapper.InternalRealCall(委托回调,对象args,Int32 numArgs)

   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source,Delegate method,Object args,Int32 numArgs,Delegate catchHandler)

  在System.Windows.Threading.DispatcherOperation.InvokeImpl()

  在System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(对象状态)

   at System.Threading.ExecutionContext.runTryCode(Object userData)

  在System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode代码,CleanupCode backoutCode,Object userData)

  在System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback回调,对象状态)

   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback callback,Object state,Boolean ignoreSyncCtx)

  在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,对象状态)

  在System.Windows.Threading.DispatcherOperation.Invoke()

  在System.Windows.Threading.Dispatcher.ProcessQueue()

  在System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd,Int32 msg,IntPtr wParam,IntPtr lParam,Boolean& handling)

  在MS.Win32.HwndWrapper.WndProc(IntPtr hwnd,Int32 msg,IntPtr wParam,IntPtr lParam,Boolean& processed)

  在MS.Win32.HwndSubclass.DispatcherCallbackOperation(对象o)

  在System.Windows.Threading.ExceptionWrapper.InternalRealCall(委托回调,对象args,Int32 numArgs)

   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source,Delegate method,Object args,Int32 numArgs,Delegate catchHandler)

  在System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority,TimeSpan timeout,Delegate方法,Object args,Int32 numArgs)

  在MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd,Int32 msg,IntPtr wParam,IntPtr lParam)

  在MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)

  在System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame框架)

  在System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame框架)

  在System.Windows.Threading.Dispatcher.Run()

  在System.Windows.Application.RunDispatcher(对象忽略)

  在System.Windows.Application.RunInternal(窗口窗口)

  在System.Windows.Application.Run(窗口窗口)

  在System.Windows.Application.Run()

  在LiveSmoothStreaming.App.Main()在D:\ Users \Administrator \Desktop \ LiveSmoothStreaming \obj \ x86 \Debug \ App.g.cs:第0行¥b $ b   在System.AppDomain._nExecuteAssembly(RuntimeAssembly程序集,String [] args)

  在System.AppDomain.ExecuteAssembly(String assemblyFile,Evidence assemblySecurity,String [] args)

  在Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()

   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)

   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback callback,Object state,Boolean ignoreSyncCtx)

  在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,对象状态)

  在System.Threading.ThreadHelper.ThreadStart()

at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
   at ThrowHRESULT(Int32 hr)
   at MS.Internal.Expression.Encoder.Live.LiveEncode.SendScriptCommand(String type, String command)
   at Microsoft.Expression.Encoder.Live.LiveJob.SendScriptCommand(ScriptCommand command)
   at LiveSmoothStreaming.MainWindow.scriptTimer_Tick(Object sender, EventArgs e) in D:\Users\Administrator\Desktop\LiveSmoothStreaming\MainWindow.xaml.cs:line 59
   at System.Windows.Threading.DispatcherTimer.FireTick(Object unused)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at System.Windows.Application.Run()
   at LiveSmoothStreaming.App.Main() in D:\Users\Administrator\Desktop\LiveSmoothStreaming\obj\x86\Debug\App.g.cs:line 0
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

如果我们遗漏某些内容或在这种情况下没有实现脚本,请告知我们。

Please let us know if we are missing something or scripts are not implemented in this kind of scenario.

问候

Angelo

 

推荐答案

Expression Enoder目前不支持向实时流畅的流式广播添加脚本。 这是我们正在考虑的未来版本。

Expression Enoder currently doesn't support adding scripts to a live smooth streaming broadcast.  It is something we are looking at for future releases.

Brian


这篇关于Expression Encoder 4 SDK Live Smooth Streaming的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆