← Volver al Blog
Tutorials & How-Tos

Recortar vídeo con FFmpeg: cuándo copiar flujos o recodificar

Elige entre la copia de flujos y la recodificación con FFmpeg para una demostración SDR autorizada, entiende las opciones de búsqueda y asignación de flujos y, después, inspecciona el clip real. Esta guía usa comandos ilustrativos, no resultados de ejecución.

Escrito por Hamza Diaz
30 de octubre de 202610 min de lectura54 vistas

Supongamos que necesitas un fragmento breve de una grabación autorizada de una demostración de producto. Como referencia interna, puede ser aceptable que empiece un poco antes. Para una presentación pública, quizá el clip deba empezar en una pantalla concreta. Esa diferencia debe determinar cómo recortas el vídeo.

Empieza con la copia de flujos si un límite aproximado es aceptable. Elige la recodificación cuando lo exijan los requisitos de edición o entrega y, después, inspecciona el resultado. El comando de FFmpeg más breve no sustituye un criterio de aceptación claro.

Esta guía explica esa elección mediante comandos completos e ilustrativos. No se han ejecutado para este artículo; no se presentan salidas de ejemplo ni resultados de reproducción.

Elige el recorte según los límites que necesites

La copia de flujos conserva los paquetes comprimidos, con limitaciones en el recorte

FFmpeg separa un contenedor en flujos multimedia, como vídeo y audio. La copia de flujos escribe los paquetes comprimidos seleccionados en un contenedor de salida sin decodificarlos ni codificarlos. No permite aplicar filtros a esos flujos copiados. La documentación oficial sobre la copia de flujos describe este proceso.

Evitar otra generación de codificación no garantiza que el primer fotograma visible sea exactamente el deseado. Tampoco significa que los bytes del archivo sean idénticos ni que se conserven todos los campos de metadatos. El contenedor de salida debe admitir los flujos seleccionados.

RequisitoElección inicialComprobación de aceptación
Extracto interno aproximadoConsidera la copia de flujosEl inicio y el final son aceptables
Demostración SDR con límites definidos deliberadamenteConsidera la recodificaciónRevisa los límites visuales y de audio solicitados
Se necesitan filtros de vídeoRecodifica el vídeo afectadoComprueba el resultado del filtro y la reproducción
El destino rechaza los códecs de origenElige una codificación y un contenedor compatiblesAbre el resultado en el destino
Debe excluirse contenido sensibleNo aceptes una copia aproximada como garantíaRevisa el clip completo que se entregará

Usa la tabla para elegir un punto de partida. La aprobación llega después de revisar el archivo. Un clip que se reproduce puede seguir conteniendo material que querías excluir.

La recodificación aporta control a cambio de un coste

La recodificación decodifica el contenido multimedia y genera una salida codificada de nuevo. Un filtro necesita fotogramas decodificados, por lo que no se pueden aplicar filtros y copiar flujos al mismo flujo. El manual de FFmpeg explica esa diferencia.

La receta de codificación que aparece más abajo introduce otra generación con pérdida y requiere trabajo de procesamiento. Sus ajustes responden a decisiones concretas de entrega. Que esa combinación de ventajas e inconvenientes sea adecuada para tu grabación depende del resultado que necesites; ninguna de las dos vías garantiza rapidez o compatibilidad con todas las fuentes y reproductores.

Inspecciona el origen y define qué debe contener el clip

Consulta el inventario de flujos con ffprobe

Estos ejemplos presuponen que FFmpeg y ffprobe están instalados y que tienes permiso para usar la grabación. El archivo de origen es un archivo local SDR H.264/AAC corriente cuya duración supera el intervalo solicitado. Usa una consola de tipo POSIX. La instalación y la conversión de HDR quedan fuera de esta guía.

Empieza con estos comandos de inspección:

ffmpeg -version
ffmpeg -encoders
ffprobe -v error -show_format -show_streams -of json 'demo-source.mp4'

Anota la versión instalada y comprueba que la lista de codificadores incluye libx264 y aac antes de probar la receta de codificación. La documentación de códecs describe la dependencia de compilación de libx264. Cambiar la extensión de un archivo no añadirá un codificador que falte.

La referencia de ffprobe documenta los informes de contenedores y flujos con salida legible por máquina. Examina los índices de los flujos y los códecs. Comprueba la duración, el formato de píxel y cualquier información de color disponible; después, busca pistas adicionales. Considera desconocida la información que falte. Los comandos anteriores son pasos de inspección propuestos, no pruebas de una ejecución registrada. Los manuales en línea pueden diferir de tu compilación instalada; usa su ayuda local para comprobar una opción que no conozcas.

Conserva el original y trabaja sobre una copia aparte

Conserva el original en otro lugar. Coloca una copia de trabajo autorizada llamada demo-source.mp4 en un directorio local desechable y ejecuta allí los ejemplos, con nombres de salida distintos.

Ambas recetas incluyen -n, que rechaza la escritura si la salida ya existe. Si ya existe un archivo con ese nombre, inspecciónalo o elige otro nombre. Mantén la protección contra sobrescritura mientras decides qué conservar.

Anota qué pistas necesita el clip. Las recetas seleccionan el primer vídeo y, de forma opcional, el primer audio. Otras pistas de idioma y los flujos independientes de subtítulos, adjuntos y datos quedan fuera de esa selección. Esto no determina si se conservan los datos de subtitulado incrustados en un flujo de vídeo seleccionado; compruébalo por separado. Decide si su ausencia es aceptable antes de ejecutar el recorte.

Crea un clip aproximado con la copia de flujos

Define explícitamente la búsqueda en la entrada y la duración de salida

Este ejemplo solicita un inicio en 00:00:30 y una duración de salida de 10 segundos:

ffmpeg -n -ss 00:00:30 -i 'demo-source.mp4' -t 10 -map 0:v:0 -map '0:a:0?' -c copy 'demo-copy.mkv'

Como -ss aparece antes de -i, se trata de una búsqueda en la entrada. La referencia oficial de opciones explica que la mayoría de los formatos no permiten buscar con exactitud. FFmpeg busca el punto de búsqueda anterior más cercano; la copia de flujos conserva el segmento adicional previo a la posición solicitada.

Por eso debes tratarlo como un recorte aproximado. Comprueba qué aparece y qué se oye al principio en lugar de suponer que la marca de tiempo describe el primer fotograma mostrado o la primera muestra audible.

Después de la entrada, -t 10 limita la duración de salida. No establece una marca de tiempo final absoluta ni demuestra cuáles son el último fotograma y la última muestra de audio observados. La sintaxis de duración temporal admite la notación utilizada aquí. Mantener separados el inicio y la duración facilita la revisión de la solicitud.

Comprueba qué seleccionan realmente las asignaciones de flujos

-map 0:v:0 selecciona el primer flujo de vídeo de la entrada cero. -map '0:a:0?' selecciona su primer flujo de audio si existe. El signo de interrogación hace opcional la asignación de audio, tal como se documenta en asignación de flujos. Las comillas permiten pasar el signo de interrogación literalmente en la consola que se presupone aquí; consulta las indicaciones del manual sobre comillas y caracteres de escape. La asignación opcional sigue requiriendo que exista la entrada cero.

El audio opcional es una comodidad, no un criterio de aceptación. Si la presentación requiere narración, un clip sin audio no supera la revisión aunque el comando termine.

-c copy copia los flujos seleccionados. MKV es el contenedor del ejemplo; comprueba la compatibilidad de los contenedores y el editor previsto antes de adoptarlo. Después, revisa ambos extremos del clip real. Mover -ss después de -i no hace que la copia de paquetes sea precisa a nivel de fotograma por sí sola.

Recodifica un clip SDR para una entrega planificada

Usa el ejemplo de H.264 y AAC dentro de su alcance

La alternativa codificada solicita el mismo intervalo y la misma selección de flujos. Necesita los codificadores comprobados antes y sigue siendo un ejemplo sin ejecutar:

ffmpeg -n -ss 00:00:30 -i 'demo-source.mp4' -t 10 -map 0:v:0 -map '0:a:0?' -c:v libx264 -crf 20 -preset medium -pix_fmt yuv420p -c:a aac -b:a 160k -movflags +faststart 'demo-encoded.mp4'

Durante la transcodificación con búsqueda en la entrada, la opción predeterminada accurate_seek decodifica y descarta el segmento entre el punto de búsqueda y la posición solicitada. Esta es la diferencia documentada respecto a la copia de flujos. Explica la elección, pero no aprueba la edición resultante. Revisa los fotogramas iniciales y el final, incluido el audio.

libx264 codifica vídeo H.264. -crf 20 establece un valor de control de calidad constante, mientras que -preset medium selecciona un ajuste preestablecido de codificación. Consulta la referencia del codificador para conocer esos controles. Los valores de este ejemplo son ajustes iniciales, no puntuaciones de calidad ni una afirmación de que una combinación sirva para cualquier grabación.

Separa la preparación para la reproducción de la precisión del recorte

-pix_fmt yuv420p solicita ese formato de píxel. Si un codificador no puede usar el formato de píxel solicitado, FFmpeg puede emitir una advertencia y seleccionar otro formato compatible; inspecciona la salida real, como explica la referencia de la opción de formato de píxel. Las opciones de audio -c:a aac -b:a 160k solicitan codificación AAC con el ajuste de tasa de bits indicado. Son decisiones de entrega, no instrucciones para conservar todas las propiedades del origen.

La receta no garantiza un mapeo de tonos HDR correcto ni la conservación de una profundidad de bits elevada. La gestión de la rotación y la conservación del audio multicanal también necesitan comprobaciones propias. Compara la calidad visible y el tamaño del archivo con tu material, y registra el esfuerzo de procesamiento si importa en el flujo de trabajo. No hay ninguna prueba de rendimiento detrás de estos ejemplos.

Para MP4, +faststart mueve los metadatos del índice al principio para la reproducción progresiva. La documentación del multiplexor MOV/MP4 describe esa pasada adicional. No mejora la precisión del recorte ni la calidad del codificador. Abre el MP4 H.264/AAC en su destino previsto antes de aceptarlo.

Realiza la comprobación de aceptación del clip antes de compartirlo

Límites: revisa lo que se ve y se oye

La comprobación de aceptación del clip de Optijara es la lista de comprobación editorial original de esta guía, organizada en torno al origen, los límites, los flujos y el destino. No es una norma del sector ni una metodología de Optijara probada. Úsala para decidir si la salida cumple lo solicitado.

Confirma que has usado la copia de trabajo autorizada. Reproduce o decodifica el inicio y el final, comprobando los fotogramas visibles y dónde empieza y termina el audio. Si debe excluirse material sensible, revisa todo el archivo que se entregará. Una vista previa cerca de la marca de tiempo solicitada no basta para resolver esa cuestión.

flowchart TD A[Define el origen y los límites necesarios] --> B{¿Es aceptable un extracto aproximado?} B -->|Sí| C[Considera la copia de flujos] B -->|No| D[Elige una recodificación planificada] C --> E[Inspecciona los flujos y revisa el contenido real] D --> E E --> F{¿Supera las comprobaciones de destino y contenido?} F -->|No| G[Revisa los ajustes o el alcance y comprueba de nuevo] G --> E F -->|Sí| H[Acepta el archivo revisado]

La incidencia 1216 de LosslessCut trata sobre la búsqueda, los fotogramas y la coherencia de las marcas de tiempo. Los testimonios son un motivo para inspeccionar tu propia salida. No demuestran un fallo universal actual de FFmpeg ni aportan resultados de pruebas para esta guía.

Flujos y entrega: conserva pruebas del archivo real

Inspecciona la salida que hayas creado:

ffprobe -v error -show_format -show_streams -of json 'demo-copy.mkv'
ffprobe -v error -show_format -show_streams -of json 'demo-encoded.mp4'

Ejecuta solo la inspección del archivo que realmente hayas creado. La falta de un codificador, un flujo necesario o un multiplexor utilizable deja esa vía sin resolver, no probada con éxito. Conserva las observaciones que respalden tu decisión:

ComprobaciónAcción que realizarPruebas que conservar
OrigenConfirma la autorización y que el original siga intactoIdentificador del origen y nota sobre la copia de trabajo
LímitesMira y escucha ambos extremos; revisa todo el contenido cuando sea necesarioIntervalo solicitado y notas sobre el contenido observado
FlujosCompara el inventario de ffprobe con las pistas necesariasInforme real de códecs, pistas y duración
DestinoAbre el archivo final en el editor o reproductor previstoNotas sobre reproducción, sincronización, calidad visible y tamaño

La duración del contenedor por sí sola no demuestra cuáles son el primer y el último fotograma previstos, ni la sincronización de audio y vídeo. Deja sin resolver las comprobaciones no realizadas y las fallidas.

Si la copia de flujos no cumple el requisito de límites, prueba la vía de codificación y repite las comprobaciones. Si faltan pistas, revisa la asignación y la compatibilidad del multiplexor. Un fallo de reproducción requiere comprobar los requisitos de códecs del destino y los codificadores disponibles, no solo cambiar el nombre del archivo.

Este registro describe la lista de comprobación. No contiene resultados de mediciones:

{"framework":"clip-acceptance-check","layers":["source","boundary","streams","destination"],"requiredChecks":["authorization","content-boundaries","tracks","playback"],"executionStatus":"illustrative_not_executed","acceptanceStatus":"unassessed"}

Errores de los equipos al copiar comandos de FFmpeg

Cambiar opciones sin comprobar la operación

La posición de las opciones cambia su significado. Antes de mover -ss, comprueba si quieres realizar una operación de entrada o de salida. Del mismo modo, -t indica duración y -to indica posición de parada. El manual señala que son mutuamente excluyentes y que -t tiene prioridad. Elige una.

La selección automática de flujos no garantiza todas las pistas necesarias. Seleccionarlo todo con -map 0 tampoco garantiza que el multiplexor pueda admitirlo todo. Los ejemplos de esta guía no asignan flujos de subtítulos independientes. Los subtítulos incrustados en el vídeo seleccionado requieren una comprobación aparte de conservación o exclusión; la referencia de libx264 documenta la importación de subtítulos cerrados que admite. Si los subtítulos importan, planifica su conservación o entrega por separado y comprueba su sincronización después de la edición. La guía de sincronización de subtítulos y exportación de Remotion aborda la distinción relacionada entre las referencias temporales de los subtítulos y la salida final.

Tratar una finalización correcta como aprobación editorial

Una finalización correcta indica que el proceso ha terminado. Alguien sigue teniendo que aprobar el contenido. Evita tratar -copyts, -avoid_negative_ts, los desplazamientos o una solución provisional de una conversación sobre una incidencia como remedios universales para un límite incorrecto.

Los tutoriales históricos, como la guía de recorte de OTTVerse, ofrecen ejemplos de comandos útiles. Antes de adoptar una receta, añade los requisitos de flujos y las comprobaciones de aceptación de tu grabación. Una afirmación sobre precisión en otra fuente no sustituye la visualización de tu clip.

Conoce los límites de esta receta de recorte

HDR, metadatos y contenido multimedia complejo necesitan un plan aparte

Las compilaciones instaladas y las marcas de tiempo del origen pueden diferir, al igual que los multiplexores y los reproductores de destino. Trata la conversión de HDR y la gestión del color como trabajo independiente. Lo mismo se aplica a la rotación, el audio multicanal, los idiomas adicionales, la conservación de subtítulos, el contenido multimedia dañado y las entradas de red. Cada caso necesita requisitos explícitos y validación específica del origen.

No supongas que la remultiplexación o la exportación conservan todos los metadatos o las credenciales de procedencia incrustadas. Para los recursos creados con ayuda de IA, la guía de preparación para la procedencia del contenido explica por qué deben comprobarse las pruebas después de las transformaciones.

El permiso para recortar localmente no resuelve el permiso para subir el contenido después. Antes de añadir procesamiento alojado o reutilización de contenido para campañas con ayuda de IA, define quién puede acceder a la grabación y quién aprueba su reutilización pública. La guía de flujos de trabajo de contenido seguros para la marca aborda ese límite de revisión.

No se ha realizado ninguna conversión multimedia, subida ni prueba de reproducción para este artículo. Al adaptar los ejemplos, mantén separadas las comprobaciones propuestas y las observaciones registradas. Las pruebas empiezan con el archivo real.

Puntos clave

  • 1La copia de flujos evita otra generación de codificación, pero no garantiza el límite visible solicitado.
  • 2Usa asignaciones de flujos y duración de salida explícitas, y documenta qué pistas omite intencionadamente la receta.
  • 3La búsqueda en la entrada se comporta de forma distinta durante la copia de flujos y la transcodificación con búsqueda precisa predeterminada.
  • 4Los ajustes de codificación H.264/AAC son decisiones de entrega con ventajas e inconvenientes de calidad y procesamiento, no garantías de compatibilidad universal.
  • 5Aplica la comprobación de aceptación del clip: origen, límites, flujos y destino.
  • 6Los metadatos de ffprobe y una finalización correcta no sustituyen las comprobaciones visuales, de escucha y de reproducción en el destino.

Conclusión

Elige el recorte según lo que deba contener el clip entregado. La copia de flujos puede servir para un extracto aproximado; la recodificación ofrece otros controles y sigue necesitando revisión. Conserva intacto el origen y selecciona las pistas de forma explícita. Después, realiza la comprobación de aceptación del clip sobre la salida real, incluida su reproducción en el destino. Define requisitos propios para el tratamiento complejo del color y las pistas adicionales, y resuelve los permisos antes de añadir procesamiento alojado. Si el recorte pasa a formar parte de un flujo de contenido más amplio con ayuda de IA, Optijara puede ayudar a definir sus requisitos de revisión e integración.

Preguntas frecuentes

¿Cómo recorto un vídeo con FFmpeg sin recodificarlo?

Usa el ejemplo completo de copia de flujos con búsqueda en la entrada, duración de salida, flujos seleccionados y un nombre de archivo nuevo. La opción -c copy evita recodificar esos flujos, pero no elimina las comprobaciones de límites o reproducción. El ejemplo es ilustrativo y no se ha ejecutado.

¿Por qué un clip copiado por flujos con FFmpeg empieza antes del momento solicitado?

La búsqueda en la entrada suele llegar a un punto de búsqueda anterior. La copia de flujos conserva el segmento adicional previo a la posición solicitada; la búsqueda precisa predeterminada durante la transcodificación lo decodifica y descarta. Inspecciona la reproducción real porque los archivos de origen y los reproductores difieren.

¿Debo usar -t o -to al recortar un clip?

Esta receta usa -t después de la entrada para especificar la duración de salida. La opción -to especifica, en cambio, una posición de parada. No las combines: FFmpeg las documenta como mutuamente excluyentes, con prioridad para -t.

¿Qué significa -map '0:a:0?'?

Selecciona el primer flujo de audio de la entrada cero si existe. El signo de interrogación hace opcional esa asignación de flujo, no la propia entrada; las comillas permiten pasarlo literalmente. No selecciona otros idiomas ni flujos de subtítulos independientes. Si el audio es obligatorio, una salida sin audio no supera la aceptación.

¿Pueden la recodificación o ffprobe demostrar que el clip previsto está listo para compartir?

No. La recodificación y la inspección de metadatos no aprueban el contenido visible, la sincronización de audio ni la reproducción en el destino. Revisa la salida real, incluido todo el clip que se entregará cuando sea importante excluir contenido sensible. La duración del contenedor por sí sola no demuestra los límites previstos.

Fuentes

Compartir este artículo

Hamza Diaz

Escrito por

Hamza Diaz

Hamza Diaz es el fundador de Optijara, donde crea agentes de IA prácticos, sistemas de automatización y flujos de trabajo de Copilot para empresas de servicios. Escribe sobre operaciones de IA, estrategia de agentes e implementación real para equipos que quieren sistemas útiles en lugar de promesas vacías.