Tecnología · GUÍA PRÁCTICA
¿yt-dlp descargó un vídeo sin audio? Audita los flujos y FFmpeg antes de repetir
Un resultado silencioso de yt-dlp no significa automáticamente que la descarga falló. Conserva el archivo y el registro detallado, inspecciona los flujos que realmente existen y distingue una selección solo de vídeo de una combinación omitida o de un problema de compatibilidad antes de volver a descargar.

Cuando un vídeo descargado no tiene sonido, la opción más segura no es descargarlo otra vez. Conserva la salida existente, cualquier componente separado de audio o vídeo, el comando exacto y el registro detallado. En conjunto pueden mostrar si seleccionaste un formato solo de vídeo, si yt-dlp encontró FFmpeg e intentó combinar los flujos, o si el archivo final contiene audio que un reproductor no puede decodificar.
La documentación de yt-dlp explica que muchos sitios ofrecen el vídeo y el audio de mayor calidad como flujos separados. La tabla de formatos los marca por separado y su combinación requiere FFmpeg. Un caso real del proyecto también demuestra que elegir de forma explícita un único ID solo de vídeo puede producir un archivo sin audio aunque FFmpeg esté instalado, porque FFmpeg no puede inventar un flujo que nunca se seleccionó.
Esta guía es para contenido multimedia que tienes autorización para guardar. No explica cómo eludir DRM ni controles de acceso. El resultado buscado es un registro breve de evidencias y la decisión sobre la acción mínima siguiente, no la promesa de que un selector sirve para todos los sitios.
1. Inmoviliza las evidencias antes de cambiar el comando
Copia a una carpeta de trabajo la salida silenciosa y cualquier archivo de componentes con el mismo nombre base. No sobrescribas ni borres archivos con sufijos como .f137, .f140, .video, .audio, .webm o .m4a. Los nombres varían, pero una pareja restante puede reutilizarse sin volver a descargar el contenido.
Anota el comando exacto de yt-dlp, la URL de la página, la versión de yt-dlp, el sistema operativo y el reproductor de la primera prueba. Cuando sea posible, ejecuta de nuevo solo el comando informativo con salida detallada: `yt-dlp -v -F URL`. La tabla de `-F` es de solo lectura y enumera las filas disponibles; la cabecera detallada también indica si se detectaron FFmpeg y ffprobe.
No publiques cookies de cuenta, URL firmadas de contenido ni otras credenciales en una solicitud de ayuda. Mantén los secretos fuera del registro de evidencias.
2. Inspecciona el archivo que ya está en el disco
No juzgues el contenido por la extensión del contenedor. Si ffprobe está disponible, ejecuta `ffprobe -hide_banner -show_streams -show_format "FILE"`. Busca al menos un flujo `codec_type=video` y otro `codec_type=audio`. Un contenedor MP4, MKV o WebM puede incluir ambos, uno solo o ninguno.
Si el archivo tiene vídeo pero no un flujo de audio, el reproductor no es el primer sospechoso. Pasa a las evidencias de selección y combinación. Si sí existe un flujo de audio, pruébalo en un segundo reproductor actualizado y comprueba si está deshabilitado, si su códec no es compatible o si su asignación es inusual antes de descargar otra vez.
Si ffprobe informa que el archivo está truncado o no se puede leer, consérvalo como una rama separada de integridad. Un contenedor dañado no es el mismo diagnóstico que un flujo válido solo de vídeo.
3. Lee la fila seleccionada, no solo el ID del formato
En `yt-dlp -F URL`, localiza la fila de cada ID utilizado después de `-f` y lee las columnas de audio y vídeo. Una fila descrita como video only no contiene una pista de audio que pueda combinarse por sí sola; una fila audio only no puede producir imagen. El caso del proyecto revisado para esta guía muestra exactamente ese patrón: se seleccionó de forma explícita un ID solo de vídeo aunque FFmpeg ya estaba detectado.
Si elegiste un ID solo de vídeo, combínalo con una fila de audio mediante un selector como `VIDEO_ID+AUDIO_ID`, o usa una política documentada como `bv*+ba/b` después de comprobar qué resuelve para esa URL. No supongas que un ID numérico copiado representa los mismos códecs o la misma disposición en otro sitio o en otra publicación.
Antes de una descarga real, previsualiza la decisión con `yt-dlp -v -f "SELECTOR" --simulate URL` y guarda las filas seleccionadas que aparezcan en la salida detallada. La simulación permite verificar la lógica sin descargar contenido.
4. Separa la selección del descubrimiento de FFmpeg y de la combinación
Un selector que contiene vídeo más audio sigue necesitando FFmpeg para la ruta normal de combinación. Confirma en la salida detallada que yt-dlp muestra las versiones detectadas de FFmpeg y ffprobe. Si indica que falta FFmpeg, ejecuta `ffmpeg -version` y `ffprobe -version` en la misma shell que inicia yt-dlp. Un terminal gráfico, un programador o un servicio pueden tener un PATH distinto del de una shell interactiva.
Si FFmpeg está instalado fuera del PATH, usa la opción documentada `--ffmpeg-location` con el directorio o la ruta del ejecutable. No renombres binarios no relacionados ni descargues un ejecutable sin verificar solo para ocultar el aviso.
Si se encuentra FFmpeg pero no ocurre ninguna combinación, busca en el registro dos flujos de componentes descargados y la línea del merger o postprocessor. Un comando que elige intencionadamente una fila combinada puede no necesitar combinación; reinstalar FFmpeg no arregla un comando que seleccionó únicamente vídeo.
5. Reutiliza los componentes completos antes de descargar otra vez
Si la carpeta de trabajo ya contiene un archivo completo solo de vídeo y otro completo solo de audio del mismo elemento, inspecciona ambos. Confirma que uno tiene vídeo, el otro audio y que ninguno está truncado. Después cópialos con nombres estables antes de experimentar.
Una remultiplexación manual puede comprobar si los flujos existentes son utilizables: `ffmpeg -i "VIDEO_FILE" -i "AUDIO_FILE" -map 0:v:0 -map 1:a:0 -c copy "merged-test.mkv"`. Usa un nombre de salida nuevo. MKV es útil como contenedor de diagnóstico porque la copia de flujos evita transcodificar y admite muchas parejas de códecs; no garantiza que todos los dispositivos de destino sean compatibles.
Inspecciona `merged-test.mkv` y reprodúcelo en dos reproductores actuales. Si contiene ambos flujos y se oye, quizá no sea necesario repetir la descarga de red. Si FFmpeg señala una entrada incompatible o dañada, conserva el error y vuelve a la rama de integridad.
6. Usa una matriz de síntomas para decidir el siguiente paso
Registra una fila por cada archivo observado. “Sin audio” debe significar que ffprobe no encontró un flujo de audio; “audio presente, pero silencioso en un reproductor” es una fila distinta. Esta redacción evita tratar un problema del reproductor como si fuera de selección.
Si la fila seleccionada es solo de vídeo y no existe un componente de audio, corrige el selector, simúlalo y realiza una única descarga controlada. Si existen componentes emparejados y ambos pasan la inspección, remultiplexa primero copias. Si el archivo final contiene audio pero solo un reproductor queda en silencio, prueba compatibilidad de reproductor y códec. Si el registro seleccionó ambos flujos pero falló la combinación, corrige el error exacto de descubrimiento o posprocesamiento de FFmpeg en vez de cambiar formatos al azar.
Evidencia | Rama más probable | Acción mínima siguiente El archivo final tiene solo vídeo y la fila elegida dice video only | Selección de formato | Elegir o simular una política de vídeo+audio Quedan archivos completos separados de vídeo y audio | Combinación omitida o fallida | Inspeccionar y remultiplexar copias en un archivo nuevo El archivo final contiene ambos flujos y un reproductor está en silencio | Compatibilidad de reproducción o códec | Probar otro reproductor e inspeccionar el códec y la asignación de audio La cabecera detallada no encuentra FFmpeg | Descubrimiento de la herramienta | Verificar el PATH en la misma shell o establecer --ffmpeg-location La inspección informa truncamiento o datos no válidos | Integridad del archivo | Conservar el error y no sobrescribir la única copia
7. Condiciones de parada y registro listo para soporte
Detente antes de repetir la descarga si no conoces las filas seleccionadas, la URL de origen ya no resuelve al mismo elemento, todavía no has copiado los componentes existentes o el registro detallado contiene credenciales sin retirar. Detente y pide permiso si no tienes autorización para guardar el contenido.
Para una solicitud de soporte, incluye el comando saneado, la versión de yt-dlp, el sistema operativo, las filas relevantes de `-F`, la línea de detección de FFmpeg, el resumen de flujos de ffprobe, los nombres de los componentes y el primer error de combinación o reproducción. Separa las observaciones de las conclusiones.
Después de una corrección controlada, inspecciona de nuevo el archivo final y reprodúcelo en dos reproductores actuales. La existencia de un nombre de archivo no verifica una descarga; la aceptación exige un flujo de vídeo legible, un flujo de audio legible y reproducción correcta en el entorno de destino.
Preguntas frecuentes
¿Por qué yt-dlp descargó vídeo sin audio si FFmpeg está instalado? Un ID explícito puede ser solo de vídeo. FFmpeg combina flujos seleccionados, pero no puede añadir uno de audio que el selector nunca pidió. Inspecciona primero la fila seleccionada y el registro detallado.
¿Debo borrar los archivos separados de audio y vídeo? No. Inspecciónalos y cópialos primero. Si ambos están completos y pertenecen al mismo elemento, podrían remultiplexarse sin repetir la descarga de red.
¿Una extensión MP4 demuestra que el archivo contiene audio? No. El nombre del contenedor no demuestra qué flujos incluye. Usa ffprobe u otro inspector de flujos.
¿`bestvideo+bestaudio` es siempre el selector correcto? No hay un selector universal. Inspecciona la tabla actual y usa las políticas y alternativas documentadas de yt-dlp para el elemento y el dispositivo de destino.
