Page Index Toggle Pages: 1 Send Topic | Print
Normal Topic Не корректно режет h264 (Read 4375 times)
Davis
Forum Administrator
*****
Offline


Admin

Posts: 76
Location: Ukraine
Joined: 08.11.2005
Gender: Male
Re: Не корректно режет h264
Reply #5 - 27.01.2020 at 09:08:32
Print Post  
ascerdfg wrote on 27.01.2020 at 08:13:34:
Пробовал подменить FFmpeg.exe новой версией файла, ругается на недостающую библиотеку.
                   


Видимо вы скачали версию "shared linking". В этом случае, подложите не только EXE файл, но и все DLL.
Либо скачайте "static linking"
  

Dmitry Sinitsyn,
Davis Software
Back to top
WWW  
IP Logged
 
Davis
Forum Administrator
*****
Offline


Admin

Posts: 76
Location: Ukraine
Joined: 08.11.2005
Gender: Male
Re: Не корректно режет h264
Reply #4 - 27.01.2020 at 09:06:31
Print Post  
Здравствуйте,

Давайте попробую объяснить.
Некоторые видеокодеки используют так называемое внутрикадровое сжатие(http://en.wikipedia.org/wiki/Intra-frame). В этом случае  для восстановления любого кадра декомпрессору необходима информация только об одном этом кадре. Таким образом, такой сжатый файл возможно разрезать в любом месте, на границе любого кадра прямо в сжатом видео, без распаковки. Например такие кодеки - DV и HuffYUV.
Большинство современных кодеков используют междукадровое сжатие (http://en.wikipedia.org/wiki/Inter_frame). В этом случае только I-кадры содержат всю необходимую информацию для распаковки, другие типа кадров, P и B, нуждаются в нескольких соседних кадрах для правильного восстановления. И хотя мы имеем возможность разрезать такой файл на границе любого кадра, при попытке воспроизвести такой кусок плеер не сможет показать виде от начала файла вплоть до первого I-кадра, таким образом зритель будет видеть застывшую "на паузе"картинку в начале каждого файла.

Так что у нас есть три пути:

1. Разделять сжатый файл в любом месте. Начало клипов будет с проблемой "паузы".

2. Разделять сжатый файл только в на границе I-кадров. Это уберет проблему "паузы", но клипы будут начинаться не всегда точно на границе сцены.
Чтобы использовать этот путь: выберите FFmpeg на вкладке "Движок для режима Split" и затем на вкладке "Движок FFmpeg" выберите профиль кодирования "Прямопотоковое копирование начиная с ключевого кадра"

3. Разделять с рекомпрессией. Полностью распаковать исходный файл, а затем сжать необходимую его часть таким же или другим кодеком и сохранить в новый файл. В этом случае - нет проблемы "паузы" и новый файл может начинается с любого выбранного кадра, но рекомпрессия в общем случае ухудшает качество и занимает дополнительное время. Используя правильные настройки сжимающего кодека можно добиться того, что изменения качества будут незаметны.
Чтобы использовать этот путь: выберите движок DirectShow AVI на вкладке "Движок для режима Split", а на вкладке "Движок DirectShow. Кодеки" отметьте "всегда распаковывать" и настройте желаемый кодек для новых файлов.
Либо используйте FFmpeg как движок для режима Split и выберите, например, XVid AVI профиль или создайте собственный профиль кодирования. FFmpeg может кодировать практически любым существующим кодеком.
  

Dmitry Sinitsyn,
Davis Software
Back to top
WWW  
IP Logged
 
ascerdfg
New Member
*
Offline



Posts: 5
Joined: 26.01.2020
Re: Не корректно режет h264
Reply #3 - 27.01.2020 at 08:13:34
Print Post  
Пробовал подменить FFmpeg.exe новой версией файла, ругается на недостающую библиотеку.
  
Back to top
 
IP Logged
 
ascerdfg
New Member
*
Offline



Posts: 5
Joined: 26.01.2020
Re: Не корректно режет h264
Reply #2 - 27.01.2020 at 06:53:15
Print Post  
На вкладке "Движёк FFmpeg" корректно работает только профиль Xvid AVI и MPEG-2.
От HuffYUV AVI падает Media Player Classic.
  
Back to top
 
IP Logged
 
ascerdfg
New Member
*
Offline



Posts: 5
Joined: 26.01.2020
Re: Не корректно режет h264
Reply #1 - 27.01.2020 at 05:54:47
Print Post  
Пробовал в Windows XP x86 SP3: тоже самое с точностью до байта.

AVIDemux вручную режет хорошо без конвертации, хотел передавать в него данные из HandySaw через скрипт AVIDemux-а, но он просит в микросекундах а в HandySaw в кадрах.
  
Back to top
 
IP Logged
 
ascerdfg
New Member
*
Offline



Posts: 5
Joined: 26.01.2020
Не корректно режет h264
26.01.2020 at 11:57:05
Print Post  
В режиме Split(separate files) сцены определяет точно но выводит файлы намного короче сцен.(если в настройки->движёк для режима split->для всех остальных типов->FFmpeg). Даже выбирал в свойствах с привязкой к ключевым кадрам, всё равно промахивается.
Если поставить для всех остальных типов->DirectShow AVI то выводит файлы в *.avi нормально но с огромным битрейтом.

Как сделать чтобы FFmpeg нарезал корректно?
« Last Edit: 27.01.2020 at 05:58:57 by ascerdfg »  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send Topic | Print