¿Cuál es el método más rápido y que consume menos recursos para dividir un archivo MP4?
Intenté ffmpeg pero recibí un error:
$ ffmpeg -vcodec copy -ss 0 -t 00:10:00 -i /home/asafche/Videos/myVideos/MAH00124.MP4 /home/asafche/Videos/myVideos/eh.mp4
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.1-1ubuntu1.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 31 2011 18:53:20, gcc: 4.4.3
Seems stream 0 codec frame rate differs from container frame rate: 119.88 (120000/1001) -> 59.94 (60000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/asafche/Videos/myVideos/MAH00124.MP4':
Duration: 00:15:35.96, start: 0.000000, bitrate: 5664 kb/s
Stream #0.0(und): Video: h264, yuv420p, 1280x720, 59.94 tbr, 59.94 tbn, 119.88 tbc
Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16
Output #0, mp4, to '/home/asafche/Videos/myVideos/eh.mp4':
Stream #0.0(und): Video: libx264, yuv420p, 1280x720, q=2-31, 90k tbn, 59.94 tbc
Stream #0.1(und): Audio: 0x0000, 48000 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1
¿Qué estoy haciendo mal y cómo divido correctamente un archivo mp4?
video
file-format
Asaf Chertkoff
fuente
fuente
Respuestas:
Con ffmpeg puedes dividir archivos usando el siguiente comando:
donde START comienza a publicar en segundos o en formato hh: mm: ss LENGTH es la longitud del fragmento en segundos o en formato hh: mm: ss
Por lo tanto, deberá ejecutar este comando varias veces dependiendo de la duración de su video. Si digamos que su video dura 31 minutos y desea dividirlo en fragmentos de 15 minutos, así es como lo ejecuta:
Hay un script de Python que puede usar que lo hace automáticamente (es decir, toma el archivo de video, el tamaño del fragmento en segundos y genera archivos de video reproducibles individuales): http://icephoenix.us/notes-for-myself/auto-splitting-video -file-in-equal-chunks-with-ffmpeg-and-python /
fuente
Si prefiere usar una interfaz gráfica de usuario, hay avidemux disponible en los repositorios. ¡Definir los puntos de corte es mucho más fácil de esta manera!
Los marcadores de selección definen la parte del video que se exportará, el uso de "copiar" en audio y video evita la recodificación. También puede elegir el contenedor o cambiarlo (avi, mp4, mkv, etc.).
¡He hecho un montón de cortes en algunos videos de una cámara y fue instantáneo!
fuente
No estoy seguro de cuál es su necesidad, pero puede escribir esto en un terminal: Para abrir un terminal, presione Ctrl+ Alt+T
split -b 4M file.mp4 part_file
Esto dividirá los archivos en trozos de 4 megabytes. Para volver a crear el archivo, escriba
cat part_file[a-c] > file.mp4
Tenga en cuenta que he escritoLo explicaré con un ejemplo.a-c
en el paréntesis, porque la división creó 3 archivos. en su caso, quizás tenga que ver más.Esto muestra que tengo un solo archivo, de 9.3 MB. Para dividir, escribo:
Después de dividir, obtengo los archivos como:
Observe los dos caracteres agregados al nombre del archivo.
Para recuperar el archivo:
fuente
Use mkvmerge del paquete mkvtoolnix. Usa algo como
Esto dividiría su archivo en bloques de 1 GB. También puede usar indicaciones de tiempo.
fuente
Si se trata de una parte 2 de MP4, con un enfoque muy meticuloso, puede continuar el archivo sin codificador / decodificador. Esta respuesta está destinada a personas con experiencia en programación y un editor hexadecimal que desean mantener el archivo "" intacto "".
La primera parte del archivo es un mdat, la segunda es un moov, que contiene metadatos utilizados por el decodificador para localizar fragmentos, que contienen muestras (imágenes codificadas y sonido, no es importante saberlo). Luego están STCO, STTS, STSC, etc. Esto se llama "átomos". Indican cuál es el desplazamiento, la longitud, etc., de cada uno de los fragmentos. Si hace un trabajo limpio, puede hacer varias instancias de su video y diferentes versiones con diferentes fragmentos. El archivo se podrá reproducir en reproductores y se digiere en sitios web de video. Si es un programador, cree un analizador MP4 o use uno existente para realizar un seguimiento de las partes y sus compensaciones. Eso lo ayudará a saber más sobre el formato y a reconstruir los archivos automáticamente.
fuente
El método más fácil e infalible es usar MP4Box:
# apt install gpac
$ MP4Box -split 15 /home/asafche/Videos/myVideos/MAH00124.MP4
(el parámetro es el tiempo en segundos). Para otras posibilidades divididas, por ejemplo, por tamaño, consulte https://gpac.wp.imt.fr/mp4box/mp4box-documentation/ oMP4Box -h general
La concatenación es igualmente simple.
fuente
Otra herramienta GUI de código abierto , que puede dividir videos y hacer mucho más, es el freno de mano
Por ejemplo, aquí estoy dividiendo mi video en 24.53 (mm: ss), y también recortando el marco en el lado derecho:
Puede ver la vista previa de la salida fácilmente, con el botón "Vista previa".
fuente