Какой самый быстрый и наименее ресурсоемкий метод разделения файла MP4?
Я попытался ffmpeg, но получил ошибку:
$ 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
Что я делаю не так и как правильно разделить файл mp4?
video
file-format
Асаф Чертков
источник
источник
Ответы:
С помощью ffmpeg вы можете разделить файл, используя следующую команду:
где START начинает позиционирование в секундах или в формате чч: мм: сс ДЛИНА - длина фрагмента в секундах или в формате чч: мм: сс
Поэтому вам нужно будет запустить эту команду несколько раз в зависимости от продолжительности вашего видео. Если, скажем, ваше видео длится 31 минуту, и вы хотите, чтобы его разбили на 15 минут, вот как вы его запустите:
Существует скрипт Python, который вы можете использовать, который делает это автоматически (т.е. берет видеофайл, размер куска в секундах и генерирует отдельные воспроизводимые видеофайлы): http://icephoenix.us/notes-for-myself/auto-splitting-video -file-в-равных-кусковые-с-FFmpeg-и-Python /
источник
Если вы предпочитаете использовать графический интерфейс, в репозиториях есть avidemux. Таким образом, определить точки разреза намного проще!
Маркеры выбора определяют часть видео, которая будет экспортироваться, использование «копирования» в аудио и видео позволяет избежать перекодирования. Вы также можете выбрать контейнер или изменить его (avi, mp4, mkv и т. Д.).
Я сделал несколько снимков видео с камеры, и это было мгновенно!
источник
Не уверен, что вам нужно, но вы можете ввести это в терминале: Чтобы открыть терминал, нажмите Ctrl+ Alt+T
split -b 4M file.mp4 part_file
Это разделит файлы на куски по 4 мегабайта. Чтобы заново создать файл, введите
cat part_file[a-c] > file.mp4
Обратите внимание, что я набралЯ объясню на примере.a-c
в скобках, потому что разделение создало 3 файла. в вашем случае вам, возможно, придется увидеть больше.Это показывает, что у меня есть один файл размером 9,3 МБ. Чтобы разделить, я набираю:
После разбиения я получаю файлы как:
Обратите внимание на два символа, добавленные к имени файла.
Чтобы получить файл обратно:
источник
Используйте mkvmerge из пакета mkvtoolnix. Используйте что-то вроде
Это разделит ваш файл на блоки размером 1 ГБ. Вы также можете использовать индикации времени.
источник
Если это MP4 часть 2, то при очень тщательном подходе вы можете обработать файл без кодера / декодера. Этот ответ предназначен для людей с опытом программирования и шестнадцатеричным редактором, которые хотят сохранить файл "" неповрежденным ".
Первая часть файла - это mdat, вторая - это moov, содержащий метаданные, используемые декодером для определения местоположения фрагментов, которые содержат сэмплы (закодированные изображения и звук, которые не важно знать). Тогда есть STCO, STTS, STSC и т. Д. Это называется «атомы». Они указывают, каково смещение, длина и т. Д. Каждого из фрагментов. Если вы делаете чистую работу, вы можете сделать несколько экземпляров вашего видео и разные версии с разными кусками. Затем файл будет воспроизводиться в проигрывателях и перевариваться на видео-сайтах. Если вы кодер, то создайте синтаксический анализатор MP4 или используйте существующий, чтобы отслеживать детали и их смещения. Это поможет вам узнать больше о формате и автоматически перестроить файлы.
источник
Самый простой и надежный способ - использовать MP4Box:
# apt install gpac
$ MP4Box -split 15 /home/asafche/Videos/myVideos/MAH00124.MP4
(параметр время в секундах). Для других возможностей разделения, например, по размеру см. Https://gpac.wp.imt.fr/mp4box/mp4box-documentation/ илиMP4Box -h general
Конкатенация также проста.
источник
Другой инструмент с открытым исходным кодом GUI , который может разделять видео и делать гораздо больше, это ручной тормоз
Например, здесь я делю видео на 24,53 (мм: сс), а также обрезаю рамку с правой стороны:
Вы можете легко просмотреть предварительный просмотр вывода - с помощью кнопки «Предварительный просмотр».
источник