Страницы: (4) « 1 2 3 [4] » |
|
| |
Автор АКРОССа |
|
|
|
|
Изменения в батнике - еще одно исправление в 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 |
|
|
|
|
|
Здравствуйте уважаемые форумчане. Прошу вашей помощи, научите работать с 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 |
|
|
|
| |
Автор АКРОССа |
|
|
|
|
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, а в VirtualDub слабо нарезать? |
Мне необходимо отредактировать множество файлов, а в ручную этого делать не хочется, хочется автоматизировать процесс. К тому же VirtualDub не смог открыть этот файл.
Спасибо за подсказку по поводу Trim.
Меня больше интересует, что мне потом делать с файлом *.vpy? Таким вот образом передавать кодировщику? vspipe --y4m script.vpy - | ffmpeg -i pipe: encoded.mkv
|
Отправлено: 02 марта 2017, 11:48 | Зарегистрирован: 02 марта 2017 |
|
|
|
| |
Автор АКРОССа |
|
|
|
|
Цитата (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 |
|
|
|
|
|
Цитата | ачо x265 напрямую нельзя? |
Наверно можно. Просто для меня вся это тема в новье, потому и обратился за помощью.
|
Отправлено: 03 марта 2017, 06:21 | Зарегистрирован: 02 марта 2017 |
|
|
|
| |
Автор АКРОССа |
|
|
|
|
Изменения в батнике - исправил монтирование 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 |
|
|
|
|