<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Línea De Comandos on KnightLi Blog</title>
        <link>https://www.knightli.com/es/tags/l%C3%ADnea-de-comandos/</link>
        <description>Recent content in Línea De Comandos on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>es</language>
        <lastBuildDate>Thu, 02 Apr 2026 23:14:03 +0800</lastBuildDate><atom:link href="https://www.knightli.com/es/tags/l%C3%ADnea-de-comandos/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Explicación de FFmpeg `-map`: seleccione con precisión transmisiones de video, audio y subtítulos</title>
        <link>https://www.knightli.com/es/2026/04/02/ffmpeg-map-parameter-guide/</link>
        <pubDate>Thu, 02 Apr 2026 23:14:03 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/04/02/ffmpeg-map-parameter-guide/</guid>
        <description>&lt;p&gt;En flujos de trabajo de múltiples audios y subtítulos, &lt;code&gt;-map&lt;/code&gt; es una de las opciones más importantes y más frecuentemente mal utilizadas de FFmpeg.&lt;/p&gt;
&lt;p&gt;Si no especifica explícitamente &lt;code&gt;-map&lt;/code&gt;, FFmpeg selecciona automáticamente las transmisiones usando reglas predeterminadas y, a menudo, el resultado no es el esperado. Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Los subtítulos desaparecen después de la exportación.&lt;/li&gt;
&lt;li&gt;Se seleccionó la pista de idioma incorrecta&lt;/li&gt;
&lt;li&gt;Se incluyen flujos de datos no deseados.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este artículo utiliza escenarios comunes del mundo real para explicar cómo funciona &amp;ldquo;-map&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;primero-comprenda-qué-es-una-transmisión&#34;&gt;Primero, comprenda qué es una &amp;ldquo;transmisión&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;Un archivo contenedor (como &lt;code&gt;mp4&lt;/code&gt; o &lt;code&gt;mkv&lt;/code&gt;) generalmente contiene múltiples secuencias, que incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Secuencias de vídeo (&lt;code&gt;v&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Flujos de audio (&lt;code&gt;a&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Secuencias de subtítulos (&lt;code&gt;s&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Archivos adjuntos/flujos de datos (fuentes, portadas, capítulos, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Puedes inspeccionar transmisiones con &lt;code&gt;ffprobe&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffprobe -hide_banner input.mkv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;sintaxis-básica-de--map&#34;&gt;Sintaxis básica de &lt;code&gt;-map&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;Patrón más común:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-map input_index[:stream_type][:stream_index]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ejemplos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;0:v&lt;/code&gt;: todas las transmisiones de video desde la primera entrada&lt;/li&gt;
&lt;li&gt;&lt;code&gt;0:a:0&lt;/code&gt;: la primera secuencia de audio desde la primera entrada&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1:s:1&lt;/code&gt;: la segunda secuencia de subtítulos desde la segunda entrada&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;input_index&lt;/code&gt; comienza desde &lt;code&gt;0&lt;/code&gt;, según el orden &lt;code&gt;-i&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;stream_index&lt;/code&gt; también comienza desde &lt;code&gt;0&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ejemplos-prácticos&#34;&gt;Ejemplos prácticos
&lt;/h2&gt;&lt;h3 id=&#34;1-vídeo-de-a-audio-de-b&#34;&gt;1) Vídeo de A, audio de B
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i english.mp4 -i french.mp3 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -map 0:v:0 -map 1:a:0 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -c:v copy -c:a aac &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  french.mp4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Significado:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Utilice la primera transmisión de video de &lt;code&gt;english.mp4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Utilice la primera secuencia de audio de &lt;code&gt;french.mp3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Fusionar en &lt;code&gt;french.mp4&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-mantenga-todas-las-transmisiones-desde-la-entrada-1-luego-agregue-una-pista-de-audio-más&#34;&gt;2) Mantenga todas las transmisiones desde la entrada 1, luego agregue una pista de audio más
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i english.mp4 -i french.mp3 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -map &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; -map 1:a:0 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -c copy &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  english-french.mp4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Significado:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-map 0&lt;/code&gt; mantiene todas las transmisiones desde la primera entrada&lt;/li&gt;
&lt;li&gt;Luego agregue la primera secuencia de audio de la segunda entrada.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;dos-trucos-avanzados-útiles&#34;&gt;Dos trucos avanzados útiles
&lt;/h2&gt;&lt;h3 id=&#34;1-mapeo-negativo-excluye-transmisiones-no-deseadas&#34;&gt;1) Mapeo negativo: excluye transmisiones no deseadas
&lt;/h3&gt;&lt;p&gt;Por ejemplo, mantenga todo lo de la entrada 1 pero elimine su segunda secuencia de audio:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i input.mkv -map &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; -map -0:a:1 -c copy output.mkv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;2-mapeo-opcional-no-falle-cuando-falte-una-transmisión&#34;&gt;2) Mapeo opcional: no falle cuando falte una transmisión
&lt;/h3&gt;&lt;p&gt;Si es posible que algunos archivos no tengan subtítulos, utilice &lt;code&gt;?&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i input.mp4 -map 0:v -map 0:a -map 0:s? -c copy output.mp4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;0:s?&lt;/code&gt; significa: subtítulos del mapa si están presentes; de lo contrario, salte sin error.&lt;/p&gt;
&lt;h2 id=&#34;errores-comunes&#34;&gt;Errores comunes
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Una vez que usa &lt;code&gt;-map&lt;/code&gt;, FFmpeg detiene la selección automática de secuencias, por lo que debe mapear todo lo que necesita.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-c copy&lt;/code&gt; solo remuxes sin transcodificación. Si el contenedor de destino no admite un códec, igualmente falla.&lt;/li&gt;
&lt;li&gt;Con múltiples entradas, los errores de índice son comunes. Los índices de entrada están determinados únicamente por el orden &amp;ldquo;-i&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Para scripts robustos, inspeccione primero con &lt;code&gt;ffprobe&lt;/code&gt; y luego genere &lt;code&gt;-map&lt;/code&gt; dinámicamente.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;La idea central de &lt;code&gt;-map&lt;/code&gt; es simple: decirle explícitamente a FFmpeg qué entrada usar, qué tipo de flujo elegir y qué índice de flujo seleccionar.&lt;/p&gt;
&lt;p&gt;Una vez que domine esto, podrá manejar de manera confiable casos complejos como composición de múltiples audios, múltiples subtítulos y transmisiones entre archivos.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
