Как разбить mkv-файл точно
|
вероятно, там ключевой кадр был. И кусок сцены от предыдущего ключевого кадра- просто теряется.
Отрезать можно и точно, ффмпегом, например. Но чтоб эта часть не пропала, надо полностью перекодировать ролик. Да, теряя качество, само собой. Если это вас не пугает, то пожалст - ffmpeg -i input.mkv -t 00:15:00 out1.mkv -ss 00:15:00 -t 00:15:00 out2.mkv дополнительно настройки качества, кодеков, т.д. - добавлять по желанию и вкусу :) |
А без перекодирования можно?
|
нет.
русским по белому же написал: ключевой кадр. Он в ДРУГОМ видео. То есть, всё, что было до следующего, - без перекодировки пропадает. И это самый лучший вариант. В других - просто отказ воспроизведения видео. |
lost8923142,
Почти. Для разбивки видео нужно делать это по ключевым кадрам. Это можно сделать как раз программой Avidemux которой Вы пользуетесь. В практическом тесте я взял запись в mkv контейнере avc / aac, 30FPS (запись из программы OBS Studio). В Avidemux есть навигация по ключевым кадрам вперед-назад (стрелки вверх-вниз). Я остановился на таком кадре. Сначала вырезал всё что было после него, сохранил. Потом сделал отмену, вырезал всё что было до него, сохранил, и у меня получилось две части по размеру примерно равные исходному. Точного совпадения размеров до байта я не ожидаю, потому что в N файлах будет N заголовков, а исходному файлу заголовок нужен один. Резка по ключевым кадрам скорее всего не будет точно 15 минут. У меня. Исходный файл: 1:01:56.133 Первая часть: 30:54.033 Вторая часть: 31:02.099 АХЪ. Потеряна аж одна сотая секунды длины видео. Учитывая что частота -- 30 кадров в секунду, полагаю что такую погрешность можно пережить. |
Цитата:
|
кстати, а в ffmpeg-e есть возможность резки по ключевым кадрам?
имею в виду, чтоб он сам находил i-frame, ближайший к указанной секунде, и резал по нему. Цель - чтоб не требовалась перекодировка для корректного соответствия аудиодорожке и прочих вещей. https://superuser.com/questions/1076...-codec-copying - читал. более интересно это - https://superuser.com/questions/5369...-to-3rd-minute но тут найденную картинку просто сохраняют, а не находят её таймстамп и не передают его в значение трима |
Цитата:
|
правильно ли понимаю, что надо юзать
Цитата:
ffmpeg -ss 06 -i 160.mp4 -noaccurate_seek -t 280 -c copy output.mp4 ? повторюсь, мне не нужно точно мгновение в мгновение, мне нужно от первого ключевого кадра, чтоб после обрезки не глючило изображение и не сползала на эти же секунды в сторону звуковая дорожка. |
Время: 11:48. |
Время: 11:48.
© OSzone.net 2001-