The silencedetect filter identifies silent segments in audio based on noise threshold and duration. By combining it with ametadata, you can export detailed metadata about when silence occurs in your media files.
While FFmpeg includes a silenceremove filter, the recommended method for removing silence is the Jump Cuts technique, which involves a two-step process:Step 1: Detect Silence and Get TimestampsFirst, use silencedetect to identify where silence occurs in your video:
Step 2: Parse Timestamps and Create Jump CutsParse the silence timestamps from the metadata file, then use them to create precise jump cuts that completely remove the silent segments. This gives you:
Complete removal of silence (not just audio compression)
After analyzing the silence metadata, you can create jump cuts to keep only the non-silent portions. For example, to keep segments from 0.0-5.7s, 11.0-18.0s, and 19.0-20.0s:Base FFmpeg Command:
-vf "select='...'" - Video filter to select specific time ranges
between(t,0.0,5.7)+between(t,11.0,18.0)+between(t,19.0,20.0) - Keep frames between these timestamps
setpts=N/FRAME_RATE/TB - Reset presentation timestamps for smooth playback
-af "aselect='...'" - Same selection applied to audio
asetpts=N/SR/TB - Reset audio timestamps to maintain sync
For detailed examples of creating jump cuts with specific timestamps, see the FFmpeg Cheatsheet - Jump Cuts section.
This two-step approach is superior to silenceremove for video files because it actually cuts out the silent portions entirely, making your videos shorter and more engaging, rather than just modifying the audio track.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rendi - FFmpeg API","description":"Rendi - FFmpeg API - Documentation","colors":{"primary":"#6BB666","light":"#F3FFB7","dark":"#6BB666"},"logo":{"light":"https://mintcdn.com/rendi/UkCjje3cRpAu-Pzn/logo/rendi_light.svg?fit=max\u0026auto=format\u0026n=UkCjje3cRpAu-Pzn\u0026q=85\u0026s=9221ec14a8479069fb9656f72cb52c3c","dark":"https://mintcdn.com/rendi/UkCjje3cRpAu-Pzn/logo/rendi_dark.svg?fit=max\u0026auto=format\u0026n=UkCjje3cRpAu-Pzn\u0026q=85\u0026s=6f9b0a9e2ae19a1062d9415927758188","href":"https://rendi.dev/"},"favicon":"https://mintcdn.com/rendi/UkCjje3cRpAu-Pzn/favicon_rendi.svg?fit=max\u0026auto=format\u0026n=UkCjje3cRpAu-Pzn\u0026q=85\u0026s=5b2fa0a0cfb3e3bb80e6d6e2f26eadb6","appearance":{"default":"light"},"navbar":{"links":[{"href":"https://github.com/orgs/rendi-api/discussions","label":"Support"},{"href":"https://app.rendi.dev/sign-in","label":"Sign In"}],"primary":{"type":"button","label":"Get Started","href":"https://app.rendi.dev/sign-up?loc=docs-top-right"}},"footer":{"socials":{"x":"https://x.com/rendi_dev","youtube":"https://www.youtube.com/playlist?list=PLJafqrbyIUfzM4MM6wKeN4qkwCviI3IHw","github":"https://github.com/rendi-api/ffmpeg-cheatsheet"}},"seo":{"metatags":{"description":"Learn how to run FFmpeg online easily using Rendi’s FFmpeg API - no installation needed. Fast, scalable, and reliable FFmpeg as a Service.","og:site_name":"Rendi - FFmpeg API - Documentation","og:description":"Learn how to run FFmpeg online easily using Rendi’s FFmpeg API - no installation needed. Fast, scalable, and reliable FFmpeg as a Service.","og:url":"https://rendi.dev/docs","og:locale":"en_US","og:logo":"/logo/rendi_logo.svg","twitter:description":"Learn how to run FFmpeg online easily - no installation needed. Fast, scalable, and reliable FFmpeg as a Service."}},"integrations":{"ga4":{"measurementId":"G-TX18XXSKL8"},"gtm":{"tagId":"GTM-5892H3NR"},"hotjar":{"hjid":"5186749","hjsv":"6"},"mixpanel":{"projectToken":"28dc0233f8ad77a5de6722a2dddabaf5"}},"contextual":{"options":["view","copy","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/rendi-api/ffmpeg-cheatsheet"},{"anchor":"System Status","icon":"display-chart-up","href":"https://status.rendi.dev"},{"anchor":"YouTube","icon":"youtube","href":"https://youtube.com/playlist?list=PLJafqrbyIUfzM4MM6wKeN4qkwCviI3IHw\u0026si=VqyZiQMBqJrbrngc"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rendi","hasAudioNarration":false,"actualSubdomain":"rendi","customDomains":["rendi.dev"],"gitSource":{"type":"github","owner":"rendi-api","repo":"rendi-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae74578f7d3a0f8561dcd62","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Documentation","count":26},{"language":"default","tag":"API Reference","count":14},{"language":"default","tag":"Examples","count":14},{"language":"default","tag":"Features","count":6},{"language":"default","tag":"File Storage","count":4},{"language":"default","tag":"Listing Assets","count":4},{"language":"default","tag":"Generate","count":4},{"language":"default","tag":"Deleting Assets","count":3},{"language":"default","tag":"Get Started","count":3},{"language":"default","tag":"Convert","count":3}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"silence-detection-removal","slug":"/silence-detection-removal","pageMetadata":{"title":"Silence Detection and Removal","description":"Detect and remove silences from audio and video files using FFmpeg in Rendi","href":"/silence-detection-removal"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Detect and remove silences from audio and video files using FFmpeg in Rendi\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`FFmpeg can be used for silence detection and removal in audio and video processing. This guide shows you how to:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Detect silence in media files and export metadata`}),`\n`,_jsx(_components.li,{children:`Remove silence from media files automatically`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`silence-detection-with-metadata-export`,children:`Silence Detection with Metadata Export`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`silencedetect`}),` filter identifies silent segments in audio based on noise threshold and duration. By combining it with `,_jsx(_components.code,{children:`ametadata`}),`, you can export detailed metadata about when silence occurs in your media files.`]}),`\n`,_jsx(Heading,{level:`3`,id:`ffmpeg-command-for-silence-detection`,children:`FFmpeg Command for Silence Detection`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`ffmpeg`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -i`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://storage.rendi.dev/sample/popeye_talking.mp4`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -af`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"silencedetect=noise=-20dB:d=0.5,ametadata=mode=print:file=silence_metadata.txt\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` null`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` -`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`command-breakdown`,children:`Command Breakdown:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`-i input.mp4`}),` - Input video or audio file`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`-af`}),` - Audio filter`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`silencedetect=noise=-20dB:d=0.5`}),` - Detects silence below -20dB lasting at least 0.5 seconds`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`noise=-20dB`}),` - Threshold for silence (adjust based on your audio; -20dB is moderate, -30dB is more sensitive)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`d=0.5`}),` - Minimum duration of silence in seconds`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ametadata=mode=print:file=silence_metadata.txt`}),` - Exports metadata to a file`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`mode=print`}),` - Prints metadata for each frame`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`file=silence_metadata.txt`}),` - Output file for metadata`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`-f null -`}),` - No video output (we’re only analyzing)`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`run-silence-detection-in-rendi`,children:`Run Silence Detection in Rendi`}),`\n`,_jsxs(_components.p,{children:[`To run this command in Rendi, you need to use the `,_jsx(_components.code,{children:`/v1/run-ffmpeg-command`}),` endpoint:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://api.rendi.dev/v1/run-ffmpeg-command'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--header `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'X-API-KEY: \u003capi-key>'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--header `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Content-Type: application/json; charset=utf-8'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--data `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"input_files\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"in_1\": \"https://storage.rendi.dev/sample/popeye_talking.mp4\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"output_files\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"out_1\": \"silence_metadata.txt\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"ffmpeg_command\": \"-i {{in_1}} -af \\\\\"silencedetect=noise=-20dB:d=0.5,ametadata=mode=print:file={{out_1}}\\\\\" -f null -\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`When commands’ `,_jsx(_components.code,{children:`status`}),` reaches `,_jsx(_components.code,{children:`SUCCESS`}),`, you’ll get the metadata file in the response:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"command_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"089dd36c-723c-4a0a-b68a-8e8cbcc1afd2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SUCCESS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"output_files\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"out_1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"file_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"da09eaa7-904f-45e2-a727-74760b2696f6\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"storage_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://storage.rendi.dev/files/.../silence_metadata.txt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"STORED\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The metadata file will contain timestamps of all detected silence segments, which you can parse for further processing.`}),`\n`,_jsx(Heading,{level:`2`,id:`silence-removal`,children:`Silence Removal`}),`\n`,_jsxs(_components.p,{children:[`While FFmpeg includes a `,_jsx(_components.code,{children:`silenceremove`}),` filter, the recommended method for removing silence is the `,_jsx(_components.strong,{children:`Jump Cuts`}),` technique, which involves a two-step process:`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Step 1: Detect Silence and Get Timestamps`})}),`\n`,_jsxs(_components.p,{children:[`First, use `,_jsx(_components.code,{children:`silencedetect`}),` to identify where silence occurs in your video:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://api.rendi.dev/v1/run-ffmpeg-command'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--header `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'X-API-KEY: \u003capi-key>'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--header `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Content-Type: application/json; charset=utf-8'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--data `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"input_files\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"in_1\": \"https://storage.rendi.dev/sample/popeye_talking.mp4\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"output_files\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"out_1\": \"silence_metadata.txt\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"ffmpeg_command\": \"-i {{in_1}} -af \\\\\"silencedetect=noise=-20dB:d=0.5,ametadata=mode=print:file={{out_1}}\\\\\" -f null -\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Step 2: Parse Timestamps and Create Jump Cuts`})}),`\n`,_jsx(_components.p,{children:`Parse the silence timestamps from the metadata file, then use them to create precise jump cuts that completely remove the silent segments. This gives you:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Complete removal of silence (not just audio compression)`}),`\n`,_jsx(_components.li,{children:`Maintained video/audio sync`}),`\n`,_jsx(_components.li,{children:`Precise control over what gets cut`}),`\n`,_jsx(_components.li,{children:`Shorter final video duration`}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`example-running-jump-cuts-in-rendi`,children:`Example: Running Jump Cuts in Rendi`}),`\n`,_jsx(_components.p,{children:`After analyzing the silence metadata, you can create jump cuts to keep only the non-silent portions. For example, to keep segments from 0.0-5.7s, 11.0-18.0s, and 19.0-20.0s:`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Base FFmpeg Command:`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`ffmpeg`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -i`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://storage.rendi.dev/sample/popeye_talking.mp4`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -vf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"select='between(t,0.0,5.7)+between(t,11.0,18.0)+between(t,19.0,20.0)',setpts=N/FRAME_RATE/TB\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -af`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"aselect='between(t,0.0,5.7)+between(t,11.0,18.0)+between(t,19.0,20.0)',asetpts=N/SR/TB\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` popeye_jumpcuts.mp4`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Run in Rendi:`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://api.rendi.dev/v1/run-ffmpeg-command'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--header `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'X-API-KEY: \u003capi-key>'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--header `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Content-Type: application/json; charset=utf-8'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`--data `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"input_files\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"in_1\": \"https://storage.rendi.dev/sample/popeye_talking.mp4\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"output_files\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"out_1\": \"popeye_jumpcuts.mp4\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"ffmpeg_command\": \"-i {{in_1}} -vf \\\\\"select='`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'between(t,0.0,5.7)+between(t,11.0,18.0)+between(t,19.0,20.0)'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`',setpts=N/FRAME_RATE/TB\\\\\" -af \\\\\"aselect='`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'between(t,0.0,5.7)+between(t,11.0,18.0)+between(t,19.0,20.0)'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`',asetpts=N/SR/TB\\\\\" {{out_1}}\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Command Breakdown:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`-vf \"select='...'\"`}),` - Video filter to select specific time ranges`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`between(t,0.0,5.7)+between(t,11.0,18.0)+between(t,19.0,20.0)`}),` - Keep frames between these timestamps`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`setpts=N/FRAME_RATE/TB`}),` - Reset presentation timestamps for smooth playback`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`-af \"aselect='...'\"`}),` - Same selection applied to audio`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`asetpts=N/SR/TB`}),` - Reset audio timestamps to maintain sync`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`For detailed examples of creating jump cuts with specific timestamps, see the `,_jsx(_components.a,{href:`https://github.com/rendi-api/ffmpeg-cheatsheet?tab=readme-ov-file#jump-cuts`,children:`FFmpeg Cheatsheet - Jump Cuts`}),` section.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`This two-step approach is superior to `,_jsx(_components.code,{children:`silenceremove`}),` for video files because it actually cuts out the silent portions entirely, making your videos shorter and more engaging, rather than just modifying the audio track.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`use-cases`,children:`Use Cases`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Silence Detection with Metadata:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Analyze podcast episodes for silence patterns`}),`\n`,_jsx(_components.li,{children:`Quality control for audio recordings`}),`\n`,_jsx(_components.li,{children:`Identify timestamps for manual editing`}),`\n`,_jsx(_components.li,{children:`Generate subtitles timing`}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Silence Removal:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Clean up podcast recordings`}),`\n`,_jsx(_components.li,{children:`Speed up video tutorials by removing pauses`}),`\n`,_jsx(_components.li,{children:`Create tighter, more engaging content`}),`\n`,_jsx(_components.li,{children:`Reduce file size by removing dead air`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`tips-for-best-results`,children:`Tips for Best Results`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Test with different thresholds`}),`: Start with `,_jsx(_components.code,{children:`-20dB`}),` and adjust based on your audio quality`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Consider minimum duration`}),`: Use `,_jsx(_components.code,{children:`d=0.5`}),` (0.5 seconds) to avoid removing natural pauses in speech`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Preview before batch processing`}),`: Test on a small sample first`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Use metadata for precision`}),`: Detect silence first, then use timestamps for precise cuts`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Quality encoding`}),`: When re-encoding, use `,_jsx(_components.code,{children:`-c:a aac -b:a 128k`}),` for good audio quality`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-resources`,children:`Related Resources`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/rendi-api/ffmpeg-cheatsheet`,children:`FFmpeg Cheatsheet`}),` - More audio processing examples`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/endpoint/run-ffmpeg-command`,children:`Run FFmpeg Command`}),` - API documentation`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://github.com/rendi-api/ffmpeg-cheatsheet#jump-cuts`,children:`Jump Cuts`}),` - Advanced silence cutting techniques`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Silence Detection and Removal","description":"Detect and remove silences from audio and video files using FFmpeg in Rendi","href":"/silence-detection-removal"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Silence Detection with Metadata Export","slug":"silence-detection-with-metadata-export","depth":2,"children":[{"title":"FFmpeg Command for Silence Detection","slug":"ffmpeg-command-for-silence-detection","depth":3,"children":[]},{"title":"Command Breakdown:","slug":"command-breakdown","depth":4,"children":[]},{"title":"Run Silence Detection in Rendi","slug":"run-silence-detection-in-rendi","depth":3,"children":[]}]},{"title":"Silence Removal","slug":"silence-removal","depth":2,"children":[{"title":"Example: Running Jump Cuts in Rendi","slug":"example-running-jump-cuts-in-rendi","depth":4,"children":[]}]},{"title":"Use Cases","slug":"use-cases","depth":2,"children":[]},{"title":"Tips for Best Results","slug":"tips-for-best-results","depth":2,"children":[]},{"title":"Related Resources","slug":"related-resources","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"rendi","siteName":"Rendi - FFmpeg API","title":"Silence Detection and Removal - Rendi - FFmpeg API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-07T12:27:04.083Z","originalFileLocation":"silence-detection-removal.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Detect and remove silences from audio and video files using FFmpeg in Rendi\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rendi - FFmpeg API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Silence Detection and Removal - Rendi - FFmpeg API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to run FFmpeg online easily using Rendi’s FFmpeg API - no installation needed. Fast, scalable, and reliable FFmpeg as a Service.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rendi - FFmpeg API - Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://rendi.dev/docs/silence-detection-removal\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rendi.mintlify.site/docs/_mintlify/api/og/v2?division=Features\u0026amp;title=Silence+Detection+and+Removal\u0026amp;description=Detect+and+remove+silences+from+audio+and+video+files+using+FFmpeg+in+Rendi\u0026amp;theme=20f28108fb429c5ee8009a96\u0026amp;signature=26a844b14dcfc373e33c0e4672fcde70885a9b0e485b6b5c166622594f7921eb\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Silence Detection and Removal - Rendi - FFmpeg API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to run FFmpeg online easily - no installation needed. Fast, scalable, and reliable FFmpeg as a Service.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rendi.mintlify.site/docs/_mintlify/api/og/v2?division=Features\u0026amp;title=Silence+Detection+and+Removal\u0026amp;description=Detect+and+remove+silences+from+audio+and+video+files+using+FFmpeg+in+Rendi\u0026amp;theme=20f28108fb429c5ee8009a96\u0026amp;signature=26a844b14dcfc373e33c0e4672fcde70885a9b0e485b6b5c166622594f7921eb\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rendi - FFmpeg API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6BB666\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"og:logo\" content=\"/logo/rendi_logo.svg\">\u003clink data-mint-head rel=\"canonical\" href=\"https://rendi.dev/docs/silence-detection-removal\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/silence-detection-removal.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://rendi.dev/#organization\",\"name\":\"Rendi - FFmpeg API\",\"url\":\"https://rendi.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rendi/UkCjje3cRpAu-Pzn/logo/rendi_light.svg?fit=max\u0026auto=format\u0026n=UkCjje3cRpAu-Pzn\u0026q=85\u0026s=9221ec14a8479069fb9656f72cb52c3c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://rendi.dev/docs#website\",\"name\":\"Rendi - FFmpeg API\",\"url\":\"https://rendi.dev/docs\",\"publisher\":{\"@id\":\"https://rendi.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://rendi.dev/docs/silence-detection-removal#webpage\",\"url\":\"https://rendi.dev/docs/silence-detection-removal\",\"name\":\"Silence Detection and Removal\",\"description\":\"Detect and remove silences from audio and video files using FFmpeg in Rendi\",\"dateModified\":\"2026-09-07T12:27:04.083Z\",\"isPartOf\":{\"@id\":\"https://rendi.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://rendi.dev/docs/silence-detection-removal#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://rendi.dev/docs/silence-detection-removal#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://rendi.dev/docs/webhooks\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Silence Detection and Removal\",\"item\":\"https://rendi.dev/docs/silence-detection-removal\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://rendi.dev/docs/silence-detection-removal#article\",\"headline\":\"Silence Detection and Removal\",\"name\":\"Silence Detection and Removal\",\"description\":\"Detect and remove silences from audio and video files using FFmpeg in Rendi\",\"url\":\"https://rendi.dev/docs/silence-detection-removal\",\"mainEntityOfPage\":{\"@id\":\"https://rendi.dev/docs/silence-detection-removal#webpage\"},\"dateModified\":\"2026-09-07T12:27:04.083Z\",\"publisher\":{\"@id\":\"https://rendi.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://rendi.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rendi - FFmpeg API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Rendi - FFmpeg API","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/rendi-api/ffmpeg-cheatsheet"},{"anchor":"System Status","icon":"display-chart-up","href":"https://status.rendi.dev"},{"anchor":"YouTube","icon":"youtube","href":"https://youtube.com/playlist?list=PLJafqrbyIUfzM4MM6wKeN4qkwCviI3IHw\u0026si=VqyZiQMBqJrbrngc"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Quickstart","href":"/quick-start"},{"title":"Coding agents","href":"/coding-agents"}]},{"group":"Features","pages":[{"title":"Webhooks","href":"/webhooks"},{"title":"Playlist Outputs","href":"/playlist-outputs"},{"title":"Dynamic Files","description":"Flexible handling of compressed folders, sequence patterns, and multi-output commands.","href":"/dynamic-files"},{"title":"Silence Detection and Removal","href":"/silence-detection-removal"},{"title":"Direct File Upload","description":"Upload local files directly to Rendi storage using multipart upload.","href":"/direct-upload"},{"title":"Private Files \u0026 Presigned URLs","href":"/private-files"}]},{"group":"Examples","pages":[{"title":"Overview","href":"/examples"},{"group":"Generate","pages":[{"title":"Generate a thumbnail from a video","href":"/examples/generate-thumbnail"},{"title":"Generate multiple thumbnails from a video","href":"/examples/generate-multiple-thumbnails"},{"title":"Build a video from images and audio (slideshow)","href":"/examples/slideshow-from-images-and-audio"},{"title":"Generate a thumbnail and a GIF in one chained request","href":"/examples/thumbnail-and-gif-chained"}]},{"group":"Convert","pages":[{"title":"Transcode a video (change format)","href":"/examples/transcode"},{"title":"Compress a video","href":"/examples/compress-video"},{"title":"Resize a video","href":"/examples/resize-video"}]},{"group":"Edit","pages":[{"title":"Trim a clip from a video","href":"/examples/trim-clip"},{"title":"Merge (concatenate) videos","href":"/examples/merge-videos"},{"title":"Trim a video into multiple resolutions in one call","href":"/examples/multi-resolution-trim"}]},{"title":"Extract audio from a video","href":"/examples/extract-audio"},{"title":"Burn SRT subtitles into a video","href":"/examples/burn-in-srt-subtitles"},{"title":"Overlay a watermark on a video","href":"/examples/overlay-watermark"}]},{"group":"Integrations","pages":[{"title":"Make Integration","href":"/make-com"},{"title":"n8n Integration","href":"/n8n"},{"title":"Zapier Integration","href":"/zapier"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Silence Detection and Removal - Rendi - FFmpeg API","buildId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","deploymentId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","dynamics":[],"chunks":[]}