Has anyone managed to stream from Atem Mini Pro to AWS MediaLive?
This works fine from OBS, but will not work from the Atem with a customised streaming.xml file.
I have previously customised streaming.xml to work Atem > Wowza. So I know it should work. But the red ON AIR message just flashes and it will not connect.
I have tried changing the MediaLive input codec to AVC/MPEG2, but no joy. Can anyone please help?
Thank you!
A. Create a MediaLive RTMP Push input.
Set the Input Security Group
Set the Application Name and the Application Instance. The Application Instance is also called the Stream Key or Streaming Key
Press the Create button
The console will now display the endpoint(s) created for the input.
As an example set the Application Name to 'live' and the Application Instance to 'AtemPro_1'
You would see the RTMP input endpoint then defined as 'rtmp://<IP_Addr>:1935/live/AtemPro_1'
The stream URL used in the streaming.xml file will be the portion 'rtmp://<IP_Addr>:1935/live/', i.e. rtmp://Addr:Port/ApplicationName/
B. Edit the Atem Streaming.xml file.
Locate the Streaming.XML file
Mac location: /Library/Application Support/Blackmagic Design/Switchers/Streaming.XML
Windows location: C:\Program Files (x86)\Blackmagic Design\Blackmagic ATEM Switchers\ATEM Software Control\Streaming.XML
Make a copy of the Streaming.XML file, to ensure you have a backup to fall back on if you make a mistake.
Open the file in a text editor and edit the parameters - see below for an example
Save the document, and back it up — every time you update your ATEM software, this file will be overwritten
Quit and relaunch the ATEM Software - this reloads the Streaming.xml file in to the switcher.
Select the service that you just created, select the server that was created, select the appropriate quality, enter the streaming key, then start the MediaLive channel and then the stream.
Example Streaming.XML file:
<streaming>
<service>
<name>AWS MediaLive</name>
<servers>
<server>
<name>Primary</name>
<url>rtmp://<IP_Addr>:1935/live</url>
</server>
</servers>
<profiles>
<profile>
<name>Streaming 1080p30 6M Audio 128k</name>
<config resolution="1080p" fps="30">
<bitrate>6000000</bitrate>
<audio-bitrate>128000</audio-bitrate>
<keyframe-interval>2</keyframe-interval>
</config>
</profile>
<profile>
<name>Streaming 720p60 6M Audio 128k</name>
<config resolution="720p" fps="60">
<bitrate>6000000</bitrate>
<audio-bitrate>128000</audio-bitrate>
<keyframe-interval>2</keyframe-interval>
</config>
</profile>
</profiles>
</service>
</streaming>
You can define any number of profiles from which you can then select one for the specific event.
C. Configure the event.
Once the file has been edited and saved, simply restart the ATEM Software Control application, and select the Output Tab, then select the Platform, which in the example above is called "AWS MediaLive". Select the Server (Called Primary in the example), set the Stream Key to the Application Instance you defined when creating the MediaLive Input, and finally select the profile to be used.
To start streaming to MediaLive, either:
press the ON AIR button (top right) on the ATEM Mini Pro
click the ON AIR button on the software
If everything is correct, then the ON AIR button on the ATEM Mini Pro will go RED, and the software will show ON AIR, with the time code incrementing.
If any of the parameters are incorrect, say the key is invalid, then the ON AIR will flash, and the timecode will not increment.
Note that the MediaLive channel must be in the Running state before the RTMP session handshake can complete between the Atem and the MediaLive channel. Therefore, start the MediaLive channel, and once shown to be in the running state only then start streaming on the Atem.
Silverink
We've successfully tested Atem Mini Pro - RTMP - MediaLive. Looking at your update, the issue may be one of two things:
Did you copy the Application Instance as defined in the MediaLive Input to the Key field (between the Server and Quality fields) in the Atem streaming SW? Note this field is case sensitive and must match exactly the field as entered in the MediaLive Input.
Did you define an Input Security Group in the MediaLive console that allows for traffic from the WAN IP address of your Atem Mini Pro. You want to test with an ISG set to 0.0.0.0/0, just to see if this is the issue, and then when that works tighten it down to a specific address/address range to make the workflow more secure. It is not recommended to run a production workflow with such an open ISG...
If both of these are correct then we will need more detailed info from you to allow us to troubleshoot your MediaLive channel to see what issues it reports. This is not info we can request in an open forum such as this. I would suggest then to either open a ticker from the Support Center that is available in the top-right corner of the MediaLive console. Or you can post a question in the AWS Elemental MediaLive forum (https://forums.aws.amazon.com/forum.jspa?forumID=269), and someone from support will reach out to ask for the specific information needed.
Related
We are trying to receive customer calls through Amazon Connect and leave messages in Amazon Kinesis.
When we call Amazon Connect from our cell phones, the voice plays the expected message and the Beep tone sounds as expected. But then the call ends and we cannot leave a message. We tried removing Wait and Stop media streaming but the problem persisted. What are we doing wrong?
Set Voice: OK
Play prompt(Message): OK
Play prompt(Beep): OK
Start media streaming: NG
If you have a simple, easy to understand sample for this application, let me know!
Looks like the problem is your Wait block. Wait isn't supported for voice calls, so immediately errors.
Replace the Wait block with a Get Customer Input block. Use Text to speech for the prompt, Set the prompt value manually to <speak></speak> and set Interpret as to SSML. Set it to detect DTMF and set the timeout to however long the message is allowed to be. From your flow above that is 10 seconds.
This should get the customers voice sent to the Kinesis stream and you can process the stream from there.
There is a really thorough implementation guide for voice mail here. I've used this then altered it to suite my exact needs in the past.
I'm attempting to create a dashboard for admins to allow them to reset a chrome device managed by GoogleAdmin using google apps script.
I don't see any way to perform a reset using Admin SDK API. Can this be done?
If you want to deprovision and/or disable a ChromeOS device
The supported actions when using the Directory API, according to the documentation here are:
deprovision: Remove a device from management that is no longer active, being resold, or is being submitted for return / repair, use the deprovision action to dissociate it from management.
disable: If you believe a device in your organization has been lost or stolen, you can disable the device so that no one else can use it. When a device is disabled, all the user can see when turning on the Chrome device is a screen telling them that it’s been disabled, and your desired contact information of where to return the device.
Taking this into account, this is how the request would look like:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customerId}/devices/chromeos/{resourceId}/action
If you want to reboot and/or remote powerwash a ChromeOS device
However, if you simply plan on doing a powerwash or a reboot, you can make use of the below information:
REBOOT: Reboot the device. Can only be issued to Kiosk and managed guest session devices.
REMOTE_POWERWASH: Wipes the device by performing a power wash. Executing this command in the device will remove all data including user policies, device policies and enrollment policies.
Warning: This will revert the device back to a factory state with no enrollment unless the device is subject to forced or auto enrollment. Use with caution, as this is an irreversible action!
Taking this into account, this is how the request would look like:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}:issueCommand
Apps Script
As for applying any of these in Apps Script, you will have to add the Admin SDK API advanced service and choose the directory _v1 version and simulate any of the above requests.
Code
Assuming you want to remote powerwash a device, you will have to write something similar to this:
let resource = {
YOUR_RESOURCE_HERE;
"commandType": "REMOTE_POWERWASH"
};
let customerId = 'CUSTOMER_ID';
let deviceId = 'DEVICE_ID';
AdminDirectory.Customer.Devices.Chromeos.issueCommand(resource, customerId, deviceId);
Not what you are looking for?
You can simply create a feature request on Google's Issue Tracker and provide the details with regards to your task by filling in the form here.
Reference
Directory API Manage ChromeOS Devices.
I have a MediaLive channel with attached input and OBS streaming into it. An output in several different resolutions saves into a bucket on AWS MediaStore. Everything goes well until eventually, my client loses a connection for a few minutes. During this downtime, MediaLive records a video with a black screen.
1) Can I prevent MediaLive from streaming the "black" video, stop output and wait for the streamer to connect again?
2) Can I replace a black screen with some image as a placeholder to notify users what's happening?
3) Can I trigger somehow when the streamer connects or disconnects from the input?
In the channel settings, there is an option which I suspect to be the answer - Blackout Slate. That's how it looks in the web interface:
The info block states the following:
Setting to enabled causes the encoder to blackout the video, audio, and captions, and raise the "Network Blackout Image" slate when an SCTE104/35 Network End Segmentation Descriptor is encountered. The blackout will be lifted when the Network Start Segmentation Descriptor is encountered. The Network End and Network Start descriptors must contain a network ID that matches the value entered in "Network ID".
But after setting images here everything stays the same - only the black screen with no sign of those placeholders.
On your Output Group settings is a field called Input Loss Action. If you change that from EMIT_OUTPUT to PAUSE_OUTPUT you should get the desired result.
Alternately, you can enable an Input Loss Behavior in the channel's general settings (Global Configuration section) that will allow you to specify either a solid color screen or an input loss image slate, as well as the timing for how long to wait before displaying the slate image.
Regards,
I have install Virtual Machine Manager on windows server 2012 R2 . it installed sucessfuly but the SCVMM service can't be started please check the following log for and the error
when i try to start SCVMM service its endup with the following error
" The System Center Virtual Machine Manager Service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.
"
Log Name: Application
Source: SCVMMService
Date: 11/4/2014 7:58:55 AM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: HC**********
Description:
Service cannot be started. System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at Microsoft.VirtualManager.Remoting.IndigoSerializableObject.BuildKnownAssemblyTypes(Assembly assembly)
at Microsoft.VirtualManager.Remoting.IndigoSerializableObject.InitializeKnownTypesCache(List`1 assembliesToExamine)
at Microsoft.VirtualManager.Engine.Remoting.IndigoServiceHost.InitializeKnownTypesCache()
at Microsoft.VirtualManager.Engine.VirtualManagerService.TimeStartupMethod(String description, TimedStartupMethod methodToTime)
at Microsoft.VirtualManager.Engine.VirtualManagerService.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="SCVMMService" />
<EventID Qualifiers="0">0</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2014-11-04T07:58:55.000000000Z" />
<EventRecordID>10656</EventRecordID>
<Channel>Application</Channel>
<Computer>HC-S*********** </Computer>
<Security />
</System>
<EventData>
<Data>Service cannot be started. System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at Microsoft.VirtualManager.Remoting.IndigoSerializableObject.BuildKnownAssemblyTypes(Assembly assembly)
at Microsoft.VirtualManager.Remoting.IndigoSerializableObject.InitializeKnownTypesCache(List`1 assembliesToExamine)
at Microsoft.VirtualManager.Engine.Remoting.IndigoServiceHost.InitializeKnownTypesCache()
at Microsoft.VirtualManager.Engine.VirtualManagerService.TimeStartupMethod(String description, TimedStartupMethod methodToTime)
at Microsoft.VirtualManager.Engine.VirtualManagerService.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)</Data>
</EventData>
</Event>
Thanks for posting here.
To resolve this issue, review the AD group membership for any circular references and remove them. If the circular reference is not obvious, the script below can list the nested members of a particular group.
NOTE Use Active Directory Users and Computers to determine the top most group of the group causing issues.
dsquery group -name "Group_VMMSSU" | dsget group -members -expand
I hope you have followed these steps before installing SCVMM
High Level Deployment Process:
In AD, create the following accounts and groups, according to your naming convention:
•DOMAIN\scvmmsvc SCVMM Service Account account
•DOMAIN\scvmmadmin SCVMM RunAs account for managing hosts
•DOMAIN\sqlsvc SQL service account
•DOMAIN\SCVMMAdmins SCVMM Administrators security group
Add the “scvmmsvc” and “scvmmadmin” account to the “SCVMMAdmins” global group.
Add the domain user accounts for yourself and your team to the SCVMMAdmins group.
I suggest you to check this link for more details.
http://blogs.technet.com/b/kevinholman/archive/2013/10/18/scvmm-2012-r2-quickstart-deployment-guide.aspx
Girish Prajwal
I had this error and couldn't find an updated answer to the problem.
In my case, I have SCVMM (server AND console) installed on the same machine (i guess this is pretty normal for a first time installation).
I had seen the system working, then I installed all updates offered from Windows Update. After reboot, my service "System Center Virtual Machine Manager" could not start.
Solution was to look in control panel: "Programs and Features". Clicking "installed updates" there was an entry for System Center Console.
This was a rollup 10.
I uninstalled this, now the service is able to start, and I can log on.
Hope this helps someone.
This KB article from Microsoft addresses the issue- https://support.microsoft.com/en-us/kb/3045931
To resolve this issue, complete the update rollup installation by installing the VMM server update package in addition to the console update. Both the VMM server and VMM Admin Console updates must be at compatible version levels. This will typically be the same update rollup level. For example, a VMM Admin Console should be at the VMM UR5 level if the server is also at UR5.
In some instances, there may not be a comparable update for a component. In that case, the component should be updated to the most recent applicable update. For example, if the VMM server is updated to a post-UR5 hotfix, but there is no corresponding hotfix for the VMM Admin Console, the VMM Admin Console should be updated to UR5.
In my case update rollup 11 was the cause for the break. Going in to Programs and Features -> Installed Updates, I noticed that Update rollup 11 for the admin console had installed successfully but Update rollup 11 for the VMM service had failed.
I manually installed the failed update (in my case http://download.microsoft.com/download/7/5/1/7515E3DB-1B43-4E7F-8774-A877CCEAA96E/kb3184831_vmmserver_amd64.msp) and now VMM service is able to start and stay started.
I´m trying to register a manifest based provider using wevtutil and get the following error:
**** Warning: Publisher ExampleProvider resources are not accessible.
So I run wevtutil gp ExampleProvider and get the following message:
Failed to open metadata for publisher ExampleProvider. Access is denied
The user account I´m working with have Administrator privilage and is part of the groups Event Log Readers, Performance Log Users, and Performance Monitor Users.
The manifest file is the same as in this example.
Does anyone know whats wrong?
A side note is that my project folder has read-only flag under properties and when I try to change it does not complain. However, when I open up the properties again it remains read-only.. Can anyone explain that behaviour?
EDIT
I have located the problem area and it is the channel.
In the example manifest created in the tutorial they create a channel like:
<channels>
<channel name="MyChannel" chid="MyChannel" symbol="MyChannel" type="Debug" enabled="true" message="$(string.ExampleProvider.channel.MyChannel.message)">
</channel>
<importChannel name="Application" chid="appchnl">
</importChannel>
</channels>
And when I remove this channel and use default in the event I get no warnings, do I not have access to write events to that channel or something (Application)?