JSON Animation exported as Video mpeg - node.js

I have a json animation created in AfterEffects, exported with BodyMovin.
https://github.com/bodymovin/bodymovin
Is there any way to take this json file and programmatically transform it in to a video? Basically I am trying to create a JibJab style video, where a user can input a photo of their face and our app will take that face and place it over an animation. I need to transform that animation into a video file that can be saved to the user's phone. Maybe with ffmpeg?

I was able to find free public face tracking software using the Microsoft Face Detection API.
https://code.tutsplus.com/tutorials/how-to-create-a-face-detection-app-with-react-native--cms-26491
We were also able to take individual images, and utilize ffmpeg to generate a video / gift from those images. We went our media up to S3 and utilized an AWS Lambda function to transform media upon upload. It didn't look great, but it kind of worked!
https://github.com/fluent-ffmpeg/node-fluent-ffmpeg

Related

Getting mp3 from Azure Media Services

I'm using Azure Media Services and I need to encode input audio files to mp3 output files. I've used Standart Encoder for encoding video files, but it seems Standart Encoder can't produce mp3 (I understand that it can encode audio with AAC and produce mp4 file with the audio but unfortunately I need exactly mp3).
So I'm trying to use Media Encoder Premium Workflow. In the documentation, I see that I need to use Workflow Designer tool but can't understand where I can get it. Could you please point me out where I can find it? Or maybe you can suggest other solution for getting mp3 after processing audio using Azure Media Services?
I see that you have considered Azure Functions. Since that does not appear to address your needs, please contact us via mepd#microsoft.com
We'll provide you the instructions on how to download the Workflow Designer, and use it.

How to do Azure Video Watermarking / Overlay

Can anyone please guide me, step by step how to watermark/Overlay a video in Azure as I am new to Azure. If Possible please guide me with a tutorial or Video tutorial for the same. I have uploaded a .mp4 video in Azure and streamed it and able to view it in azure media player. Please guide me for watermarking or overlaying a video in azure.
Also I need to understand, azure is providing watermarking / overlay as a service so is there a way to do water marking directly with an Azure interface without visual studio C# coding.
Thanks in advance..
Do you need to overlay an image onto a video? Or do you want to overlay a video over another video? For the former case, the image will have to overlaid on the input video during the encoding process. There is a basic example documented here. In that example, the output contains a single MP4 at 640x360 resolution, which is sufficient for delivery via progressive download. Since you need to stream your video, you should update the Codecs section in that example with additional video bitrates - such as the one showed here.
You also mention needing to do this without writing code. If you have a PC, then you can install and run AMS Explorer (https://aka.ms/amse). Browse to the input video you want to process, hit "Ctl+R" and you will see tabs to specify the encoding settings, and others for advanced features including overlays.

Facebook Video share using Azure media Service encoded streaming endpoints

I am building a video library on Azure Media Service and want to give feature where my streaming endpoint(like manifest hls/Dashed/smooth streaming urls urls) can be shareable on Facebook like how YouTube URL works on Facebook share,
i am not sure, is this possible or not?? if yes than which encoding format i need to use here, i tried different encoding here but they didn't work for me,
if above cant be done than whats the best alternate
The steps you need are:
Upload the source video (https://learn.microsoft.com/en-us/azure/media-services/media-services-dotnet-upload-files)
Encode it to a format that supports streaming, using Standard Encoder using a preset like "Content Adaptive Multiple Bitrate MP4" (https://learn.microsoft.com/en-us/azure/media-services/media-services-dotnet-encode-with-media-encoder-standard)
Above will produce an output Asset containing multiple MP4 files
Publish this output Asset (https://learn.microsoft.com/en-us/azure/media-services/media-services-deliver-streaming-content)
You can now use the streaming locator that step 4 generatesin Azure Media Player (http://aka.ms/amsplayer)
However, before you can share links on Facebook, you need to stand up another web service - I've let my colleague know about this thread, and she will follow up shortly.

How do I use Azure Media Services to Dynamically Encode Videos to MP4 using Azure Blob

I am currently using Azure Blob to store images, and it works great. For a new product I am working on, we are starting to integrate videos. We decided to use Azure Blob to store our videos, and it works great.
We also are saving meta data to the images and videos, and using the Azure Search Service to index the images, and videos, to allow for ease of searching in the new product.
The new problem we are experiencing is the mass amount of file formats being found for upload, are not playing in all devices, and browsers we need to support.
We looked in to Azure Media Services, and found if we encode the videos as H.264 MP4 SD 16x9 using Azure Media Player, it will work in all devices. However, we are now trying to identify how we can easily, and without adding much more time to the user, have the video converted and bound to our search results, to allow for a download link (original video) and play link (converted video).
If anyone knows of a solution, or has a different conversion service that could help, it would be appreciated.
Thank You!

Is it actually possible to play SmoothStreaming videos on Chromecast without using (format=mpd-time-csf)?

I'm trying to get a video playing on Chromecast - it's available as an MS Smooth Streaming manifest (example), but I can't specify format=mpd-time-csf (example), as it's not available in that format.
Directly passing the manifest URL to the Chromecast doesn't work yet, but will be available for the final SDK release, as stated by Les Vogel here:
Playing Smoothstreaming URL by providing Manifest file of smoothstreaming to Chromecast device
As I understand it can play dash/smooth videos by embedding the dash.js player into the receiver app. However, dash.js only plays smooth streaming videos if (format=mpd-time-csf) is specified - normal smooth manifests don't work.
Does this mean that in its current state, Chromecast only supports smooth video in the mpd-time-csf format? I assume the Netflix app uses Smooth for its Chromecast app - is this how they're doing it?
Currently, unless you write your own (javascript) player than can handle smooth streaming (i.e. parse manifest, fetch fragments, use MSE extension, etc), you cannot play smooth streaming content on chromecast.
Ali.
Just following up my own question in case anyone stumbles across this from Google - with the release of the SDK SmoothStreaming should be playable out of the box with the Media Player Library: https://developers.google.com/cast/docs/player.

Resources