{"id":4267,"date":"2025-04-22T08:00:00","date_gmt":"2025-04-22T08:00:00","guid":{"rendered":"https:\/\/elasvi.com\/?p=4267"},"modified":"2025-04-22T18:03:04","modified_gmt":"2025-04-22T18:03:04","slug":"ffmpeg-convierte-edita-y-transforma-tu-contenido-multimedia-desde-la-terminal-instalacion-y-usos-en-debian-gnu-linux","status":"publish","type":"post","link":"https:\/\/elasvi.com\/index.php\/2025\/04\/22\/ffmpeg-convierte-edita-y-transforma-tu-contenido-multimedia-desde-la-terminal-instalacion-y-usos-en-debian-gnu-linux\/","title":{"rendered":"FFmpeg: Convierte, Edita y Transforma tu Contenido Multimedia desde la Terminal \u2013 Instalaci\u00f3n y Usos en Debian GNU\/Linux"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"es\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>\u00cdndice &#8211; Instalaci\u00f3n de WordPress en Debian<\/title>\n    <style>\n        \/* Estilos para el \u00edndice *\/\n        .index {\n            background-color: #f4f4f4;\n            border: 1px solid #ddd;\n            border-radius: 10px;\n            box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);\n            padding: 20px;\n            margin-bottom: 20px;\n        }\n\n        .index h2 {\n            font-size: 1.8em;\n            color: #333;\n            margin-bottom: 10px;\n        }\n\n        .index ul {\n            list-style-type: none;\n            padding: 0;\n        }\n\n        .index li {\n            margin: 6px 0;\n            padding-left: 10px;\n            border-left: 4px solid transparent;\n            transition: transform 0.2s;\n        }\n\n        .index a {\n            text-decoration: none;\n            color: #0073e6;\n            font-weight: bold;\n            transition: color 0.3s;\n        }\n\n        .index a:hover {\n            color: #0052a5;\n        }\n\n        .index li:hover {\n            transform: scale(1.05);\n        }\n\n        .index .nivel-1 {\n            margin-left: 5px;\n            border-left-color: #0073e6;\n        }\n\n        .index .nivel-2 {\n            margin-left: 20px;\n            border-left-color: #0052a5;\n        }\n\n        .index .nivel-3 {\n            margin-left: 35px;\n            border-left-color: #003b73;\n        }\n\n        .code-container {\n            position: relative;\n            border: 1px solid #ddd;\n            border-radius: 4px;\n            background: #f8f8f8;\n            margin: 8px 0;\n            padding: 15px;\n            font-family: monospace;\n            overflow: auto;\n        }\n\n        .copy-button {\n            position: absolute;\n            top: 10px;\n            right: 10px;\n            background: #0078D7;\n            color: white;\n            border: none;\n            border-radius: 3px;\n            padding: 6px 10px;\n            font-size: 12px;\n            cursor: pointer;\n        }\n\n        .copy-button:hover {\n            background: #005A9E;\n        }\n\n        .custom-pre {\n            margin: 0;\n            padding: 10px;\n            overflow-x: auto;\n        }\n\n        .custom-p {\n            margin: 6px 0;\n            line-height: 1.6;\n        }\n\n        .custom-ul {\n            margin: 6px 0;\n        }\n\n        .custom-h3,\n        .custom-h4,\n        .custom-h5 {\n            margin: 15px 0 8px;\n        }\n\n        .custom-h3 {\n            font-size: 1.8em;\n            color: #2c3e50;\n            font-weight: bold;\n            margin-top: 20px;\n            margin-bottom: 10px;\n            border-bottom: 2px solid #3498db;\n            padding-bottom: 5px;\n        }\n\n        .custom-h4 {\n            font-size: 1.4em;\n            color: #34495e;\n            font-weight: bold;\n            margin-top: 15px;\n            margin-bottom: 8px;\n            padding-left: 10px;\n            border-left: 4px solid #3498db;\n        }\n\n        .custom-h5 {\n            font-size: 1.2em;\n            color: #4a5568;\n            \/* Un color m\u00e1s suave para marcar la jerarqu\u00eda *\/\n            font-weight: bold;\n            margin-top: 12px;\n            margin-bottom: 6px;\n            padding-left: 8px;\n            border-left: 3px solid #3498db;\n            \/* Un borde similar al h4 pero m\u00e1s delgado *\/\n        }\n\n        .custom-code {\n            background-color: #f4f4f4;\n            padding: 2px 4px;\n            border-radius: 4px;\n        }\n\n        .image-row {\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            gap: 20px;\n            margin-bottom: 20px;\n        }\n\n        .image-container {\n            text-align: center;\n        }\n\n        .styled-image {\n            max-width: 100%;\n            height: auto;\n            border-radius: 5px;\n            border: 2px solid #ccc;\n            margin: 10px 0;\n        }\n    <\/style>\n<\/head>\n\n<body>\n    <!-- titleComment: FFmpeg: Convierte, Edita y Transforma tu Contenido Multimedia desde la Terminal - Instalaci\u00f3n y Usos en Debian GNU\/Linux -->\n    <section>\n\n        <p class=\"custom-p\">\n            FFmpeg es una potente herramienta de l\u00ednea de comandos para procesar archivos de audio y video. En este\n            art\u00edculo aprender\u00e1s c\u00f3mo instalar FFmpeg en Debian GNU\/Linux, descubrir\u00e1s qu\u00e9 funciones ofrece y c\u00f3mo\n            sacarle el m\u00e1ximo provecho para convertir, grabar, transmitir y editar contenido multimedia desde la\n            terminal, incluyendo grabaci\u00f3n de pantalla y c\u00e1mara web con audio.\n            Contin\u00faa leyendo o, si prefieres, haz\n            <a href=\"https:\/\/youtu.be\/7PsWb1cmllI\" target=\"_blank\" rel=\"noopener noreferrer\">CLICK AQU\u00cd<\/a>\n            para ver un tutorial paso a paso en YouTube\n            <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/01\/YouTube_icon.png\" alt=\"YouTube\"\n                style=\"width: 20px; vertical-align: middle;\">\n        <\/p>\n\n    <\/section>\n\n    <div class=\"index\">\n        <h2>Contenido:<\/h2>\n        <ul class=\"custom-ul\">\n            <li class=\"nivel-1\">\n                <a href=\"#section1\">1. \u00bfQu\u00e9 es FFmpeg?<\/a>\n            <\/li>\n\n            <li class=\"nivel-1\">\n                <a href=\"#section2\">2. Instalaci\u00f3n de FFmpeg en Debian GNU\/Linux<\/a>\n            <\/li>\n\n            <li class=\"nivel-1\">\n                <a href=\"#section3\">3. Ub\u00edcate en la carpeta con tus archivos en la terminal<\/a>\n            <\/li>\n\n            <li class=\"nivel-1\">\n                <a href=\"#section4\">4. CONVERSIONES Y EXTRACCIONES<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section4.1.\">4.1. Convertir formatos de audio y video<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section4.2\">4.2. Extraer audio de un video<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section4.3\">4.3. Convertir un video a GIF animado<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section4.4\">4.4. A\u00f1adir subt\u00edtulos a un video<\/a>\n            <\/li>\n\n            <li class=\"nivel-1\">\n                <a href=\"#section5\">5. EDICI\u00d3N Y MANIPULACI\u00d3N<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section5.1\">5.1. Cortar un segmento de video o audio<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section5.2\">5.2. Comprimir videos para reducir tama\u00f1o<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section5.3\">5.3. Aumentar la velocidad de un video o audio<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section5.4\">5.4. Repetir en bucle un video o audio<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section5.5\">5.5. Unir varios videos en uno solo<\/a>\n            <\/li>\n\n            <li class=\"nivel-1\">\n                <a href=\"#section6\">6. CREACI\u00d3N Y CAPTURA<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section6.1\">6.1. Crear un video a partir de im\u00e1genes<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section6.2\">6.2. Grabar la pantalla<\/a>\n            <\/li>\n\n            <li class=\"nivel-3\">\n                <a href=\"#section6.2.1\">6.2.1. Grabar la pantalla sin audio<\/a>\n            <\/li>\n\n            <li class=\"nivel-3\">\n                <a href=\"#section6.2.2\">6.2.2. Grabar la pantalla con audio<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section6.3\">6.3. Grabar desde la c\u00e1mara<\/a>\n            <\/li>\n\n            <li class=\"nivel-3\">\n                <a href=\"#section6.3.1\">6.3.1. Grabar solo video desde la c\u00e1mara<\/a>\n            <\/li>\n\n            <li class=\"nivel-3\">\n                <a href=\"#section6.3.2\">6.3.2. Grabar video desde la c\u00e1mara con micr\u00f3fono<\/a>\n            <\/li>\n\n            <li class=\"nivel-1\">\n                <a href=\"#section7\">7. Consejos adicionales<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section7.1.\">7.1. Analizar archivos multimedia con ffprobe<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section7.2.\">7.2. Automatizar conversiones en lote con un script Bash<\/a>\n            <\/li>\n\n            <li class=\"nivel-2\">\n                <a href=\"#section7.3.\">7.3. Agregar una marca de agua a un video<\/a>\n            <\/li>\n        <\/ul>\n    <\/div>\n\n    <article>\n\n        <h3 id=\"section1\" class=\"custom-h3\">1. \u00bfQu\u00e9 es FFmpeg?<\/h3>\n        <ul class=\"custom-ul\">\n            <li>FFmpeg es una herramienta de l\u00ednea de comandos para convertir, grabar, transmitir y editar archivos\n                multimedia.<\/li>\n            <li>Est\u00e1 disponible como software libre y es ampliamente usada por profesionales y automatizaciones.<\/li>\n            <li>Funciona desde la terminal, ideal para servidores o entornos sin interfaz gr\u00e1fica.<\/li>\n        <\/ul>\n\n        <h3 id=\"section2\" class=\"custom-h3\">2. Instalaci\u00f3n de FFmpeg en Debian GNU\/Linux<\/h3>\n        <p class=\"custom-p\">Abre la terminal y ejecuta los siguientes comandos para actualizar tu lista de paquetes e\n            instalar FFmpeg:<\/p>\n        <div class=\"code-container\">\n            <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n            <pre class=\"custom-pre\"><code>sudo apt update\nsudo apt install ffmpeg<\/code><\/pre>\n        <\/div>\n        <p class=\"custom-p\">Una vez instalado, verifica que FFmpeg est\u00e1 disponible ejecutando:<\/p>\n        <div class=\"code-container\">\n            <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n            <pre class=\"custom-pre\"><code>ffmpeg -version<\/code><\/pre>\n        <\/div>\n        <p class=\"custom-p\">Este comando mostrar\u00e1 informaci\u00f3n sobre la versi\u00f3n instalada y los c\u00f3decs compatibles.<\/p>\n        <div class=\"image-container\">\n            <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/01.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n        <\/div>\n\n\n        <h3 id=\"section3\" class=\"custom-h3\">3. Ub\u00edcate en la carpeta con tus archivos en la terminal<\/h3>\n        <p class=\"custom-p\">Aseg\u00farate de estar en la carpeta correcta desde la terminal, ya que todos los comandos que\n            ejecutes afectar\u00e1n los archivos que est\u00e9n en esa ubicaci\u00f3n. Si no est\u00e1s en la carpeta adecuada, es posible\n            que el sistema no encuentre tus archivos o los cree en otro lugar.<\/p>\n        <ul class=\"custom-ul\">\n            <li>Para ello, dir\u00edgete a la carpeta donde se encuentran tus archivos usando el comando <code\n                    class='custom-code'>cd<\/code> seguido de la ruta. Una forma r\u00e1pida de obtener la ruta es ir a la\n                carpeta, presionar <strong>Control + L<\/strong>, y copiar la direcci\u00f3n que aparece.<\/li>\n            <li>Tambi\u00e9n puedes hacer clic derecho dentro de la carpeta y seleccionar <strong>Abrir en una\n                    terminal<\/strong><\/li>\n\n            <div class=\"image-row\">\n\n                <div class=\"image-container\">\n\n                    <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/02.jpg\" alt=\"\" class=\"styled-image\" \/>\n                <\/div>\n\n                <div class=\"image-container\">\n\n                    <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/03.jpg\" alt=\"\" class=\"styled-image\" \/>\n                <\/div>\n\n            <\/div>\n\n        <\/ul>\n        <script async\n            src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-2225321393472807\"\n            crossorigin=\"anonymous\"><\/script>\n        <ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\"\n            data-ad-format=\"fluid\" data-ad-client=\"ca-pub-2225321393472807\" data-ad-slot=\"4989322001\"><\/ins>\n        <script>\n            (adsbygoogle = window.adsbygoogle || []).push({});\n        <\/script>\n\n\n        <h3 id=\"section4\" class=\"custom-h3\">4. CONVERSIONES Y EXTRACCIONES<\/h3>\n\n\n        <h3 id=\"section4.1.\" class=\"custom-h4\">4.1. Convertir formatos de audio y video<\/h3>\n        <p class=\"custom-p\">FFmpeg detecta autom\u00e1ticamente los c\u00f3decs seg\u00fan la extensi\u00f3n del archivo de salida.<\/p>\n        <ol class=\"custom-ol\">\n            <li>Convierte <strong>archivos de video<\/strong> de un formato a otro. Por ejemplo, de MP4 a MKV:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -i entrada.mp4 salida.mkv<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza, <code class='custom-code'>entrada.mp4<\/code>, por el nombre de tu archivo (Puedes usar la\n                    tecla Tab para autocompletar).<\/li>\n                <li><code class='custom-code'>salida.mkv<\/code> es el archivo resultante; puedes cambiarle el nombre y\n                    formato.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el archivo de entrada que se va a comprimir.<\/li>\n                <li>Puedes convertir entre formatos de video como <strong>MP4<\/strong>, <strong>AVI<\/strong>,\n                    <strong>MKV<\/strong>, <strong>MOV<\/strong>, <strong>WebM<\/strong>, <strong>FLV<\/strong>,\n                    <strong>MPEG<\/strong> y <strong>WMV<\/strong>, adaptando el comando seg\u00fan tus necesidades.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/04.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/05.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n            <li>Convierte <strong>archivos de audio<\/strong> de un formato a otro. Por ejemplo, como MP3 a WAV:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -i sonido.mp3 sonido.wav<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza, <code class='custom-code'>sonido.mp3<\/code>, por el nombre de tu archivo (Puedes usar la\n                    tecla Tab para autocompletar).<\/li>\n                <li><code class='custom-code'>sonido.wav<\/code> es el archivo resultante; puedes cambiarle el nombre y\n                    formato.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el archivo de entrada que se va a comprimir.<\/li>\n                <li>Puedes usar formatos de audio como <strong>MP3<\/strong>, <strong>AAC<\/strong>, <strong>OGG<\/strong>,\n                    <strong>FLAC<\/strong>, <strong>M4A<\/strong> y <strong>WAV<\/strong>.<\/li>\n                <li>Este tipo de conversi\u00f3n es \u00fatil para reducir el tama\u00f1o o mejorar la compatibilidad de reproducci\u00f3n.\n                <\/li>\n            <\/ul>\n            <p class=\"custom-p\">Revisa la conversi\u00f3n abriendo las propiedades del archivo o reproduci\u00e9ndolo para\n                asegurarte de que se haya generado correctamente.<\/p>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/06.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/07.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ol>\n\n        <h3 id=\"section4.2\" class=\"custom-h4\">4.2. Extraer audio de un video<\/h3>\n        <ul class=\"custom-ul\">\n            <li>Extrae solo el audio de un archivo de video con calidad alta:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -i video.mp4 -q:a 0 -map a audio.mp3<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>video.mp4<\/code> por el nombre de tu archivo de video (puedes\n                    usar la tecla Tab para autocompletar en la terminal).<\/li>\n                <li><code class='custom-code'>audio.mp3<\/code> es el archivo resultante con solo el audio; puedes\n                    cambiarle el nombre o ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el archivo de entrada (video) del cual se extraer\u00e1 el\n                    audio.<\/li>\n                <li><code class='custom-code'>-q:a 0<\/code> selecciona la mejor calidad posible para el audio exportado\n                    (solo aplica con formatos como MP3 o AAC).<\/li>\n                <li><code class='custom-code'>-map a<\/code> asegura que solo se extraiga la pista de audio, ignorando el\n                    video.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/08.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/09.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ul>\n\n        <h3 id=\"section4.3\" class=\"custom-h4\">4.3. Convertir un video a GIF animado<\/h3>\n        <ul class=\"custom-ul\">\n            <li>Convierte un video corto en un GIF animado optimizado para web:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -i video.mp4 -vf \"fps=10,scale=480:-1:flags=lanczos\" -c:v gif salida.gif<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>video.mp4<\/code> por el nombre de tu archivo de video (puedes\n                    usar la tecla Tab para autocompletar en la terminal).<\/li>\n                <li><code class='custom-code'>salida.gif<\/code> es el archivo resultante; puedes cambiarle el nombre o\n                    ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el archivo de entrada (video) del cual se extraer\u00e1 el\n                    audio.<\/li>\n                <li><code class='custom-code'>-vf<\/code> significa &#8216;video filter&#8217; y permite aplicar m\u00faltiples filtros de\n                    video (en este caso, <code class='custom-code'>fps<\/code> y <code class='custom-code'>scale<\/code>).\n                <\/li>\n                <li>El filtro <code class='custom-code'>fps=10<\/code> reduce la cantidad de cuadros por segundo para\n                    optimizar el tama\u00f1o del GIF.<\/li>\n                <li>El filtro <code class='custom-code'>scale=480:-1<\/code> redimensiona el ancho a 480 p\u00edxeles y ajusta\n                    la altura autom\u00e1ticamente para mantener la proporci\u00f3n.<\/li>\n                <li>La opci\u00f3n <code class='custom-code'>flags=lanczos<\/code> mejora la calidad del escalado usando el\n                    algoritmo Lanczos, ideal para obtener bordes m\u00e1s n\u00edtidos.<\/li>\n                <li><code class='custom-code'>-c:v gif<\/code> define el formato de salida como GIF animado.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/10.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/11.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ul>\n\n        <h3 id=\"section4.4\" class=\"custom-h4\">4.4. A\u00f1adir subt\u00edtulos a un video<\/h3>\n        <ul class=\"custom-ul\">\n            <li>Incrusta subt\u00edtulos de un archivo <code class='custom-code'>.srt<\/code> directamente en el video:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -i video.mp4 -vf subtitles=subtitulos.srt salida_con_subs.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>video.mp4<\/code> por el nombre de tu archivo de video (puedes\n                    usar la tecla Tab para autocompletar en la terminal).<\/li>\n                <li>Reemplaza <code class='custom-code'>subtitulos.srt<\/code> por el nombre de tu archivo de subt\u00edtulos.\n                    Este archivo debe tener la extensi\u00f3n <code class='custom-code'>.srt<\/code> y contener el texto con\n                    marcas de tiempo sincronizadas.<\/li>\n                <li>Aseg\u00farate de que el archivo <code class='custom-code'>.srt<\/code> est\u00e9 en el mismo directorio que el\n                    video, o proporciona la ruta completa.<\/li>\n                <li><code class='custom-code'>salida_con_subs.mp4<\/code> es el archivo final con los subt\u00edtulos\n                    integrados; puedes cambiarle el nombre o el formato si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el archivo de entrada (video) sobre el cual se aplicar\u00e1\n                    el filtro de subt\u00edtulos.<\/li>\n                <li><code class='custom-code'>-vf<\/code> (video filter) permite aplicar filtros al video. Aqu\u00ed se usa\n                    <code class='custom-code'>subtitles=subtitulos.srt<\/code> para incrustar los subt\u00edtulos en la\n                    imagen.<\/li>\n            <\/ul>\n            <p class=\"custom-p\">Esto es ideal para plataformas donde no se puede cargar un archivo <code>.srt<\/code> por\n                separado. Los subt\u00edtulos quedan &#8216;quemados&#8217; en el video (hardcoded), \u00fatiles para redes sociales o\n                dispositivos m\u00f3viles.<\/p>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/12.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/13.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ul>\n        <script async\n            src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-2225321393472807\"\n            crossorigin=\"anonymous\"><\/script>\n        <ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\"\n            data-ad-format=\"fluid\" data-ad-client=\"ca-pub-2225321393472807\" data-ad-slot=\"4989322001\"><\/ins>\n        <script>\n            (adsbygoogle = window.adsbygoogle || []).push({});\n        <\/script>\n\n\n        <h3 id=\"section5\" class=\"custom-h3\">5. EDICI\u00d3N Y MANIPULACI\u00d3N<\/h3>\n\n\n        <h3 id=\"section5.1\" class=\"custom-h4\">5.1. Cortar un segmento de video o audio<\/h3>\n        <ol class=\"custom-ol\">\n            <li>Corta una parte espec\u00edfica de un video sin recodificar (muy r\u00e1pido):<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -ss 00:00:30 -to 00:01:00 -i video.mp4 -c copy recorte.mp4<\/code><\/pre>\n            <\/div>\n\n            <li>Tambi\u00e9n puedes cortar un segmento de audio:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -ss 00:00:10 -to 00:00:40 -i audio.mp3 -c copy fragmento.mp3<\/code><\/pre>\n            <\/div>\n\n        <\/ol>\n        <ul class=\"custom-ul\">\n            <li>Reemplaza <code class='custom-code'>video.mp4<\/code> o <code class='custom-code'>audio.mp3<\/code> por el\n                nombre de tu archivo (puedes usar la tecla Tab para autocompletar en la terminal).<\/li>\n            <li>El archivo de salida (por ejemplo, <code class='custom-code'>recorte.mp4<\/code> o <code\n                    class='custom-code'>fragmento.mp3<\/code>) es el resultado del corte; puedes cambiarle el nombre o la\n                ruta si lo deseas.<\/li>\n            <li><code class='custom-code'>-i<\/code> indica el archivo de entrada, que puede ser un video o un audio.\n            <\/li>\n            <li><code class='custom-code'>-ss<\/code> define el punto de inicio del corte (en formato hh:mm:ss).<\/li>\n            <li><code class='custom-code'>-to<\/code> marca el punto de finalizaci\u00f3n del segmento.<\/li>\n            <li><code class='custom-code'>-c copy<\/code> permite copiar los datos sin recodificar, lo cual hace el\n                proceso mucho m\u00e1s r\u00e1pido y sin p\u00e9rdida de calidad.<\/li>\n        <\/ul>\n        <div class=\"image-container\">\n            <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/14.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n        <\/div>\n\n        <div class=\"image-container\">\n            <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/15.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n        <\/div>\n\n\n        <h3 id=\"section5.2\" class=\"custom-h4\">5.2. Comprimir videos para reducir tama\u00f1o<\/h3>\n        <ul class=\"custom-ul\">\n            <li>Reduce el tama\u00f1o de un video manteniendo buena calidad con un c\u00f3dec moderno:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -i video.mp4 -vcodec libx265 -crf 28 salida_comprimida.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>video.mp4<\/code> por el nombre de tu archivo de video (puedes\n                    usar la tecla Tab para autocompletar en la terminal).<\/li>\n                <li><code class='custom-code'>salida_comprimida.mp4<\/code> es el archivo final comprimido; puedes\n                    cambiarle el nombre o la ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el archivo de entrada que se va a comprimir.<\/li>\n                <li><code class='custom-code'>-vcodec libx265<\/code> selecciona el c\u00f3dec de video H.265 para lograr una\n                    mayor compresi\u00f3n con buena calidad visual.<\/li>\n                <li><code class='custom-code'>-crf<\/code> controla la calidad del video: cuanto menor el n\u00famero, mayor\n                    la calidad. El valor recomendado suele estar entre 23 y 28.<\/li>\n                <li>Si el reproductor no soporta H.265, puedes usar <code class='custom-code'>libx264<\/code> como\n                    alternativa, aunque el archivo resultante ser\u00e1 m\u00e1s grande.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/16.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/17.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ul>\n\n        <h3 id=\"section5.3\" class=\"custom-h4\">5.3. Aumentar la velocidad de un video o audio<\/h3>\n        <ol class=\"custom-ol\">\n            <li>Aumenta la velocidad de un video manteniendo el audio sincronizado (por ejemplo, al doble):<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -i video.mp4 -filter_complex \"[0:v]setpts=1\/2*PTS[v];[0:a]atempo=2.0[a]\" -map \"[v]\" -map \"[a]\" video_rapido.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>video.mp4<\/code> por el nombre de tu archivo de video (puedes\n                    usar la tecla Tab para autocompletar en la terminal).<\/li>\n                <li><code class='custom-code'>video_rapido.mp4<\/code> es el archivo final con el video acelerado; puedes\n                    cambiarle el nombre o la ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el archivo de entrada que ser\u00e1 procesado.<\/li>\n                <li><code class='custom-code'>-filter_complex<\/code> permite aplicar m\u00faltiples filtros al mismo tiempo\n                    (en este caso, uno para video y otro para audio).<\/li>\n                <li><code class='custom-code'>setpts=1\/VELOCIDAD*PTS<\/code> ajusta la velocidad del video. Algunos\n                    ejemplos:<\/li>\n                <ul class=\"custom-ul\">\n                    <li><code class='custom-code'>1\/2<\/code> \u2192 velocidad <strong>2x<\/strong> (el video dura la mitad).\n                    <\/li>\n                    <li><code class='custom-code'>1\/1.5<\/code> \u2192 velocidad <strong>1.5x<\/strong> (m\u00e1s r\u00e1pido).<\/li>\n                    <li><code class='custom-code'>1\/1.2<\/code> \u2192 velocidad <strong>1.2x<\/strong>.<\/li>\n                    <li><code class='custom-code'>1<\/code> \u2192 velocidad normal (sin cambios).<\/li>\n                    <li><code class='custom-code'>1\/0.5<\/code> \u2192 velocidad <strong>0.5x<\/strong> (m\u00e1s lento, el doble de\n                        duraci\u00f3n).<\/li>\n                <\/ul>\n                <li><code class='custom-code'>atempo=2.0<\/code> acelera el audio a 2x. Este filtro mantiene el tono\n                    original del audio mientras ajusta su velocidad.<\/li>\n                <li><code class='custom-code'>-map<\/code> especifica qu\u00e9 pistas incluir en el archivo final, en este\n                    caso las salidas de video <code>[v]<\/code> y audio <code>[a]<\/code> procesadas.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/18.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/19.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n            <li>Tambi\u00e9n puedes aplicar este cambio solo a un archivo de audio:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -i audio.mp3 -filter:a atempo=2.0 audio_rapido.mp3<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>audio.mp3<\/code> por el nombre de tu archivo de audio (puedes\n                    usar la tecla Tab para autocompletar en la terminal).<\/li>\n                <li><code class='custom-code'>audio_rapido.mp3<\/code> es el archivo final acelerado; puedes cambiarle el\n                    nombre o la ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el archivo de entrada que contiene el audio a procesar.\n                <\/li>\n                <li><code class='custom-code'>atempo<\/code> modifica la velocidad del audio sin alterar su tono. Acepta\n                    valores entre <strong>1\/2 (0.5)<\/strong> y <strong>2\/1 (2.0)<\/strong>. Tambi\u00e9n puedes usar valores\n                    intermedios como <code class='custom-code'>1.25<\/code> o <code class='custom-code'>1.5<\/code>.<\/li>\n                <li>Para velocidades mayores a 2x, puedes encadenar filtros: por ejemplo, <code\n                        class='custom-code'>-filter:a \u00abatempo=2.0,atempo=2.0\u00bb<\/code> para lograr una velocidad 4x.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/20.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/21.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ol>\n\n        <h3 id=\"section5.4\" class=\"custom-h4\">5.4. Repetir en bucle un video o audio<\/h3>\n        <ol class=\"custom-ol\">\n            <li>Repite un video varias veces sin modificar su contenido:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -stream_loop 3 -i clip.mp4 -c copy video_loop.mp4<\/code><\/pre>\n            <\/div>\n\n            <li>Tambi\u00e9n puedes repetir una pista de audio:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -stream_loop 4 -i cancion.mp3 -c copy audio_loop.mp3<\/code><\/pre>\n            <\/div>\n\n        <\/ol>\n        <ul class=\"custom-ul\">\n            <li>Reemplaza <code class='custom-code'>clip.mp4<\/code> o <code class='custom-code'>cancion.mp3<\/code> por\n                el nombre de tu archivo (puedes usar la tecla Tab para autocompletar en la terminal).<\/li>\n            <li><code class='custom-code'>video_loop.mp4<\/code> o <code class='custom-code'>audio_loop.mp3<\/code> son\n                los archivos resultantes; puedes cambiarles el nombre o la ruta si lo deseas.<\/li>\n            <li><code class='custom-code'>-i<\/code> indica el archivo de entrada (video o audio) que se repetir\u00e1.<\/li>\n            <li><code class='custom-code'>-stream_loop<\/code> repite el archivo la cantidad de veces que indiques. Por\n                ejemplo, <code class='custom-code'>-stream_loop 3<\/code> repetir\u00e1 el contenido tres veces.<\/li>\n            <li><code class='custom-code'>-c copy<\/code> copia el contenido sin recodificar, lo que permite una\n                operaci\u00f3n m\u00e1s r\u00e1pida y sin p\u00e9rdida de calidad.<\/li>\n        <\/ul>\n        <div class=\"image-container\">\n            <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/22.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n        <\/div>\n\n        <div class=\"image-container\">\n            <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/23.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n        <\/div>\n\n\n        <h3 id=\"section5.5\" class=\"custom-h4\">5.5. Unir varios videos en uno solo<\/h3>\n        <ul class=\"custom-ul\">\n            <li>Crea un archivo de texto llamado <strong>lista.txt<\/strong> con los nombres de los videos que deseas\n                unir, uno por l\u00ednea:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>file 'video1.mp4'\nfile 'video2.mp4'<\/code><\/pre>\n            <\/div>\n\n            <li>Puedes crear este archivo desde la terminal con <code class='custom-code'>vim<\/code> o <code\n                    class='custom-code'>nano<\/code>:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>vim lista.txt<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>En <code class='custom-code'>vim<\/code>: pulsa <code class='custom-code'>i<\/code> para entrar en\n                    modo inserci\u00f3n, escribe las l\u00edneas, luego presiona <code class='custom-code'>Esc<\/code>, escribe\n                    <code class='custom-code'>:wq<\/code> y pulsa <code class='custom-code'>Enter<\/code> para guardar y\n                    salir.<\/li>\n            <\/ul>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>nano lista.txt<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>En <code class='custom-code'>nano<\/code>: escribe directamente, luego presiona <code\n                        class='custom-code'>Ctrl + O<\/code> para guardar, <code class='custom-code'>Enter<\/code> para\n                    confirmar, y <code class='custom-code'>Ctrl + X<\/code> para salir.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/24.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n            <li>Una vez creado el archivo, ejecuta este comando para combinarlos en uno solo:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -f concat -safe 0 -i lista.txt -c copy video_final.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza los nombres de <code class='custom-code'>video1.mp4<\/code> y <code\n                        class='custom-code'>video2.mp4<\/code> por los nombres de tus archivos reales.<\/li>\n                <li><code class='custom-code'>video_final.mp4<\/code> es el archivo resultante con todos los videos\n                    unidos; puedes cambiarle el nombre o la ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica que se usar\u00e1 <code class='custom-code'>lista.txt<\/code>\n                    como archivo de entrada con la lista de videos.<\/li>\n                <li><code class='custom-code'>-f concat<\/code> le dice a FFmpeg que est\u00e1 leyendo una lista de archivos\n                    para concatenar.<\/li>\n                <li><code class='custom-code'>-safe 0<\/code> permite rutas no seguras o absolutas dentro del archivo\n                    <code>lista.txt<\/code>.<\/li>\n                <li><code class='custom-code'>-c copy<\/code> une los videos sin recodificarlos, por lo que el proceso es\n                    r\u00e1pido y no pierde calidad (pero los archivos deben tener el mismo formato y c\u00f3dec).<\/li>\n            <\/ul>\n        <\/ul>\n        <div class=\"image-container\">\n            <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/25.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n        <\/div>\n\n        <div class=\"image-container\">\n            <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/26.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n        <\/div>\n\n        <script async\n            src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-2225321393472807\"\n            crossorigin=\"anonymous\"><\/script>\n        <ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\"\n            data-ad-format=\"fluid\" data-ad-client=\"ca-pub-2225321393472807\" data-ad-slot=\"4989322001\"><\/ins>\n        <script>\n            (adsbygoogle = window.adsbygoogle || []).push({});\n        <\/script>\n\n\n        <h3 id=\"section6\" class=\"custom-h4\">6. CREACI\u00d3N Y CAPTURA<\/h3>\n\n\n        <h3 id=\"section6.1\" class=\"custom-h4\">6.1. Crear un video a partir de im\u00e1genes<\/h3>\n        <ul class=\"custom-ul\">\n            <li>Genera un video desde una secuencia de im\u00e1genes numeradas como &#8217;01.jpg&#8217;, &#8217;02.jpg&#8217;, etc.:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -framerate 30 -i %02d.jpg -c:v libx264 -pix_fmt yuv420p timelapse.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>%02d.jpg<\/code> por el patr\u00f3n que coincida con tus archivos de\n                    imagen numerados. Por ejemplo, <code>img_%03d.png<\/code> para <code>img_001.png<\/code>,\n                    <code>img_002.png<\/code>, etc.<\/li>\n                <li><code class='custom-code'>timelapse.mp4<\/code> es el archivo resultante; puedes cambiarle el nombre\n                    o la ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el patr\u00f3n de archivo de entrada que define la secuencia\n                    de im\u00e1genes.<\/li>\n                <li><code class='custom-code'>-framerate 30<\/code> define cu\u00e1ntas im\u00e1genes por segundo se usan para\n                    generar el video. Puedes ajustar este valor seg\u00fan la velocidad deseada.<\/li>\n                <li><code class='custom-code'>-c:v libx264<\/code> selecciona el c\u00f3dec H.264, ideal para obtener\n                    compatibilidad y buena compresi\u00f3n.<\/li>\n                <li><code class='custom-code'>-pix_fmt yuv420p<\/code> asegura que el formato de color sea compatible con\n                    la mayor\u00eda de los reproductores.<\/li>\n            <\/ul>\n            <p class=\"custom-p\">\u26a0\ufe0f <strong>Aseg\u00farate de que el ancho y la altura de las im\u00e1genes sean divisibles por\n                    dos<\/strong>, ya que el c\u00f3dec <code class='custom-code'>libx264<\/code> requiere dimensiones pares.\n                Si no cumplen con esta condici\u00f3n, FFmpeg mostrar\u00e1 un error.<\/p>\n            <ul class=\"custom-ul\">\n                <li>Para corregirlo f\u00e1cilmente, puedes redimensionar todas las im\u00e1genes con el siguiente comando:<\/li>\n\n                <div class=\"code-container\">\n                    <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                    <pre class=\"custom-pre\"><code>mogrify -resize 1920x1080! *.jpg<\/code><\/pre>\n                <\/div>\n\n                <li>Este comando ajusta todas las im\u00e1genes JPG al tama\u00f1o indicado. Recuerda ejecutarlo desde la carpeta\n                    donde est\u00e1n tus im\u00e1genes.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/27.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/28.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ul>\n\n        <h3 id=\"section6.2\" class=\"custom-h4\">6.2. Grabar la pantalla<\/h3>\n\n\n        <h3 id=\"section6.2.1\" class=\"custom-h5\">6.2.1. Grabar la pantalla sin audio<\/h3>\n        <ul class=\"custom-ul\">\n            <li>Para grabar solo la pantalla completa, primero necesitas conocer la resoluci\u00f3n de tu pantalla. Ejecuta\n                el siguiente comando:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>xrandr | grep '*'<\/code><\/pre>\n            <\/div>\n\n            <li>Esto mostrar\u00e1 la resoluci\u00f3n activa, como por ejemplo <code class='custom-code'>1920x1080<\/code> o <code\n                    class='custom-code'>3840&#215;2160<\/code>. Usa esos valores en el siguiente comando para grabar sin\n                audio:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 salida_pantalla.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>1920x1080<\/code> por la resoluci\u00f3n real de tu pantalla, seg\u00fan el\n                    resultado de <code class='custom-code'>xrandr<\/code>.<\/li>\n                <li><code class='custom-code'>salida_pantalla.mp4<\/code> es el archivo resultante con la grabaci\u00f3n;\n                    puedes cambiarle el nombre o la ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i :0.0<\/code> indica que se capturar\u00e1 la pantalla del display principal\n                    (<code>:0.0<\/code> es el m\u00e1s com\u00fan en entornos X11).<\/li>\n                <li><code class='custom-code'>-video_size<\/code> define el \u00e1rea de la pantalla a capturar, en este caso\n                    la resoluci\u00f3n completa.<\/li>\n                <li><code class='custom-code'>-framerate 25<\/code> establece la cantidad de cuadros por segundo (puedes\n                    ajustarlo seg\u00fan lo fluido que quieras el video).<\/li>\n                <li><code class='custom-code'>-f x11grab<\/code> indica que el origen de video ser\u00e1 la pantalla (solo\n                    v\u00e1lido en entornos que usan X11, como Debian, Ubuntu, etc.).<\/li>\n            <\/ul>\n            <p class=\"custom-p\">\ud83d\udccc Para detener la grabaci\u00f3n, vuelve a la terminal donde ejecutaste el comando y\n                presiona <code class='custom-code'>q<\/code>. Tambi\u00e9n puedes usar <code\n                    class='custom-code'>Ctrl + C<\/code> si prefieres detenerla abruptamente.<\/p>\n            <p class=\"custom-p\">\ud83d\uddc2\ufe0f El archivo se guarda en la misma carpeta desde donde ejecutaste el comando, a menos\n                que especifiques una ruta diferente en el nombre del archivo de salida.<\/p>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/29.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/30.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/31.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ul>\n\n        <h3 id=\"section6.2.2\" class=\"custom-h5\">6.2.2. Grabar la pantalla con audio<\/h3>\n        <ol class=\"custom-ol\">\n            <li>Necesitas conocer la <strong>resoluci\u00f3n actual de tu pantalla<\/strong>. Ejecuta este comando:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>xrandr | grep '*'<\/code><\/pre>\n            <\/div>\n\n            <p class=\"custom-p\">Reemplaza <code class='custom-code'>1920x1080<\/code> en el comando por la resoluci\u00f3n que\n                obtengas. Por ejemplo, si tu resoluci\u00f3n es 3840&#215;2160, usa ese valor.<\/p>\n            <li>Necesitas identificar tu <strong>fuente de audio<\/strong>. Ejecuta este comando:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>pactl list short sources<\/code><\/pre>\n            <\/div>\n\n            <p class=\"custom-p\">Si el audio no funciona o ves el mensaje <code\n                    class='custom-code'>pactl: orden no encontrada<\/code>, instala PulseAudio con:<\/p>\n            <ul class=\"custom-ul\">\n\n                <div class=\"code-container\">\n                    <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                    <pre class=\"custom-pre\"><code>sudo apt update\nsudo apt install pulseaudio pulseaudio-utils pavucontrol<\/code><\/pre>\n                <\/div>\n\n                <li>Luego, inicia el servidor de audio con:<\/li>\n\n                <div class=\"code-container\">\n                    <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                    <pre class=\"custom-pre\"><code>pulseaudio --start<\/code><\/pre>\n                <\/div>\n\n                <li>Lista nuevamente las fuentes de audio disponibles, con:<\/li>\n\n                <div class=\"code-container\">\n                    <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                    <pre class=\"custom-pre\"><code>pactl list short sources<\/code><\/pre>\n                <\/div>\n\n            <\/ul>\n            <p class=\"custom-p\">Reemplaza <code class='custom-code'>default<\/code> por el nombre exacto de la fuente de\n                audio que desees usar. Por ejemplo, para grabar el audio del sistema usa una fuente tipo <code\n                    class='custom-code'>.monitor<\/code>, y para grabar desde el micr\u00f3fono, una fuente tipo <code\n                    class='custom-code'>.analog-stereo<\/code> o similar.<\/p>\n            <li>Usa esos valores en el siguiente comando para grabar con audio:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 \\\n-f pulse -i default \\\n-c:v libx264 -preset veryfast -crf 23 \\\n-c:a aac -b:a 192k \\\npantalla_con_audio.mp4<\/code><\/pre>\n            <\/div>\n\n            <p class=\"custom-p\"><strong>\u00bfQu\u00e9 hace cada parte?<\/strong><\/p>\n            <ul class=\"custom-ul\">\n                <li><code class='custom-code'>-f x11grab<\/code>: Captura la pantalla usando X11<\/li>\n                <li><code class='custom-code'>-video_size 1920x1080<\/code>: Define la resoluci\u00f3n a grabar. Reempl\u00e1zalo\n                    con el valor obtenido anteriormente usando <code class='custom-code'>xrandr<\/code>.<\/li>\n                <li><code class='custom-code'>-framerate 30<\/code>: Graba a 30 cuadros por segundo<\/li>\n                <li><code class='custom-code'>-i :0.0<\/code>: Indica el display a capturar (por defecto es :0.0)<\/li>\n                <li><code class='custom-code'>-f pulse -i default<\/code>: Captura el audio con PulseAudio desde la\n                    fuente predeterminada. Reemplaza <code class='custom-code'>default<\/code> por una fuente <code\n                        class='custom-code'>.monitor<\/code> si quieres grabar el audio del sistema, o por una fuente\n                    <code class='custom-code'>.analog-stereo<\/code> o similar para grabar desde el micr\u00f3fono. Tambi\u00e9n\n                    puedes colocar ambas con dos entradas <code class='custom-code'>-f pulse -i<\/code> si deseas grabar\n                    el sistema y el micr\u00f3fono al mismo tiempo.<\/li>\n                <li><code class='custom-code'>-c:v libx264<\/code>: Usa el c\u00f3dec de video H.264<\/li>\n                <li><code class='custom-code'>-preset veryfast<\/code>: Ajusta la velocidad de codificaci\u00f3n (m\u00e1s r\u00e1pido,\n                    menos compresi\u00f3n)<\/li>\n                <li><code class='custom-code'>-crf 23<\/code>: Controla la calidad del video (valor bajo = m\u00e1s calidad)\n                <\/li>\n                <li><code class='custom-code'>-c:a aac -b:a 192k<\/code>: Usa el c\u00f3dec AAC para el audio a 192 kbps<\/li>\n                <li><code class='custom-code'>pantalla_con_audio.mp4<\/code>: Nombre del archivo de salida<\/li>\n            <\/ul>\n            <p class=\"custom-p\">\ud83d\udccc Para detener la grabaci\u00f3n, vuelve a la terminal donde ejecutaste el comando y\n                presiona <code class='custom-code'>q<\/code>. Tambi\u00e9n puedes usar <code\n                    class='custom-code'>Ctrl + C<\/code> si prefieres detenerla abruptamente.<\/p>\n            <p class=\"custom-p\">\ud83d\uddc2\ufe0f El archivo se guarda en la misma carpeta desde donde ejecutaste el comando, a menos\n                que especifiques una ruta diferente en el nombre del archivo de salida.<\/p>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/32.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/33.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/34.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n            <li>\ud83c\udfa7 <strong>Ejemplo para grabar el audio del sistema (monitor)<\/strong>:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 \\\n-f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor \\\n-c:v libx264 -preset veryfast -crf 23 \\\n-c:a aac -b:a 192k \\\npantalla_audio_sistema.mp4<\/code><\/pre>\n            <\/div>\n\n            <p class=\"custom-p\">Usa <code class='custom-code'>pactl list short sources<\/code> para ver tu fuente <code\n                    class='custom-code'>.monitor<\/code> real.<\/p>\n            <li>\ud83c\udf99\ufe0f <strong>Ejemplo para grabar desde el micr\u00f3fono<\/strong>:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 \\\n-f pulse -i alsa_input.usb-Razer_Inc_Razer_Seiren_V2_X_UC2138L04503239-00.mono-fallback \\\n-c:v libx264 -preset veryfast -crf 23 \\\n-c:a aac -b:a 192k \\\npantalla_audio_microfono.mp4<\/code><\/pre>\n            <\/div>\n\n            <p class=\"custom-p\">Usa <code class='custom-code'>pactl list short sources<\/code> para ver tu fuente <code\n                    class='custom-code'>.analog-stereo<\/code> o similar en la lista disponible.<\/p>\n            <li>\ud83d\udd0a\ud83c\udf99\ufe0f <strong>Ejemplo para grabar la pantalla con audio del sistema y micr\u00f3fono<\/strong>:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0 \\\n-f pulse -i monitor_source_name  \\\n-f pulse -i microphone_source_name \\\n-filter_complex \"[1:a][2:a]amix=inputs=2[a]\" -map 0:v -map \"[a]\" \\\n-c:v libx264 -preset veryfast -crf 23 \\\n-c:a aac -b:a 192k \\\npantalla_con_sistema_y_microfono.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li><code class='custom-code'>monitor_source_name<\/code> representa la fuente de audio del sistema, y\n                    <code class='custom-code'>microphone_source_name<\/code> representa la fuente del micr\u00f3fono.<\/li>\n                <li>Este comando graba la pantalla y mezcla el audio del sistema con el micr\u00f3fono. Es \u00fatil para\n                    grabaciones explicativas o tutoriales donde necesitas que se escuche tanto lo que suena en el\n                    sistema como tu voz.<\/li>\n            <\/ul>\n        <\/ol>\n        <script async\n            src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-2225321393472807\"\n            crossorigin=\"anonymous\"><\/script>\n        <ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\"\n            data-ad-format=\"fluid\" data-ad-client=\"ca-pub-2225321393472807\" data-ad-slot=\"4989322001\"><\/ins>\n        <script>\n            (adsbygoogle = window.adsbygoogle || []).push({});\n        <\/script>\n\n\n        <h3 id=\"section6.3\" class=\"custom-h4\">6.3. Grabar desde la c\u00e1mara<\/h3>\n\n\n        <h3 id=\"section6.3.1\" class=\"custom-h5\">6.3.1. Grabar solo video desde la c\u00e1mara<\/h3>\n        <ul class=\"custom-ul\">\n            <li>Para grabar \u00fanicamente el video desde tu c\u00e1mara web (sin audio), usa el siguiente comando:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -f v4l2 -i \/dev\/video0 -c:v libx264 -preset veryfast -crf 23 camara_sin_audio.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>\/dev\/video0<\/code> por el dispositivo correspondiente a tu\n                    c\u00e1mara web. Puedes identificarlo con <code class='custom-code'>v4l2-ctl --list-devices<\/code>.<\/li>\n                <li><code class='custom-code'>camara_sin_audio.mp4<\/code> es el archivo resultante con la grabaci\u00f3n de\n                    video; puedes cambiarle el nombre o la ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el dispositivo de entrada desde el que se capturar\u00e1 el\n                    video.<\/li>\n                <li><code class='custom-code'>-f v4l2<\/code> especifica el uso del sistema de captura de video para\n                    Linux (Video4Linux2).<\/li>\n                <li><code class='custom-code'>-c:v libx264<\/code> utiliza el c\u00f3dec H.264 para codificar el video con\n                    buena compresi\u00f3n y compatibilidad.<\/li>\n                <li><code class='custom-code'>-preset veryfast<\/code> ajusta la velocidad de compresi\u00f3n (m\u00e1s r\u00e1pido =\n                    menos compresi\u00f3n). Puedes cambiarlo por <code class='custom-code'>faster<\/code>, <code\n                        class='custom-code'>medium<\/code> o <code class='custom-code'>slow<\/code> seg\u00fan lo que\n                    prefieras.<\/li>\n                <li><code class='custom-code'>-crf 23<\/code> define la calidad del video. Cuanto menor el n\u00famero, mayor\n                    la calidad (y mayor el tama\u00f1o del archivo). Valores comunes: 18 (alta calidad) a 28 (m\u00e1s\n                    comprimido).<\/li>\n            <\/ul>\n            <p class=\"custom-p\">\ud83d\udccc Para detener la grabaci\u00f3n, vuelve a la terminal y presiona <code\n                    class='custom-code'>q<\/code> o usa <code class='custom-code'>Ctrl + C<\/code>.<\/p>\n            <p class=\"custom-p\">\ud83d\uddc2\ufe0f El archivo se guarda en la misma carpeta desde donde ejecutaste el comando, a menos\n                que especifiques una ruta diferente.<\/p>\n        <\/ul>\n\n        <h3 id=\"section6.3.2\" class=\"custom-h5\">6.3.2. Grabar video desde la c\u00e1mara con micr\u00f3fono<\/h3>\n        <ul class=\"custom-ul\">\n            <li>Para grabar desde tu c\u00e1mara web y capturar tambi\u00e9n el audio del micr\u00f3fono:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffmpeg -f v4l2 -i \/dev\/video0 \\\n-f pulse -i microphone_source_name \\\n-c:v libx264 -preset veryfast -crf 23 \\\n-c:a aac -b:a 192k \\\nwebcam_mic.mp4<\/code><\/pre>\n            <\/div>\n\n            <p class=\"custom-p\"><code class='custom-code'>microphone_source_name<\/code> representa la fuente del\n                micr\u00f3fono. Usa <code class='custom-code'>pactl list short sources<\/code> para conocer el nombre exacto\n                de tu dispositivo de entrada.<\/p>\n            <p class=\"custom-p\"><strong>\u00bfQu\u00e9 hace cada parte?<\/strong><\/p>\n            <ul class=\"custom-ul\">\n                <li><code class='custom-code'>-f v4l2 -i \/dev\/video0<\/code>: Usa la c\u00e1mara web como fuente de video<\/li>\n                <li><code class='custom-code'>-f pulse -i microphone_source_name<\/code>: Captura el audio desde el\n                    micr\u00f3fono conectado<\/li>\n                <li><code class='custom-code'>-c:v libx264<\/code>: Codifica el video con el c\u00f3dec H.264<\/li>\n                <li><code class='custom-code'>-preset veryfast<\/code>: Velocidad de codificaci\u00f3n r\u00e1pida<\/li>\n                <li><code class='custom-code'>-crf 23<\/code>: Calidad visual equilibrada (m\u00e1s bajo = mejor calidad)<\/li>\n                <li><code class='custom-code'>-c:a aac -b:a 192k<\/code>: Codifica el audio con buena calidad<\/li>\n                <li><code class='custom-code'>camara_con_microfono.mp4<\/code>: Nombre del archivo de salida<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/35.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ul>\n\n        <h3 id=\"section7\" class=\"custom-h3\">7. Consejos adicionales<\/h3>\n\n\n        <h3 id=\"section7.1.\" class=\"custom-h4\">7.1. Analizar archivos multimedia con ffprobe<\/h3>\n        <ol class=\"custom-ol\">\n            <li>Usa <code class='custom-code'>ffprobe<\/code> para analizar los archivos multimedia y conocer detalles\n                t\u00e9cnicos:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>ffprobe archivo.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Esto te permite obtener informaci\u00f3n como:<\/li>\n                <li>&#8211; <strong>Resoluci\u00f3n<\/strong>: por ejemplo, <code class='custom-code'>1920x1080<\/code><\/li>\n                <li>&#8211; <strong>C\u00f3dec de video<\/strong>: como <code class='custom-code'>h264<\/code><\/li>\n                <li>&#8211; <strong>FPS (cuadros por segundo)<\/strong>: por ejemplo, <code class='custom-code'>30 fps<\/code>\n                <\/li>\n                <li>&#8211; <strong>Relaci\u00f3n de aspecto<\/strong>: (DAR\/SAR), \u00fatil si el video est\u00e1 estirado o comprimido<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/36.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/37.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ol>\n\n        <h3 id=\"section7.2.\" class=\"custom-h4\">7.2. Automatizar conversiones en lote con un script Bash<\/h3>\n        <ol class=\"custom-ol\">\n            <li>Por ejemplo, para convertir todos los archivos .mkv a .mp4:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre class=\"custom-pre\"><code>for video in *.mkv; do\n  ffmpeg -i \"$video\" \"${video%.mkv}.mp4\"\ndone<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>\"$video\"<\/code> por cada archivo .mkv del directorio.<\/li>\n                <li><code class='custom-code'>\"${video%.mkv}.mp4\"<\/code> genera un nuevo nombre con extensi\u00f3n .mp4 para\n                    cada archivo convertido.<\/li>\n                <li><code class='custom-code'>-i<\/code> indica el archivo de entrada que ser\u00e1 procesado.<\/li>\n                <li><code class='custom-code'>ffmpeg<\/code> hace la conversi\u00f3n usando los par\u00e1metros por defecto; puedes\n                    personalizar los c\u00f3decs si necesitas m\u00e1s control.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/38.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ol>\n        <script async\n            src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-2225321393472807\"\n            crossorigin=\"anonymous\"><\/script>\n        <ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\"\n            data-ad-format=\"fluid\" data-ad-client=\"ca-pub-2225321393472807\" data-ad-slot=\"4989322001\"><\/ins>\n        <script>\n            (adsbygoogle = window.adsbygoogle || []).push({});\n        <\/script>\n\n\n        <h3 id=\"section7.3.\" class=\"custom-h4\">7.3. Agregar una marca de agua a un video<\/h3>\n        <ol class=\"custom-ol\">\n            <li>Agrega una marca de agua a tu video con una imagen PNG, colocada en la esquina superior izquierda:<\/li>\n\n            <div class=\"code-container\">\n                <button class=\"copy-button\" onclick=\"copyCode(this)\">Copiar<\/button>\n                <pre\n                    class=\"custom-pre\"><code>ffmpeg -i video.mp4 -i logo.png -filter_complex \"overlay=10:10\" salida_con_logo.mp4<\/code><\/pre>\n            <\/div>\n\n            <ul class=\"custom-ul\">\n                <li>Reemplaza <code class='custom-code'>video.mp4<\/code> por el nombre de tu archivo de video (puedes\n                    usar la tecla Tab para autocompletar en la terminal).<\/li>\n                <li><code class='custom-code'>salida_con_logo.mp4<\/code> es el archivo resultante con la marca de agua;\n                    puedes cambiarle el nombre o la ruta si lo deseas.<\/li>\n                <li><code class='custom-code'>-i<\/code> se usa dos veces: una para el video base y otra para la imagen\n                    del logo.<\/li>\n                <li><code class='custom-code'>-filter_complex<\/code> permite aplicar filtros avanzados como <code\n                        class='custom-code'>overlay<\/code>.<\/li>\n                <li><code class='custom-code'>overlay=10:10<\/code> posiciona la imagen a 10 p\u00edxeles de la esquina\n                    superior izquierda. Puedes modificar esos valores para ajustar su ubicaci\u00f3n.<\/li>\n            <\/ul>\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/39.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n\n            <div class=\"image-container\">\n                <img decoding=\"async\" src=\"https:\/\/elasvi.com\/wp-content\/uploads\/2025\/04\/40.jpg\" alt=\"undefined\" class=\"styled-image\" \/>\n            <\/div>\n\n        <\/ol>\n\n    <\/article>\n\n    <script>\n        function copyCode(button) {\n            navigator.clipboard.writeText(button.nextElementSibling.innerText);\n            button.textContent = '\u00a1Copiado!';\n            setTimeout(() => button.textContent = 'Copiar', 2000);\n        }\n    <\/script>\n<\/body>\n\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>FFmpeg es una potente herramienta de l\u00ednea de comandos para procesar archivos de audio y video. En este art\u00edculo aprender\u00e1s c\u00f3mo instalar FFmpeg en Debian GNU\/Linux, descubrir\u00e1s qu\u00e9 funciones ofrece y c\u00f3mo sacarle el m\u00e1ximo provecho para convertir, grabar, transmitir y editar contenido multimedia desde la terminal, incluyendo grabaci\u00f3n de pantalla y c\u00e1mara web con audio.<\/p>\n","protected":false},"author":1,"featured_media":4270,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[193,57,192,173],"tags":[194,131,195,174],"class_list":["post-4267","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-contenido-multimedia-desde-la-terminal","category-debian","category-ffmpeg","category-gnu-linux","tag-contenido-multimedia-desde-la-terminal","tag-debian-12","tag-ffmpeg","tag-gnu-linux"],"_links":{"self":[{"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/posts\/4267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/comments?post=4267"}],"version-history":[{"count":4,"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/posts\/4267\/revisions"}],"predecessor-version":[{"id":4281,"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/posts\/4267\/revisions\/4281"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/media\/4270"}],"wp:attachment":[{"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/media?parent=4267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/categories?post=4267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elasvi.com\/index.php\/wp-json\/wp\/v2\/tags?post=4267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}