Сайт | Пользователи | Кто в онлайне? | Поиск
AKPOCC Форум » ОСНОВНЫЕ ФОРУМЫ » ТЕХНИЧЕСКАЯ ЧАСТЬ » VapourSynth
 Логин
 Пароль
 Регистрация :: Забыли пароль?
Страницы: (4) « 1 2 3 [4] » ответить новая тема новое голосование
 Тема: VapourSynth (все вопросы и советы по использованию)« Предыдущая тема | Следующая тема » 
Artofeel 
01001000 00101011
 Сообщений: 1764
 Автор АКРОССа
 
Профиль Личные сообщения   ЦИТАТА
Изменения в батнике
- еще одно исправление в fmtc =_=''
- немного изменил x265 пресет


Исправил(а): Artofeel, 26 августа 2016, 15:22

--------------
We will never know world peace, until three people can simultaneously look each other straight in the eye
Отправлено: 26 августа 2016, 15:21 | Зарегистрирован: 26 апреля 2008
mad_max 
 Сообщений: 3
 
 
Профиль Личные сообщения  ЦИТАТА
Здравствуйте уважаемые форумчане.
Прошу вашей помощи, научите работать с VapourSynth.
Есть файл с такими данными:
Format : Matroska
Format version : Version 2
File size : 1.64 GiB
Duration : 23mn 42s
Overall bit rate mode : Variable
Overall bit rate : 9 888 Kbps
Format : Matroska
Format version : Version 2
File size : 1.64 GiB
Duration : 23mn 42s
Overall bit rate mode : Variable
Overall bit rate : 9 888 Kbps
Нужно надергать из файла небольшие кусочки видео продолжительностью 10 секунд с промежутком между ними 50 секунд (ну или все тоже самое, но только не в секундах, а фреймах).  А потом объединить их в один файл, что бы пройтись по нему 1-ым проходом для анализа перед кодированием в h265.
Сначала я попробовал это сделать с помощью ffmpeg под Ubuntu-ой. Набросал небольшой скрипт. С помощью
ffmpeg -i "$input_file" -ss 00:0:00 -t 00:00:20 -vcodec copy -acodec copy "$out_file"
вырезаю кусочки, а потом объединяю их в фай.
ffmpeg -f concat -safe 0 -i $out_file_list -vcodec copy -acodec copy $file
Но итоговый файл получается битый. Видимо таким способом нарушается его структура.
Почитал в интернетах и понял, что файл нужно прогнать через  VapourSynth. Но вот не могу понять как с ним правильно работать.
Установил под win 2012 следующее:
python-3.5.3-amd64
VapourSynth-R35
VapourSynthEditor-r15-64bit (портабл версия, другой на сайте нет)
vlc-2.2.4-win32
XviD4PSP 7
StaxRip-x64-1.4.0.0-stable (портабл версия)
Не совсем понимаю логику дальнейших манипуляций. Может есть гайд на русском или что-то еще, объясняющее как правильно работать?
Заранее благодарен за любую помощь!
Отправлено: 02 марта 2017, 06:47 | Зарегистрирован: 02 марта 2017
Artofeel 
01001000 00101011
 Сообщений: 1764
 Автор АКРОССа
 
Профиль Личные сообщения   ЦИТАТА
mad_max, а в VirtualDub слабо нарезать?
ну если хочется по хардкору, то можно и вайпе через Trim
Исходный код
v = core.std.Trim(v, first=100, last=50)

начало на 100 кадре, конец на 50 (т.е. +50 кадров начиная со 100, а не 50 с оригинального 0)
полный код наверно так будет выглядеть
Исходный код
v1 = core.std.Trim(v, first=100, last=50)
v2 = core.std.Trim(v, first=200, last=30)
v3 = core.std.Trim(v, first=400, last=80)
v4 = core.std.Trim(v, first=600, last=150)
v = v1+v2+v3+v4


Добавлено (через 10 мин. и 18 сек.):

Цитата (mad_max @ 02 марта 2017, 09:47)
ffmpeg -i "$input_file" -ss 00:0:00 -t 00:00:20 -vcodec copy -acodec copy "$out_file"

-vcodec copy
это кстати копирование сжатия, т.е. итоговый файл не будет битый только если это какой то старый DivX и ему подобные (и то не факт) или MPEG1\2
H264\H265 можно порезать, но только от начала, т.е. первого I-кадра, то бишь 0
воспроизведение разреза со второго и последующих, неизбежно приведут к артефактам при декоде, вроде это как то связано с реф-фреймами


--------------
We will never know world peace, until three people can simultaneously look each other straight in the eye
Отправлено: 02 марта 2017, 10:32 | Зарегистрирован: 26 апреля 2008
mad_max 
 Сообщений: 3
 
 
Профиль Личные сообщения  ЦИТАТА
Цитата
mad_max, а в VirtualDub слабо нарезать?

Мне необходимо отредактировать множество файлов, а в ручную этого делать не хочется, хочется автоматизировать процесс.
К тому же VirtualDub не смог открыть этот файл.

Спасибо за подсказку по поводу Trim.

Меня больше интересует, что мне потом делать с файлом *.vpy?
Таким вот образом передавать кодировщику?
vspipe --y4m script.vpy - | ffmpeg -i pipe: encoded.mkv
Отправлено: 02 марта 2017, 11:48 | Зарегистрирован: 02 марта 2017
Artofeel 
01001000 00101011
 Сообщений: 1764
 Автор АКРОССа
 
Профиль Личные сообщения   ЦИТАТА
Цитата (mad_max @ 02 марта 2017, 14:48)
Таким вот образом передавать кодировщику?
левая половина правильно
правая не знаю, не пользуюсь ffmpeg
ачо x265 напрямую нельзя?


--------------
We will never know world peace, until three people can simultaneously look each other straight in the eye
Отправлено: 02 марта 2017, 16:54 | Зарегистрирован: 26 апреля 2008
mad_max 
 Сообщений: 3
 
 
Профиль Личные сообщения  ЦИТАТА
Цитата
ачо x265 напрямую нельзя?

Наверно можно. Просто для меня вся это тема в новье, потому и обратился за помощью.
Отправлено: 03 марта 2017, 06:21 | Зарегистрирован: 02 марта 2017
Artofeel 
01001000 00101011
 Сообщений: 1764
 Автор АКРОССа
 
Профиль Личные сообщения   ЦИТАТА
Изменения в батнике
- исправил монтирование AVI, так как в новых версия более нет dll'ки, теперь вместо нее avfs.exe который в разы быстрее

добавил к первому посту LSMASHSource:
Исходный код

import vapoursynth as vs
core = vs.get_core()
v = core.lsmas.LibavSMASHSource(source=r"C:\Video\source.mkv")
v.set_output()

Исходный код

import vapoursynth as vs
core = vs.get_core()
v = core.lsmas.LWLibavSource(source=r"C:\Video\source.mkv")
v.set_output()

также сделал пак всего что нужно для работы
http://pc.cd/aCbotalK


--------------
We will never know world peace, until three people can simultaneously look each other straight in the eye
Отправлено: 05 марта 2017, 14:28 | Зарегистрирован: 26 апреля 2008
 51 ответов после 06 августа 2013, 16:08 « Предыдущая тема | Следующая тема » 
  [ Подписаться на тему :: Отправить тему на email :: Версия для принтера ]ответить новая тема новое голосование  
  Страницы: (4) « 1 2 3 [4] »
AKPOCC Форум » ОСНОВНЫЕ ФОРУМЫ » ТЕХНИЧЕСКАЯ ЧАСТЬ » VapourSynth


Рейтинг@Mail.ru   Rambler's Top100     Яндекс.Метрика