Easily Integrate Mux Webhooks with your application.
https://docs.mux.com/guides/video/listen-for-webhooks
Steps to receive Mux Webhooks
- Sign up for your free Hooky account.
- Create a new Webhook Source, and select Mux. This will be the endpoint that receives webhooks on behalf of your application, and forwards them using the unified SDK.
- Step 1
- Step 2
- Once a webhook is received from Mux, you'll see it under the Live Logs section of your webhook source.
- Next, follow the examples below to integrate the Hooky SDK in ruby or javascript, and start receiving webhooks.
Integrating Mux Webhooks Using Javascript
- Sign up for your free Hooky account.
- Create a new Webhook Source, and select Mux. This will be the endpoint that receives webhooks on behalf of your application, and forwards them using the unified SDK.
- Step 1
- Step 2
- Once a webhook is received from Mux, you'll see it under the Live Logs section of your webhook source.
- Next, follow the examples below to integrate the Hooky SDK in ruby or javascript, and start receiving webhooks.
Integrating Mux webhooks with Hooky in your Javascript based application is straight forward. Just grab the SDK, and call a function when that webhook is received.
Integrating Mux Webhooks Using Ruby
Integrating Mux webhooks with Hooky in your Ruby or Ruby on Rails application is straight forward. Just grab the SDK, and call a method when that webhook is received.
Configuring Mux Webhook Authentication
Here's how it works
Supported Mux Webhook Events
video.asset.created
As asset has been created
video.asset.ready
An asset is ready for playback. You can now use the asset's playback_id to successfully start streaming this asset.
video.asset.errored
An asset has encountered an error. Use this to notify your server about assets with errors. Asset errors can happen for a number of reasons, most commonly an input URL that Mux is unable to download or a file that is not a valid video file.
video.asset.updated
An asset has been updated. Use this to make sure your server is notified about changes to assets.
video.asset.deleted
An asset has been deleted. Use this so that your server knows when an asset has been deleted, at which point it will no longer be playable.
video.asset.live_stream_completed
The live stream for this asset has completed. Every time a live stream starts and ends a new asset gets created and this event fires.
video.asset.static_renditions.ready
Static renditions for this asset are ready. Static renditions are streamable mp4 files that are most commonly used for allowing users to download files for offline viewing.
video.asset.static_renditions.preparing
Static renditions for this asset are being prepared. After requesting static renditions you will get this webhook when they are being prepared.
video.asset.static_renditions.deleted
Static renditions for this asset have been deleted. The static renditions (mp4 files) for this asset will no longer be available.
video.asset.static_renditions.errored
Preparing static renditions for this asset has encountered an error. This indicates that there was some error when creating static renditions (mp4s) of your asset. This should be rare and if you see it unexpectedly please open a support ticket.
video.asset.master.ready
Master access for this asset is ready. Master access is used when downloading an asset for purposes of editing or post-production work. The master access file is not intended to be streamed or downloaded by end-users.
video.asset.master.preparing
Master access for this asset is being prepared. After requesting master access you will get this webhook while it is being prepared.
video.asset.master.deleted
Master access for this asset has been deleted. Master access for this asset has been removed. You will no longer be able to download the master file. If you want it again you should re-request it.
video.asset.master.errored
Master access for this asset has encountered an error. This indicates that there was some error when creating master access for this asset. This should be rare and if you see it unexpectedly please open a support ticket.
video.asset.track.created
A new track for this asset has been created, for example a subtitle text track.
video.asset.track.ready
A track for this asset is ready. In the example of a subtitle text track the text track will now be delivered with your HLS stream.
video.asset.track.errored
A track for this asset has encountered an error. There was some error preparing this track. Most commonly this could be a text track file that Mux was unable to download for processing.
video.asset.track.deleted
A track for this asset has been deleted.
video.upload.asset_created
An asset has been created from this upload. This is useful to know what a user of your application has finished uploading a file using the URL created by a Direct Upload.
video.upload.cancelled
Upload has been canceled. This event fires after hitting the cancel direct upload API API.
video.upload.created
Upload has been created. This event fires after creating a direct upload API .
video.upload.errored
Upload has encountered an error. This event fires when the asset created by the direct upload fails. Most commonly this happens when an end-user uploads a non-video file.
video.live_stream.created
A new live stream has been created. Broadcasters with a stream_key can start sending encoder feed to this live stream.
video.live_stream.connected
An encoder has successfully connected to this live stream.
video.live_stream.recording
Recording on this live stream has started. Mux has successfully processed the first frames from the encoder. If you show a red dot icon in your UI, this would be a good time to show it.
ideo.live_stream.active
This live stream is now "active".
video.live_stream.disconnected
An encoder has disconnected from this live stream. Note that while disconnected the live stream is still status: "active".
video.live_stream.idle
The reconnect_window for this live stream has elapsed. The live stream status will now transition to "idle".
video.live_stream.updated
This live stream has been updated. For example, after resetting the live stream's stream key
video.live_stream.enabled
This live stream has been enabled. This event fires after enable live stream API API.
video.live_stream.disabled
This live stream has been disabled. This event fires after disable live stream API API. Disabled live streams will no longer accept new RTMP connections.
video.live_stream.deleted
This live stream has been deleted. This event fires after delete live stream API API API.
video.live_stream.simulcast_target.created
A new simulcast target has been created for this live stream.
video.live_stream.simulcast_target.idle
When the parent live stream is "disconnected", all simulcast targets will have be "idle".
video.live_stream.simulcast_target.starting
When the parent live stream fires "connected" then the simulcast targets transition to "starting".
video.live_stream.simulcast_target.broadcasting
This fires when Mux has successfully connected to the simulcast target and has begun pushing content to that third party.
video.live_stream.simulcast_target.errored
This fires when Mux has encountered an error either while attempting to connect to the third party streaming service or while broadcasting. Mux will try to re-establish the connection and if it does successfully the simulcast target will transition back to "broadcasting".
video.live_stream.simulcast_target.deleted
This simulcast target has been deleted.