By setting the audio_codec
to none
(ac_none
in URLs), you can strip the audio channel from the video, serving it without sound.
You can also chain another audio file as an overlay to replace the video’s original audio.
The original video file (with audio) -
Python:
CloudinaryVideo(" dog " ).video()
Java:
cloudinary.url().videoTag(" dog " );
JS:
cloudinary.videoTag(' dog ' ).toHtml();
jQuery:
$ .cloudinary.video(" dog " )
React:
<Video publicId =" dog " >
</Video>
Vue.js:
<cld-video publicId =" dog " >
</cld-video>
Angular:
<cl-video public-id =" dog " >
</cl-video>
.Net:
cloudinary.Api.UrlVideoUp.BuildVideoTag(" dog " )
Android:
MediaManager.get().url().resourceType(" video " ).generate(" dog.mp4 " );
iOS:
cloudinary.createUrl().setResourceType(" video " ).generate(" dog.mp4 " )
The muted video -
Ruby:
cl_video_tag(" dog " , :audio_codec =>" none " )
PHP:
cl_video_tag(" dog " , array (" audio_codec " =>" none " ))
Python:
CloudinaryVideo(" dog " ).video(audio_codec=" none " )
Node.js:
cloudinary.video(" dog " , {audio_codec : " none " })
Java:
cloudinary.url().transformation(new Transformation().audioCodec(" none " )).videoTag(" dog " );
JS:
cloudinary.videoTag(' dog ' , {audioCodec : " none " }).toHtml();
jQuery:
$ .cloudinary.video(" dog " , {audio_codec : " none " })
React:
<Video publicId =" dog " >
<Transformation audioCodec =" none " />
</Video>
Vue.js:
<cld-video publicId =" dog " >
<cld-transformation audioCodec =" none " />
</cld-video>
Angular:
<cl-video public-id =" dog " >
<cl-transformation audio-codec =" none " >
</cl-transformation>
</cl-video>
.Net:
cloudinary.Api.UrlVideoUp.Transform(new Transformation().AudioCodec(" none " )).BuildVideoTag(" dog " )
Android:
MediaManager.get().url().transformation(new Transformation().audioCodec(" none " )).resourceType(" video " ).generate(" dog.mp4 " );
iOS:
cloudinary.createUrl().setResourceType(" video " ).setTransformation(CLDTransformation().setAudioCodec(" none " )).generate(" dog.mp4 " )
The video with a different (and objectively better) audio.
Ruby:
cl_video_tag(" dog " , :transformation =>[
{:effect =>" volume:-100 " },
{:overlay =>" video:sample_pnnlu7 " , :end_offset =>" 13 " , :flags =>" layer_apply " }
])
PHP:
cl_video_tag(" dog " , array (" transformation " =>array (
array (" effect " =>" volume:-100 " ),
array (" overlay " =>" video:sample_pnnlu7 " , " end_offset " =>" 13 " , " flags " =>" layer_apply " )
)))
Python:
CloudinaryVideo(" dog " ).video(transformation=[
{' effect ' : " volume:-100 " },
{' overlay ' : " video:sample_pnnlu7 " , ' end_offset ' : " 13 " , ' flags ' : " layer_apply " }
])
Node.js:
cloudinary.video(" dog " , {transformation : [
{effect : " volume:-100 " },
{overlay : " video:sample_pnnlu7 " , end_offset : " 13 " , flags : " layer_apply " }
]})
Java:
cloudinary.url().transformation(new Transformation()
.effect(" volume:-100 " ).chain()
.overlay(new Layer().publicId(" video:sample_pnnlu7 " )).endOffset(" 13 " ).flags(" layer_apply " )).videoTag(" dog " );
JS:
cloudinary.videoTag(' dog ' , {transformation : [
{effect : " volume:-100 " },
{overlay : new cloudinary.Layer().publicId(" video:sample_pnnlu7 " ), endOffset : " 13 " , flags : " layer_apply " }
]}).toHtml();
jQuery:
$ .cloudinary.video(" dog " , {transformation : [
{effect : " volume:-100 " },
{overlay : new cloudinary.Layer().publicId(" video:sample_pnnlu7 " ), end_offset : " 13 " , flags : " layer_apply " }
]})
React:
<Video publicId =" dog " >
<Transformation effect =" volume:-100 " />
<Transformation overlay =" video:sample_pnnlu7 " endOffset =" 13 " flags =" layer_apply " />
</Video>
Vue.js:
<cld-video publicId =" dog " >
<cld-transformation effect =" volume:-100 " />
<cld-transformation overlay =" video:sample_pnnlu7 " endOffset =" 13 " flags =" layer_apply " />
</cld-video>
Angular:
<cl-video public-id =" dog " >
<cl-transformation effect =" volume:-100 " >
</cl-transformation>
<cl-transformation overlay =" video:sample_pnnlu7 " end-offset =" 13 " flags =" layer_apply " >
</cl-transformation>
</cl-video>
.Net:
cloudinary.Api.UrlVideoUp.Transform(new Transformation()
.Effect(" volume:-100 " ).Chain()
.Overlay(new Layer().PublicId(" video:sample_pnnlu7 " )).EndOffset(" 13 " ).Flags(" layer_apply " )).BuildVideoTag(" dog " )
Android:
MediaManager.get().url().transformation(new Transformation()
.effect(" volume:-100 " ).chain()
.overlay(new Layer().publicId(" video:sample_pnnlu7 " )).endOffset(" 13 " ).flags(" layer_apply " )).resourceType(" video " ).generate(" dog.mp4 " );
iOS:
cloudinary.createUrl().setResourceType(" video " ).setTransformation(CLDTransformation()
.setEffect(" volume:-100 " ).chain()
.setOverlay(" video:sample_pnnlu7 " ).setEndOffset(" 13 " ).setFlags(" layer_apply " )).generate(" dog.mp4 " )
The song is actually larger, but we cut it to its first 13 seconds with the end_offset
(eo_
in the URL) parameter to match the video’s length.