Это копия, сохраненная 11 сентября 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Основным обсуждаемым здесь инструментом является ffmpeg. Пердолики с мокрописечными гуями вроде xmedia recode и прочие клепальщики распидорашенного кривопиксельного говна из порнотреда со своими воплями о ненужности консоли не нужны сами — пусть сначала научатся делать качественные вебмки, а потом уже лезут сюда с советами.
Делать WebM можно научиться в вики https://github.com/pituz/webm-thread/wiki/ . Там находится подробная информация о выборе и настройке кодеков на примерах использования консольных утилит ffmpeg, vpxenc и mkvmerge.
Если для кого-то это слишком сложно, то можно взять гуй с минимумом кнопок для умственно отсталых (сперма-only): https://github.com/nixxquality/WebMConverter
О кодировании WebM для сосача:
— доступные кодеки: VP8 и VP9 для видео, Vorbis и Opus для звука;
— максимальный размер файла — 6144КБ в тематике и 10240КБ в /b/, всех файлов в посте — около 22МБ.
Неочевидные моменты:
— libvorbis при указании битрейта (-b:a) работает в режиме CBR (постоянный битрейт), и это портит качество звука; для режима VBR вместо битрейта надо указывать качество (-q:a); параметр -vbr on работает только для Opus'а;
— в webm'ки не нужно включать софтсаб в формате webvtt (FFmpeg это делает по умолчанию при наличии сабов в контейнере, отключается параметром -sn): во-первых, это бесполезно (для его отображения на странице должен быть специальный код), а во-вторых, от этого ролики не воспроизводятся в firefox;
— ролики с opus'ом в firefox зацикливаются не с начала, а с последнего ключевого кадра.
Программы и их документация:
http://webmproject.org http://ffmpeg.org http://mpv.io http://www.bunkus.org/videotools/mkvtoolnix/
Скрипты пиления webm'ок:
— https://pypi.python.org/pypi/webm (python + mpv + ffmpeg);
— https://github.com/pituz/webm-thread/blob/master/tools/WebMaster (zsh + ffmpeg + mkvmerge);
— https://gist.github.com/Zehkul/25ea7ae77b30af959be0 (mpv + yad + mkvmerge);
— https://github.com/anonymous2ch/2ch-webm-resizer/blob/master/2ch-webm-resizer.pl (perl + ffmpeg, не шевелится).
Упс. Из-за какого-то из отключённых жабоскриптов с левых доменов постится только вторая и последующие пикчи.
> Почему одна и та же аудио дорожка при конвертации avconv'ом ogg->wav занимает 9.6 мб, а mp3->wav 1.5 мб?
Может быть из-за различия в кол-ве каналов, частотах дискретизации (8000..192000 Hz) и разрядности сэмплов (1..32 bit).
Ещё может быть, что avconv запихал в wav-файл (который является контейнером формата RIFF — им же являются и avi-файлы) сжатую дорожку — туда влезет хоть тот же mp3 с CBR.
Показывай вывод, без него можно только гадать.
Что работает? Тред на 2.5к постов на планшете у меня совсем не работает — браузер падает по OOM.
ffmpeg -r 1 -loop 1 ^
-i "картинка.jpg" ^
-i "музяка.mp3" ^
-b:v 0 -crf 18 -quality best -g 360 -q:a 4 ^
-y -shortest "output.webm"
pause
Что за Зий? Зачем делать Зия?
Хорошо все разжевал. Молодец.
Спасибо, Аноны.
Попробовал через графический модуль, все отлично :З
Давно хотел научиться вебмки делать.
> Как быть!
Для начала открыть учебник по русскому языку для начальной школы и найти в нём отличие в использании вопросительного и восклицательного знаков.
Ну что жопой то виляешь как маленький?
Нет чтобы ответить нормально, нет не хочу хочу доябыватся.
Нихуя не знаешь так лучше промолчи.
Или это бал одного семена?
> жопой то
А ещеё тебе не помешает узнать, как же пишутся то,либо, и нибудь, отдельно или через дефис.
Начнем с того, что тред вопросов о WebM, тут тебя никто по твоему спермософту не обязан консультировать.
Получить возможность для тебя бесполезно, просто прочитав заголовок, да ты ущербен на голову
Это получается вебм нужно скачать и воспроизвести, неее нужно в самом браузере. Ну чтож видимо никто не знает.
Так поставь браузер. Во всех современных полнофункциональных браузерах есть поддержка WebM. Её нет разве что в поделиях с анальными ограничениями от копирастических контор вроде спермософта и огрызка.
Посуны посны, как записать с помощь ффмпег трансляцию с твича? Ну чтоб через соснольку запустить и пусть она себе записывает, аты потом посмотришь?
На твиче rtmp-стримы спрятаны в анальное отверстие, просто так ffmpeg'ом на него можно только вещать.
Возьми livestreamer — он может как играть стрим плеером, так и соханять в файл.
Пердоль, зачем мне твою жопу тушить?
Ты настолько безумен, что не можешь позаботиться о собственном пердаке?
Ага, рассказывай. Прикреплённый тред кто сагал?
>кто других своим именем называет
— Пердоля!
— Правильный ответ, выбирайте вопрос.
— «Спермопетухи» за 300.
Или же я неожиданно набрасываюсь на свою подругу вечером в маске и насилую ее.
Ну, или не подругу, просто девушку.
Обычный секс не то, мне хочется почувствовать власть над жертвой, над беспомощной девушкой.
Я пока что держу себя в руках, и, надеюсь, продержусь. Но не уверен в этом.
XMedia Recode, но автор нарушает лицензию, по которой распространяются библиотеки libav не помню какие точно, а ещё там версия FFmpeg старая может быть.
> гуи для ffmpeg
> охватывающее все возможности
Такое может быть разве что в эротичеких снах пердоли: фич у ffmpeg'а слишком дохуя для любого гуи.
Список приличных фронтендов можно посмотреть здесь: https://trac.ffmpeg.org/wiki/Projects
Насколько хорош его охват? Он может вебмки делать, например, с опциями из оппоста?
>>1241740
>фич у ffmpeg'а слишком дохуя для любого гуи
Да ладно. Хотя бы банально перечень параметров и значений, оформленный в табы. Лист-то я могу найти, а вот изучать все программы, использующие ффмпег - лень. Потыкал выборочно - хуита, но, может, мне не повезло увидеть Ту Самую Писю. Не вижу там вебм фор ретардс - значит, лист ещё и неполон.
> Он может вебмки делать, например, с опциями из оппоста?
В оп-посте нет опций, есть только ссылка на вики.
Многое из написанного там при помощи фронтендов к ffmpeg реализовать не получится.
> Хотя бы банально перечень параметров и значений, оформленный в табы.
Нахуя? Неудобно же.
Писать команды, в которых присутствуют только те параметры, которые тебе нужны, быстрее и нагляднее.
>Многое из написанного там при помощи фронтендов к ffmpeg реализовать не получится.
Например?
Но ведь многие же в два прохода конвертят. Не верю, что на полторы минутную webm с хорошей картинкой всякий такой анон каждый раз будет тратить по 5-8 часов.
В общем, я зря гуишник ругаю и на ffmpeg перепрыгивать не стоит из-за этого?
То есть, претензии у меня только к скорости. Меня полностью устраивает то, как он жмет и его функционал.
Я один не понимаю этого диалога - при том, что не являюсь баттхёртом, зная все мемасы?
Не поверишь, но я даже понимая, что там отсылка к СИ, всё равно не понимаю, кто там и кого обсирает.
10/10. Универсальный совет пердоликам.
> Тред про кодирование вебмок. Слепые спермобляди, ищущие прикреплённый «основной» тред, проходят мимо.
Уёбывай.
Походу он сам же. Отвечает "пердоля", продолжая игру, но у "спермобляди" ставка выше.
Откреплённый падает туда, где был бы, если бы не был закреплён всё это время. Обычно сразу на пятую-десятую страницу, но у нас тут он моментально становится последним, так как все треды на этой доске новее его. Первый же созданный тред и его смывает.
Съеби.
Залётный же.
Вероятно, из-за того, что в многопоточность не может кодек с заданными тобой ему настройками.
У libvpx-vp9 на возможность распараллеливания влияют параметры -tile-rows и -tile-columns, задающие соответственно кол-во строк и столбцов, на которые режется видео для кодирования фрагментов независимо.
Я ему вообще эти параметры не указывал, наверное, там что-то по умолчанию стоит.
По умолчанию оно отключено: https://github.com/webmproject/libvpx/blob/master/vpx/vp8cx.h#L372
По твоей ссылке параша, ибо включает только швабодное говно.
Спалю годноту быдлу, ну да ладно.
http://www.xmedia-recode.de/
Вот лучший GUI для ffmpeg.
> Пердолики с мокрописечными гуями вроде xmedia recode и прочие клепальщики распидорашенного кривопиксельного говна из порнотреда со своими воплями о ненужности консоли не нужны сами — пусть сначала научатся делать качественные вебмки, а потом уже лезут сюда с советами.
Уёбывай отсюда, мерзкий мокрописечник.
Ясно, спасибо. Тем не менее, жаль, что нет обывательского варианта без костылей, который делает всё в один клик.
Есть на мозилле,например,
YouTube Video and Audio Downloader
https://addons.mozilla.org/ru/firefox/addon/youtube-video-and-audio-dow/
может, там в настройках что-то изменить можно, чтобы размер был ограничен этими 10 мегабайтами?
Вебм стало бы намного больше.
> Пердолики с мокрописечными гуями
> со своими воплями о ненужности консоли не нужны сами
Наконец-то в /s/ появился Модератор, кое слово можно с большой Буквы обозначить.
> Пердолики с мокрописечными гуями
> со своими воплями о ненужности консоли не нужны сами
Наконец-то в /s/ адекватный Модератор !
> может, там в настройках что-то изменить можно, чтобы размер был ограничен этими 10 мегабайтами?
Не можно. На серверах YT хранятся вебмки размеров 360, 480, 720 и 1080 пикселов в высоту. Сконвертированы они на этих самых серверах с определенными опциями без контроля размера выходного файла. Всякие расширения или программы, которые качают видео с YT, просто тянут эти самые вебмки и mp4-файлы. Поэтому если видео по весу превосходит лимит, остается два пути:
1. Резать видео по ключевым кадрам на куски, чтобы каждый кусок уместился в лимит
2. Качать исходник с наилучшим качеством и перекодировать его таким образом, чтобы получившееся видео уместилось в лимит.
Вроде не должен.
Зависит от инструмента, при помощи которого ты это делаешь: ffmpeg по умолчанию всё пережимает (отключается параметром -c copy), MP4Box вообще пережимать не умеет и потому только копирует.
> ffmpeg по умолчанию всё пережимает
ffmpeg -f x11grab -i :0.0 screen.mp4
Запись с экрана идёт без потерь. Или это особенность x11grab?
> Запись с экрана идёт без потерь.
С чего ты взял? Для контейнера mp4 по дефолту выбирается кодек libx264, который по дефолту работает в lossy-режиме.
libx264 по завершении энкода выводит статистику, среди которой есть и среднее значение квантизации по разным типам кадров (Avg QP). Если оно отлично от нуля, то это не лосслесс. Последний можно включить параметром `-crf 0`.
> Или это особенность x11grab?
Тип входа в данном случае влияет разве что на формат пикселей.
>ролики с opus'ом в firefox зацикливаются не с начала, а с последнего ключевого кадра
Как пофиксить?
Кто нибудь знает чем записывать игры вместе с ReShade включенным? Ни одна известная мне прога не хочет работать с ним, как только я включаю ReShade - или игра крашится, или программа для записи крашится, или не крашится, но и записывать ничего не хочет.
Жабоскрипт написать, который по окончании ролика будет перематывать не в начало, а на второй кадр.
>>1240595
На самом деле команды не оптимальные.
- Почему VP8? VP9 лучше сжимает (для одной картинки это десятки килобайт, но всё же причин использовать устаревший кодек сейчас я не вижу: VP9 подобное видео жмёт тоже быстро и в случае, если понадобится добавить какие-то эффекты вроде той же волны через showwaves, VP9 опять будет лучше; в экспериментальном бранче libvpx вообще уже VP10 пилят)
- 2pass в моих тестах у меня работал быстрее 1pass, как ни странно
- kf-max-dist (-g) почему такой маленький-то? Это может лишние ключевые кадры добавить. Для libvpx-vp9 по умолчанию 9999 (infinity), т.е. должен быть только один кейфрейм на всё видео.
- shortest и у меня, и у других анонов работает криво — в конце непонятно почему добавляется некоторое количество тишины
- metadata-title не мешало бы прописывать
>>1242754
>>1242816
Не совсем. Количество потоков кодирования libvpx-vp9 это 2^tile-columns максимум, а tile-columns <= floor(lg2(output_video_width//256)) (т.е. одна колонка не менее 256 пикселей).
Подробности здесь: http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2339 (весь тред стоит внимания)
Умолчания для libvpx-vp9: https://github.com/Kagami/webm.py/wiki/Notes-on-encoding-settings#defaults
>>1243033
А чем одна команда (youtube-dl && вызов-скрипта) хуже твоего одного клика (который на самом деле далеко не один)? При том, что первый вариант намного гибче, т.к. не скрывает от тебя всей мощи возможных режимов и настроек.
Понимаю, многим кажется, что раз программа с командным интерфейсом, значит какое-то задротство и надо неделю ман читать. Такое бывает, но в данном случае это не так: в последнее время разработчики начинают понимать важность удобных дефолтов и те же youtube-dl и ffmpeg хорошие тому примеры. Они без ключей (или с парой минимальных ключей) тебе сделают не хуже твоей гуишки. Соответственно, усилия затрачены те же, что и с гуйнёй, зато гибкость не зарыта под слоем абстракции.
>>1241749
>>1241819
Бывает, кстати, что в таких гуишках можно и raw опции вписывать. Но не всегда, и часто надо сильно извратиться, чтобы передать в итоге ffmpeg те опции, какие хочешь (банальный пример: кодирование статичной картинки, подозреваю, что тот же WebM for Retards так не сможет; XMedia Recode — хз). Скрипты-обёртки той же проблемой страдают, но в значительно меньшей степени. То, что в гуйне (обычно) лучше это возможности по нелинейному монтажу (самые очевидные - кат & кроп), поэтому эти действия лучше выполнять через гуи.
Вообще, это обычный срач CLI vs GUI выходит и ответ тоже стандартный: что-то лучше через CLI, что-то через GUI. Но заявлять, что именно сильный перекос в сторону GUI решает в вопросе кодирования вебмок, я бы не стал. Теоретически, отлично заточенный под задачу гуй (аля HUD истребителей), который ни в коем случае не прячет консоль куда-то, а встраивает её прямо в окно редактора аля IDE, был бы лучше всего, но такого ни под одну OS пока не написали (и вряд ли станут, кому оно нужно). Поэтому гибридный вариант (редактирвоание через GUI, кодирование через CLI) сейчас оптимален.
>>1240595
На самом деле команды не оптимальные.
- Почему VP8? VP9 лучше сжимает (для одной картинки это десятки килобайт, но всё же причин использовать устаревший кодек сейчас я не вижу: VP9 подобное видео жмёт тоже быстро и в случае, если понадобится добавить какие-то эффекты вроде той же волны через showwaves, VP9 опять будет лучше; в экспериментальном бранче libvpx вообще уже VP10 пилят)
- 2pass в моих тестах у меня работал быстрее 1pass, как ни странно
- kf-max-dist (-g) почему такой маленький-то? Это может лишние ключевые кадры добавить. Для libvpx-vp9 по умолчанию 9999 (infinity), т.е. должен быть только один кейфрейм на всё видео.
- shortest и у меня, и у других анонов работает криво — в конце непонятно почему добавляется некоторое количество тишины
- metadata-title не мешало бы прописывать
>>1242754
>>1242816
Не совсем. Количество потоков кодирования libvpx-vp9 это 2^tile-columns максимум, а tile-columns <= floor(lg2(output_video_width//256)) (т.е. одна колонка не менее 256 пикселей).
Подробности здесь: http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2339 (весь тред стоит внимания)
Умолчания для libvpx-vp9: https://github.com/Kagami/webm.py/wiki/Notes-on-encoding-settings#defaults
>>1243033
А чем одна команда (youtube-dl && вызов-скрипта) хуже твоего одного клика (который на самом деле далеко не один)? При том, что первый вариант намного гибче, т.к. не скрывает от тебя всей мощи возможных режимов и настроек.
Понимаю, многим кажется, что раз программа с командным интерфейсом, значит какое-то задротство и надо неделю ман читать. Такое бывает, но в данном случае это не так: в последнее время разработчики начинают понимать важность удобных дефолтов и те же youtube-dl и ffmpeg хорошие тому примеры. Они без ключей (или с парой минимальных ключей) тебе сделают не хуже твоей гуишки. Соответственно, усилия затрачены те же, что и с гуйнёй, зато гибкость не зарыта под слоем абстракции.
>>1241749
>>1241819
Бывает, кстати, что в таких гуишках можно и raw опции вписывать. Но не всегда, и часто надо сильно извратиться, чтобы передать в итоге ffmpeg те опции, какие хочешь (банальный пример: кодирование статичной картинки, подозреваю, что тот же WebM for Retards так не сможет; XMedia Recode — хз). Скрипты-обёртки той же проблемой страдают, но в значительно меньшей степени. То, что в гуйне (обычно) лучше это возможности по нелинейному монтажу (самые очевидные - кат & кроп), поэтому эти действия лучше выполнять через гуи.
Вообще, это обычный срач CLI vs GUI выходит и ответ тоже стандартный: что-то лучше через CLI, что-то через GUI. Но заявлять, что именно сильный перекос в сторону GUI решает в вопросе кодирования вебмок, я бы не стал. Теоретически, отлично заточенный под задачу гуй (аля HUD истребителей), который ни в коем случае не прячет консоль куда-то, а встраивает её прямо в окно редактора аля IDE, был бы лучше всего, но такого ни под одну OS пока не написали (и вряд ли станут, кому оно нужно). Поэтому гибридный вариант (редактирвоание через GUI, кодирование через CLI) сейчас оптимален.
Отправить багрепорт/лайкнуть существующий/написать патч/заплатить разработчикам?
Кстати, Firefox только недавно sumbsamplings отличные от yuv420p играть научился, а high depth (профили 2 и 3 в VP9) до сих пор не умеет. ffmpeg, впрочем, тоже (через декодер ffvp9).
>Для libvpx-vp9 по умолчанию 9999 (infinity)
А для vp8 какое умолчание? 360 подобрано от балды (но можно выше) ибо vp8 делал лишние ключевые кадры.
Вот сейчас проверил. vp8 -g 360 жмет чуть лучше чем просто vp9.
>А для vp8 какое умолчание?
128: https://chromium.googlesource.com/webm/libvpx/+/c77b1f5acd09852aff1ba09d7f371728a60634d7/vp8/vp8_cx_iface.c#1351
>vp8 -g 360 жмет чуть лучше чем просто vp9
Это 1pass или 2pass? Если проверить наоборот?
Я пробовал энкодить просто 1 кадр картинки, у меня VP9 давал чуть меньший итоговый размер. Хотя надо бы получше это затестить. (Вообще, кстати, про собственныей vp8 энкодер ffmpeg у них в вики писали, что он хуже, чем референсный.)
>>1243593
А, видимо это как раз причина, по которой у меня shortest криво работал. И по которой у VP9 файл чуть больше. Ключевиков-то у них у обоих по одному, а вот P-фреймов у VP9 больше:
$ webm_info -i vp8.webm -all -noaudio | grep -c key:1
1
$ webm_info -i vp9.webm -all -noaudio | grep -c key:1
1
$ webm_info -i vp8.webm -all -noaudio | grep -c type:V
256
$ webm_info -i vp9.webm -all -noaudio | grep -c type:V
280
Ага. Тут пердолики бабахают от того, что не умеют пользоваться божественным ffmpeg.
>Вообще, кстати, про собственныей vp8 энкодер ffmpeg у них в вики писали, что он хуже, чем референсный
Хотя это меня переглючило и я с нативными opus/vorbis энкодерами спутал. У ffmpeg не было энкодера vp8.
Единственное, что странно, — почему c:v=vp8 использует libvpx, если vp8 энкодера не существует.
>Это 1pass
Да один, ведь в прошлом треде выяснили что второй проход излишен для статичной картинки.
У меня vp9 быстрее с двумя проходами работал (т.к. первый проход со speed=4 достаточно быстро завершается, а на втором ему уже не нужно анализировать куда ключевик поставить, просто все кадры кроме первого ссылаются на первый).
Ключ -map номер используемого файла : номер дрожки
Нумерация идет с нуля.
Например -map 0:0 -map 0:1 оставит видеопоток с русской дорогой, а -map 0:0 -map 0:2 с нипонской.
Спасибо
Лучше так: -map 0:v -map 0:a:0 (или 0:a:1)
Видео не всегда нулевым потоком идёт, а с относительными номерами проще и не нужно в вывод ffprobe смотреть.
>>1243473
Кстати, я ещё подумал. Объясните мне, пожалуйста, товарищи вендузятники, чем вот эта жесть на пикрелейтеде лучше десятка ключей в той самой пердольке, которую все ненавидят? Только потому, что оно внутри окна графической программы и потому, что на Windows неудобная дефолтная консоль?
Не срача ради, просто интересно понять, каким же должен быть идеальный интерфейс. Потому что я, хоть убей, но не вижу разницы между WebM for Retards с тройкой кнопок и минимум возможностей и CLI-командой с двумя ключами, которая делает ровно то же. При том, что WebM for Retards проигрывает __во всём__, кроме (субъективной) простоты установки/использования на Windows, будучи при этом:
- некроссплатформенной
- сильно ограниченной в возможностях
- в которой даже гифки не работают (см. GH-132) и нет возможности это починить
Реально, я не вижу ничего кроме эгоистичного желания «дайте мне то, к чему я привык, и срал я на какие-то объективные характеристики». Это может быть аргументом в некоторых случаях, но не в тех, когда минусы этого привычного продукта настолько значительны.
>CLI-командой с двумя ключами
Не Windows-way.
>некроссплатформенной
Кроссплатформенность - не Windows-way.
Хотя соглашусь, текущая программа под винду - говно. Но что поделать, не написали ещё хорошей. Надо бы этим заняться, но писать велосипеды уже никто не будет, а анальная GPL не даст распространять любую программу на основе ffmpeg без выкладывания исходников. К слову, выкладывание исходников - не Windows-way.
>а анальная GPL не даст распространять любую программу на основе ffmpeg без выкладывания исходников
https://www.ffmpeg.org/legal.html
>FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later. However, FFmpeg incorporates several optional parts and optimizations that are covered by the GNU General Public License (GPL) version 2 or later
Остальное — без комментариев.
Если правильно скомпиляешь, то да. Большинство кодеков типо libvpx тоже под пермиссивными лицензиями.
FFQueue - http://ffqueue.bruchhaus.dk/
никаких пресетов нет, нужно знать команды
есть версия и для пердоликов
> а анальная GPL не даст распространять любую программу на основе ffmpeg без выкладывания исходников
Кстати, а в чём проблема нарушить жопаель? На Западе разраба попытались бы засудить, но у нас перспективы такого иска весьма туманны; да разраба ещё и найти надо, а гэбне это не особо интересно, лучше шатателей скреп искать. Да и даже если найдут: какое наказание по какой статье можно влепить за нарушение вирусности свободной лицензии?
Хуита. Такое ж пердольство, как и голый ffmpeg. Для неосиливших консоль зачем-то обернули гуйнёй и переизобрели batch-выполнение. Похоже, кому-то было нехуй делать.
>>1244049
Вот здесь видно, что автор старался, но возможностей маловато даже по сравнению с WebM for Retards. Нет даже интерактивного кропа, насколько я вижу.
>>1244059
Репутация разработчика сильно пострадает. Аналог: выложить malware из-под своего реального имени. Не факт, что засудят, но в цивилизованных обществах потом везде будут слать нахуй.
Кстати, чего в таких простах гуишках с интерактивным катом очень не хватает, так это перематывания по кадрам. В этом плане решения на базе существующего плеера вроде mpv решают - они предоставляют много мощных способов изменения позиции (перемотка по кадрам в mpv назад и вперёд это "," и "." соответственно). Резать по краям смены сцены с точностью до кадра очень удобно.
А илита выйдет гулять? Скиньте тогда линукс, пожалуйста.
На, просвещайся, бггг
Эпидемиология
Консолечки в срачечках являются серьёзной медицинской и социальной проблемой. В развитых странах консолечка в срачечке в той или иной степени страдают от 5 до 10 % трудоспособного населения и от 70 до 90 % детей.[5] У пожилых консолечка встречается в 50 раз реже, чем у лиц молодого возраста.[2][3]
Какие состояния являются консолечкой в срачечке?
Для консолечки в срачечке характерны установленная на пекарню ПЕРДОЛИКС ЖМУ/[i]АНАЛИКС[/i], а так же малое количество кала, повышенная его твёрдость и сухость, отсутствие чувства полного опорожнения кишечника после дефекации. У людей, страдающих консолечкой в срачечкe, встречаются все эти признаки, однако некоторые из них могут и отсутствовать. Наличие даже одного из перечисленного свидетельствует о консолечке в срачечке. Изменение привычных для данного человека частоты пересборки ведра, а так же ритма стула дефекаций — также важный признак консолечки в срачельничке[/b].[4]
В то же время, исходя из неверных представлений о частоте пересборки ведра (например, считая, что пересборка должна происходить ежедневно), некоторые пациенты считают консолечкой в срачеке нормальные состояния организма и необоснованно считают себя здоровыми.[2] Как правило, это законченые пердолики.
> curl https://ru.wikipedia.org/wiki/Запор_(медицина) | sed 's/запор/консолечка в срачельнике/gi'
Молодец.
Пердоля, зачем опять перефорсишь? Ты жалок, ПЕРДОЛЯ.
Заделал знчт я себе апач+пхп и вывел список вебэмок в браузер вот так:
><video preload="metadata" width="320" height="240" controls=""> <source src="WebM/14326333252221.webm" type="video/mp4"></video>
Так вот. Некоторые вебэмки подгружаются хорошо. Т.е. есть и превью. И по кнопке заставь меня смеяться 2 минуты пуска видева - все проигрывается.
Однако, некоторые из вебэмок при нажатии на белый божественный треугольник проигрывают 1ую секунду видео (которая подгрузилась еще при прогрузке страницы из за параметра preload="metadata") и встает не играя дальше.
От чего это происходит, вагонимус?
В других браузерах работает?
На харкаче все вебмки работают?
Запости сюда проблемную вебмку, будет работать?
Не от вебэмки зависит. Одна и та же при равных условиях может вести себя и так и так.
Может.
Может с экрана записывать с помощью gdigra или фильтров dshow.
Есть GUI на шарпе для записи видео и снятия скриншотов: https://github.com/ShareX/ShareX
А теперь ты такой поясняешь, чем умение лазить по торрентам, искать так shareware, ебаться с кряками и сопутствующими вирусами и ну ты понел, т.к., ясное дело, ничего не бывает бесплатно, проще умения открыть man, нажать /x11 и обнаружить готовые команды по записи и всего экрана, и конкретного региона, и даже чтобы регион за мышкой следовал?
Так в этом есть своя романтика, адреналин, делаешь прививки от жадности, слушаешь ламповый музон из кейгенов, понимая что ты не один такой, а вас много и вы друг за друга, снабжаете друг-друга годнотой, борясь с жадностью толстосумов и несправедливостью системы. Вырусы кстати от копирастов, а не от пиратов. Каждый пират знает где взять годноту без копирастных вирусов. Чо как не пират?
Ман открыть можно, но стоит ли, если есть лучшее, заботливо пролеченное решение?
Ну не твое это значит. Тебе больше по нраву консолька и жидобеливы штульмана.
>>1241789
>>1241791
Нет, я все же еще раз спрошу. Что webm for retards, что bigasoft, что сам fmpeg (в который я пытался, но поленился дальше) делают все несравнимо шустрее. Даже если делать на vp8 (vp9 то говно не умеет) при тех же параметрах одним проходом, разница в скорости 10-кратная, да гораздо больше чем 10крат. Я грешу, на то что винда каким-то образом ограничивает ресурсы xMedia R, хотя сам гуи и диспетчер сообщают, что приоритет риал-таймовый. Ну что там еще может быть?!
Да вроде активно все обновляют. Той версии что у меня всего пару недель.
А еще вроде бы, я не уверен, время за которое он проходит один и тот же кусок, с теми же параметрами, при той же загруженности системы существенно варьируется по непонятным мне причинам. Иногда вижу что с такой черепашей скоростью он будет ползти еще хз сколько, перезапускаю и уже заметно шустрее идет. Что за магия?
> Иногда вижу что с такой черепашей скоростью он будет ползти еще хз сколько, перезапускаю и уже заметно шустрее идет
Результат мог закэшироваться где-то.
А вообще, выкинь это мокрописечное говно, раз оно так работает.
Мне лень в консолеутехи втыкать шо пиздец. Ну какой хороший гуи еще в vp9 может?
Вообще, что там нужно накатить чтобы, чтобы cmd цивильная была. Писать ручками - не хочу вставать дивана, горбатится. Или может батников наделать?
Какой-нибудь гайд для совсем отбитых ретардов вроде меня можешь посоветовать? Пока что у меня весьма обрывочные знания, как видишь, документацию и прочие гайды читал наискось и если возьмусь опять, у меня снова ничего не останется в голове.
> что там нужно накатить чтобы, чтобы cmd цивильная была
Выкинуть cmd вместе со спермотерминалом.
Поставь cygwin, в нём есть какой-то приличный терминал и шеллы вроде zsh и fish.
Возможно, только пользоваться им я по-прежнему буду раз в 10 лет, когда прижмет, я же не кулхацкер.
Никто и не заставляет.
>>1244659
>Мне лень в консолеутехи втыкать шо пиздец.
А неделями искать подходящую гуйню, shareware, ебаться с кряками и т.д. - хочешь. Типичное когнитивное искажение.
>Ну что там еще может быть?
Ну, гадай теперь, исходников-то у тебя нет, чтобы прочитать и разобраться.
>Ну какой хороший гуи еще в vp9 может?
Это XMedia Recode-то хороший? И чем же? Вообще, по треду же было уже пару ссылок. Если такая религиозная боязнь именно самой консоли.
>Вообще, что там нужно накатить чтобы, чтобы cmd цивильная была.
А зачем тебе цивильная консоль, если скрипты-обёртки из ОП-поста принимают всего-то пару параметров? Это и без автодополнения, истории и всего прочего можно. А так, у PowerShell терминал чуть получше (и шелл его гораздо лучше), ну и была вроде бы какая-то крутая консоль для PowerShell с автодополнением и т.д., но не помню названия. Ну или cygwin накрайняк, как выше советовали, но, насколько я помню, его терминал тоже тот ещё отстой.
>Или может батников наделать?
Некоторые отчаянные так и делают. Что-то вроде этого: http://pastebin.com/ZrFA6J29
Есть один момент, которым можно воспользоваться: насколько я понял, при перетаскивании файла на скрипт, "%1" принимает путь до этого файла. Таким образом, можешь взять что-нибудь из ОП-поста, например, webm.py и написать подобный bat-файл:
set WEBM_FFMPEG=C:\encode\ffmpeg.exe
C:\Python\python.exe C:\encode\webm.py -i %1
Перетаскиваешь на него свой медиа-файл, результирующий файл должен появиться в том же каталоге. Если нужны какие-то кастомные ключи, то, соответственно, создаёшь другой bat/модифицируешь этот. В итоге всё через жопу, зато никакой консоли.
>Это XMedia Recode-то хороший? И чем же? Вообще, по треду же было уже пару ссылок. Если такая религиозная боязнь именно самой консоли.
Потому что удобно, делаю их часто, а я очень ленивый, но пренебрегать качеством не намерен. В xMedia я могу одной левой нащелкать переменные, вбить резолюшн, битрейд (той же левой) сохраняя пропорции и не утруждая себя лишними расчетами. Алсо программа сама, сразу покажет каков будет вес конечного файла еще до начала энкодинга. Покадровый просмотр с возможностью подгонки обрезания с точностью до миллисекунды. vp9, 2-pass.
>Вообще, по треду же было уже пару ссылок.
Я говорю, все что нужно уже есть. Необходимость поиска альтернативы обусловлена исключительно неуклюжестью программы на моей машине (от других анонов и в сети в целом жалоб не встречал). Если есть альтернативы максимально соответствующие курсиву, буду благодарен рассмотреть. То что предлагали в этих тредах гуглил-смотрел все не то, вот из последнего - разве QWinFF может в vp9? Проверил, не может. Даже у обосанного бигасофта перед ним преимущество в плане удобного кропа и предпросмотра там же.
>Некоторые отчаянные так и делают. Что-то вроде этого:
Это оказалось сложнее чем я себе представлял. Оставлю на будущее, когда совсем отчаюсь.
>а я очень ленивый, но пренебрегать качеством не намерен
Это плохо сочетается. Иногда, чтобы сделать нормальный энкод, нужно по 5-10 раз реенкодить. А в некоторых случаях так и вообще баги кодека вылезают, тут уже ничего не поделаешь.
>я могу одной левой нащелкать переменные
Это в той-то жести, скриншот которой я чуть выше выкладывал? Ну если для тебя это проще консоли, то я даже не знаю.
>вбить резолюшн, битрейд
Это всё есть в скриптах-обёртках.
>сразу покажет каков будет вес конечного файла еще до начала энкодинга
Пруф или не покажет. VP9 неаккуратно работает с битрейтом - постоянно undershoot или overshoot.
>Покадровый просмотр
>преимущество в плане удобного кропа и предпросмотра там же
Есть в webm.py, пикрелейтед 1. Фильтры можно в ffplay тестировать, пикрелейтед 2.
>обрезания с точностью до миллисекунды. vp9, 2-pass
Ох уж удивил.
>разве QWinFF может в vp9? Проверил, не может
Как проверял? Подозреваю, там просто пресета такого нет. А так ты хоть raw опции ffmpeg передавай, там это предусмотрено.
Хотя она слишком простая, конечно. Возможно FFQueue будет лучше в качестве замены XMedia Recode. Но оно мне не нравится в плане позиционирования, выше писал.
Единственное, в чём консольные утилиты немного просасывают, это недостаточная интерактивность (хотя интерактивные кат и кроп есть), а фильтры нужно ffplay в консольке вбивать. Но и XMedia Recode хуйня полная в качестве программы нелинейного монтажа. А видео-редакторов и под линукс полно.
Если проанализировать все существующие инструменты, то получится 4 категории:
1. Простые утилиты: WebM for Retards, webm.py, QWinFF, etc.
2. Полновесные решения для неинтерактивного редактирования и компрессии видео: FFmpeg
3. Полновесные решения для интерактивного редактирования видео: программы нелинейного монтажа/работы с эффектами Adobe Premiere, After Effects, Lightworks, etc.
4. Что-то пытающееся быть простым, но в тоже время предоставлять возможности как по редактированию, так и по кодированию, эффекты, фильтры, интерактивность и прочее: XMedia Recode Sony Vegas
Моё мнение: 2 и 3 категории имеют право на жизнь потому, что делают одну задачу и делают её максимально качественно. У 1-ой категории неизбежно текут абстракции, но т.к. задача достаточно узкая, это не так заметно, к тому же компенсируется их простотой. А вот последний вариант имеет худшее из обоих миров: он и переусложнён в погоне за опциями, и не дотягивает до профессиональных инструментов в то же время.
>а я очень ленивый, но пренебрегать качеством не намерен
Это плохо сочетается. Иногда, чтобы сделать нормальный энкод, нужно по 5-10 раз реенкодить. А в некоторых случаях так и вообще баги кодека вылезают, тут уже ничего не поделаешь.
>я могу одной левой нащелкать переменные
Это в той-то жести, скриншот которой я чуть выше выкладывал? Ну если для тебя это проще консоли, то я даже не знаю.
>вбить резолюшн, битрейд
Это всё есть в скриптах-обёртках.
>сразу покажет каков будет вес конечного файла еще до начала энкодинга
Пруф или не покажет. VP9 неаккуратно работает с битрейтом - постоянно undershoot или overshoot.
>Покадровый просмотр
>преимущество в плане удобного кропа и предпросмотра там же
Есть в webm.py, пикрелейтед 1. Фильтры можно в ffplay тестировать, пикрелейтед 2.
>обрезания с точностью до миллисекунды. vp9, 2-pass
Ох уж удивил.
>разве QWinFF может в vp9? Проверил, не может
Как проверял? Подозреваю, там просто пресета такого нет. А так ты хоть raw опции ffmpeg передавай, там это предусмотрено.
Хотя она слишком простая, конечно. Возможно FFQueue будет лучше в качестве замены XMedia Recode. Но оно мне не нравится в плане позиционирования, выше писал.
Единственное, в чём консольные утилиты немного просасывают, это недостаточная интерактивность (хотя интерактивные кат и кроп есть), а фильтры нужно ffplay в консольке вбивать. Но и XMedia Recode хуйня полная в качестве программы нелинейного монтажа. А видео-редакторов и под линукс полно.
Если проанализировать все существующие инструменты, то получится 4 категории:
1. Простые утилиты: WebM for Retards, webm.py, QWinFF, etc.
2. Полновесные решения для неинтерактивного редактирования и компрессии видео: FFmpeg
3. Полновесные решения для интерактивного редактирования видео: программы нелинейного монтажа/работы с эффектами Adobe Premiere, After Effects, Lightworks, etc.
4. Что-то пытающееся быть простым, но в тоже время предоставлять возможности как по редактированию, так и по кодированию, эффекты, фильтры, интерактивность и прочее: XMedia Recode Sony Vegas
Моё мнение: 2 и 3 категории имеют право на жизнь потому, что делают одну задачу и делают её максимально качественно. У 1-ой категории неизбежно текут абстракции, но т.к. задача достаточно узкая, это не так заметно, к тому же компенсируется их простотой. А вот последний вариант имеет худшее из обоих миров: он и переусложнён в погоне за опциями, и не дотягивает до профессиональных инструментов в то же время.
>Это в той-то жести, скриншот которой я чуть выше выкладывал?
QWinFF ты упоминал ранее? Я про xMR, да и про wfr и bigasoft тоже.
>Это всё есть в скриптах-обёртках.
Просвети меня, будь любезен.
>Пруф или не покажет. VP9 неаккуратно работает с битрейтом - постоянно undershoot или overshoot.
Да, лукавлю. С двойным проходом бывает промахивается на 0,5-0,2 в среднем (с расчетом на 6). И все же как правило попадает. В остальном сколько показывает столько и делает, не замечал чтобы vp9 1pass с расчетом ровно на 6 перегибал лимит.
>Ох уж удивил.
Большинство гуишников и этого не может.
>Как проверял?
Пробежался по все пунктам, не нашел. Что подсунули тем и пользуйся.
>Возможно FFQueue будет лучше в качестве замены XMedia Recode
По-моему я его тоже примерял уже давно. Не помню, что не понравилось, возможно, опять же, отсутствие vp9.
Если я правильно тебя понял, почти любой гуи можно подружить с vp9 что-то докачав, докрутив, так?
Должно быть не только одинаковое качество, но и одинаковые кодеки и форматы дорожек.
mkvmerge v1.webm + v2.webm -o out.webm
Звук в opus'е часто склеивается криво и его приходится пережимать.
По-моему там какая-то не моя хуйня описана. Можно мне просто команду, чтоб я ее скопировал и все?
>QWinFF ты упоминал ранее?
xMR: >>1243814
>Просвети меня
В оп-посте ссылки на некоторые. Те, которые я видел: на zsh, 2 штуки на питоне, на перле, на баше. Кое-какие костыли на batch.
Для webm.py нужны python и ffmpeg, см. ссылку на pypi, там всё просто. Для скриптов на zsh/bash/perl нужны cygwin и ffmpeg.
>И все же как правило попадает
Если клип сложный, то приходится значительно снижать target bitrate, т.к. постоянно overshoot. Если лёгкий, то, наоборот, не добирает и приходится уменьшать qmax. Средние обычно да, более-менее точно.
1pass вообще не рекомендуется для Video On Demand использовать: http://www.webmproject.org/docs/encoder-parameters/#one-pass-vs-two-pass
>почти любой гуи можно подружить с vp9 что-то докачав, докрутив, так?
Зависит от гуя. В QWinFF можно либо вручную указать все необходимые опции, либо просто написать пресет:
https://qwinff.github.io/qwinff-doc/html/presets.html
https://github.com/qwinff/qwinff/blob/master/src/presets.xml
Формата пресета простой, здесь сложностей быть не должно.
Там все одинаковое, нарезал из одного видео, с одинаковыми параметрами.
Эта команда не работает.
Че-то этот ваш ффмпег хваленый хуйня какая-то получается, если такую элементарную вещь в нем нельзя сделать.
> Эта команда не работает.
А лог кто показывать будет? Если оно кодировалось одинаково из одного источника, то должно работать, проблема скорее всего в твоих руках.
Во-первых, откуда я должен знать про какой-то конкат, чтобы его в гугл вбить? Во-вторых, давать ссылки на lmgtfy уже в 12 году несмешно было. В третьих, делал я тхт файл с адресами файлов такой-то пердолинг ради склейки 2-х фалов и писал такую команду:
ffmpeg -f concat -i files.txt -c copy out.webm
так не работает.
Если для тебя это легко, то напиши мне просто правильную команду.
>его попросили предоставить вывод
>написал абзац оправданий, а вывода так и нет
И зачем, спрашивается, тред прикреплять, если потом только такие и постят?
> ffmpeg -f concat -i files.txt -c copy out.webm
> так не работает
Вывод показывай. Экстрасенсы ушли в отпуск.
Так получилось, спасибо.
> - Почему VP8?
Скорость. Если размер увеличивается незначительно, то ждать три минуты вместо 20 секунд смысла мало.
> VP9 подобное видео жмёт тоже быстро
Всё равно получается ощутимо медленнее: 1.9 fps против 4.7 во втором проходе на картинке 1800x1273. Это на libvpx от 07.05.2015, раньше разрыв был ещё больше.
> в экспериментальном бранче libvpx вообще уже VP10 пилят
Он будет ещё на порядок медленней?
> А чем одна команда (youtube-dl && вызов-скрипта) хуже твоего одного клика (который на самом деле далеко не один)?
Отсутствием наглядности. Типичный юзверь не знает, что консольные программы можно запускать с ключём --help, для него консоль — тёмный лес. Помимо этого, он обычно и английского языка не знает, и список параметров с описаниями на нём ему помогает мало.
> Теоретически, отлично заточенный под задачу гуй (аля HUD истребителей), который ни в коем случае не прячет консоль куда-то, а встраивает её прямо в окно редактора аля IDE, был бы лучше всего
При этом всё равно теряются такие фичи консоли как возможность скриптовой обвязки. Я бы предпочёл развитие скриптов интерактивного комплита — например, по tab'у после -vf crop= может запускаться mpv со скриптом интерактивного кропа. В принципе в вылазящее по tab'у можно запихнуть и гуевые виджеты, но не в современных терминалах.
> Объясните мне, пожалуйста, товарищи вендузятники, чем вот эта жесть на пикрелейтеде лучше десятка ключей в той самой пердольке, которую все ненавидят?
Возможностью пердолинга: перед юзверем форма с виджетами, которые не допускают неверного заполнения, и позволяют что-то сделать даже абсолютно не обладая знаниями о их назначении.
Как только пердолик попадает в консоль, где возможности ввода не ограничены трафаретом с подсказками, он тут же теряется подобно корове на льду: речь не идёт не то чтобы об использовании преимуществ консоли, он даже на то, что раньше мог в гуикостылях, уже не способен.
Только единицы осваивают язык шелла и методологию работы с неинтерактивными утилитами. Большинство так и остаются пердоликами и могут разве что копипастить готовые команды из пошаговых гайдов и рвать себе анус в клочья от осознания своей беспомощности (>>1244277).
>Всё равно получается ощутимо медленнее: 1.9 fps против 4.7 во втором проходе на картинке 1800x1273
Я подразумевал, что арт используется не очень большой. С картинкой 500x451 и аудио-треком длительностью 4:44 у меня VP9 сэнкодил за 29 секунды на двух проходах (43 секунды с одним). Вполне сносно.
Кстати, это с tile-columns и threads?
>Он будет ещё на порядок медленней?
Не знаю, не пробовал. Можешь собрать, здесь инструкции:
http://comments.gmane.org/gmane.comp.multimedia.webm.devel/2306
http://comments.gmane.org/gmane.comp.multimedia.webm.devel/2346
В декабре прошлого года было 4% преимущество по сравеннию с VP9, как в релизе будет — хз. Вряд ли он Daala обгонит, которые обещают H.265 порвать. Но вообще, наблюдая за тем, как это всё разрабатывается, у меня ощущение, что в ближайшие 5 лет мы более 50% выигрыша в размере ни у кого не увидим.
>Отсутствием наглядности.
Скорее, просто какая-то религиозная фобия. Ну и неудобство работы в Windows в консоли + непонимание, что CLI в данном случае на самом деле гораздо проще — детали протоколов и форматов не скрыты за абстракцией GUI. Эти самые GUI чаще всего весьма паршивого качества к тому же.
>При этом всё равно теряются такие фичи консоли как возможность скриптовой обвязки.
Это да, batch-компрессию и прочие неинтерактивные вещи так будет сделать сложнее/не так удобно (хотя многие переизобретают, посмотри на FFQueue или любую мощную программу по работе с графикой или аудио). Но здесь так или иначе необходимо выбрать какую сторону мы развиваем сильнее — интерактивность или скриптование. Потому что
>Я бы предпочёл развитие скриптов интерактивного комплита
вот это мне видится не то что неудобным, а вообще плохо реализуемым и неприменимым на практике. Я даже не знаю примеров подобного интерфейса.
В интерактивной программе ещё можно предусмотреть возможность выплюнуть командную строку ffmpeg и т.д., чтобы это дальше скриптовать как-то, а встраивать интерактивность в консольку было в Terminology у Enlightenment это какой-то изврат, я считаю.
>перед юзверем форма с виджетами, которые не допускают неверного заполнения
А у меня такие вот плохо продуманные GUI аля «херачим всё подряд, что есть в кодеке, на форму, пользователи разберутся» вызывают только неприязнь и беспокойство, что автор криво выставил виджетам дефолты и из-за этого мне либо надо всё поставить правильно на место, либо, если я не выучил все дефолты наизусть, получить теоретически кривой рип. На примере скриншота выше: а у Opus оно так и оставит значение дискретизации в 44100, если я просто выберу его в списке? Поэтому что это будет весьма неправильным решением.
>Всё равно получается ощутимо медленнее: 1.9 fps против 4.7 во втором проходе на картинке 1800x1273
Я подразумевал, что арт используется не очень большой. С картинкой 500x451 и аудио-треком длительностью 4:44 у меня VP9 сэнкодил за 29 секунды на двух проходах (43 секунды с одним). Вполне сносно.
Кстати, это с tile-columns и threads?
>Он будет ещё на порядок медленней?
Не знаю, не пробовал. Можешь собрать, здесь инструкции:
http://comments.gmane.org/gmane.comp.multimedia.webm.devel/2306
http://comments.gmane.org/gmane.comp.multimedia.webm.devel/2346
В декабре прошлого года было 4% преимущество по сравеннию с VP9, как в релизе будет — хз. Вряд ли он Daala обгонит, которые обещают H.265 порвать. Но вообще, наблюдая за тем, как это всё разрабатывается, у меня ощущение, что в ближайшие 5 лет мы более 50% выигрыша в размере ни у кого не увидим.
>Отсутствием наглядности.
Скорее, просто какая-то религиозная фобия. Ну и неудобство работы в Windows в консоли + непонимание, что CLI в данном случае на самом деле гораздо проще — детали протоколов и форматов не скрыты за абстракцией GUI. Эти самые GUI чаще всего весьма паршивого качества к тому же.
>При этом всё равно теряются такие фичи консоли как возможность скриптовой обвязки.
Это да, batch-компрессию и прочие неинтерактивные вещи так будет сделать сложнее/не так удобно (хотя многие переизобретают, посмотри на FFQueue или любую мощную программу по работе с графикой или аудио). Но здесь так или иначе необходимо выбрать какую сторону мы развиваем сильнее — интерактивность или скриптование. Потому что
>Я бы предпочёл развитие скриптов интерактивного комплита
вот это мне видится не то что неудобным, а вообще плохо реализуемым и неприменимым на практике. Я даже не знаю примеров подобного интерфейса.
В интерактивной программе ещё можно предусмотреть возможность выплюнуть командную строку ffmpeg и т.д., чтобы это дальше скриптовать как-то, а встраивать интерактивность в консольку было в Terminology у Enlightenment это какой-то изврат, я считаю.
>перед юзверем форма с виджетами, которые не допускают неверного заполнения
А у меня такие вот плохо продуманные GUI аля «херачим всё подряд, что есть в кодеке, на форму, пользователи разберутся» вызывают только неприязнь и беспокойство, что автор криво выставил виджетам дефолты и из-за этого мне либо надо всё поставить правильно на место, либо, если я не выучил все дефолты наизусть, получить теоретически кривой рип. На примере скриншота выше: а у Opus оно так и оставит значение дискретизации в 44100, если я просто выберу его в списке? Поэтому что это будет весьма неправильным решением.
Да, забыл уточнить почему я именно считаю это плохо применимым.
Чаще всего нам важнее итоговый результат, а не результат выполнения одного фильтра. Поэтому нужен предпросмотр всех применяемых к видео фильтров, а как это будет выглядеть внутри консоли с комплитом по табу я плохо представляю. Под вот этой самой мифической идеальной программе по кодированию вебмок мне видится скорее гибрид видео-редактора для монтажа и эффектов и встроенной внутрь него консоли для компрессии и отслеживания прогресса.
Теоретически, кстати, какой-нибудь уже существующий видео-редактор можно наскриптовать так, чтобы поддерживал все нужные опции по компрессии в VP9, т.к. переизобретать велосипед мало смысла. Был вроде какой-то плагин для Adobe Premiere, можно сделать и для чего-нибудь опенсорсного. Будет немного тяжеловесно, правда.
FFmpeg has three concat methods.
concat protocol
$ ffmpeg -i concat:"input1|input2" -codec copy output
concat video filter
$ ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex \
'[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] \
concat=n=3:v=1:a=1 [v] [a]' \
-map '[v]' -map '[a]' output.mkv
concat demuxer
$ cat mylist.txt
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'
$ ffmpeg -f concat -i mylist.txt -c copy output
Which one to use
concat protocol: use with formats that support file level concatenation (MPEG-1, MPEG-2 PS, DV).
concat filter: use if you need to re-encode such as when applying filters.
concat demuxer: use when you want to avoid a re-encode and your format does not support file level concatenation.
If in doubt try the concat demuxer.
Also see
FFmpeg FAQ: How can I join video files? http://ffmpeg.org/faq.html#How-can-I-join-video-files_003f
FFmpeg Wiki: How to concatenate (join, merge) media files https://trac.ffmpeg.org/wiki/How%20to%20concatenate%20%28join,%20merge%29%20media%20files
FFmpeg has three concat methods.
concat protocol
$ ffmpeg -i concat:"input1|input2" -codec copy output
concat video filter
$ ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex \
'[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] \
concat=n=3:v=1:a=1 [v] [a]' \
-map '[v]' -map '[a]' output.mkv
concat demuxer
$ cat mylist.txt
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'
$ ffmpeg -f concat -i mylist.txt -c copy output
Which one to use
concat protocol: use with formats that support file level concatenation (MPEG-1, MPEG-2 PS, DV).
concat filter: use if you need to re-encode such as when applying filters.
concat demuxer: use when you want to avoid a re-encode and your format does not support file level concatenation.
If in doubt try the concat demuxer.
Also see
FFmpeg FAQ: How can I join video files? http://ffmpeg.org/faq.html#How-can-I-join-video-files_003f
FFmpeg Wiki: How to concatenate (join, merge) media files https://trac.ffmpeg.org/wiki/How%20to%20concatenate%20%28join,%20merge%29%20media%20files
> Я подразумевал, что арт используется не очень большой.
В основном так и получается. Но если возможности позволяют постить хайрес, то почему бы нет?
> Кстати, это с tile-columns и threads?
Без, на двухголовом Core2 E7500.
> Вряд ли он Daala обгонит, которые обещают H.265 порвать.
Недавно собирал Daala, пока он сосёт и у VP9. Будем подождать.
> Скорее, просто какая-то религиозная фобия.
По-моему, фобия тут присутствует редко, чаще просто неспособность извлечь из себя то, что нужно в консоли написать.
> Ну и неудобство работы в Windows в консоли
Это, конечно, усугубляющий фактор, но ключевым я бы его не назвал. Ключевым тут является способ организации деятельности: пердолик запускает программу, а она ему предлагает ввести данные и нажать кнопку выполнения операции. То, что перед выполнением программы нужно что-то читать, для него является нонсенсом.
> многие переизобретают, посмотри на FFQueue или любую мощную программу по работе с графикой или аудио
В той же мокропиське xmedia recode вроде была очередь. Проблема в том, что это всё — примитивные костыли, пригодные к автоматизации только в простейшем случае, да ещё и сложные в реализации (необходимость сериализации операций, етц).
> вот это мне видится не то что неудобным, а вообще плохо реализуемым и неприменимым на практике. Я даже не знаю примеров подобного интерфейса.
В zsh есть menu complete — жмёшь два раза tab, вылазит интерактивное меню со списком. Теоретически в подобное меню можно запихать что угодно, в т.ч. gui-формы.
> встраивать интерактивность в консольку было в Terminology у Enlightenment это какой-то изврат, я считаю.
Речь о допиливании интерактивности там, где она уже присутствует — в редактировании командной строки. В terminology вроде как было не это.
> А у меня такие вот плохо продуманные GUI аля «херачим всё подряд, что есть в кодеке, на форму, пользователи разберутся» вызывают только неприязнь и беспокойство, что автор криво выставил виджетам дефолты и из-за этого мне либо надо всё поставить правильно на место, либо, если я не выучил все дефолты наизусть, получить теоретически кривой рип.
Аналогично. Возможность ввода только тех параметров, которые нужно сменить, намного удобнее. Но быдлоюзверь видит обилие параметров и верит в крутость программы.
> нужен предпросмотр всех применяемых к видео фильтров, а как это будет выглядеть внутри консоли с комплитом по табу я плохо представляю
С этим соснули, да. Но придумалось alias -g FP='-f xv $DISPLAY -f alsa default', кое-как проблему решает.
> встроенной внутрь него консоли
Встроенность консоли внутрь программы (а не наоборот) порождает кучу проблем: придётся чуть ли не велосипедить свой шелл.
> Теоретически, кстати, какой-нибудь уже существующий видео-редактор можно наскриптовать так, чтобы поддерживал все нужные опции по компрессии в VP9
Можно взять любой редактор на MLT — оно вполне себе может в VP9 через плагин вывода avformat. Да и возможность испоьзования консоли со всеми плюшками есть: сохранённый проект можно скормить неинтерактивному фронтенду melt.
> Я подразумевал, что арт используется не очень большой.
В основном так и получается. Но если возможности позволяют постить хайрес, то почему бы нет?
> Кстати, это с tile-columns и threads?
Без, на двухголовом Core2 E7500.
> Вряд ли он Daala обгонит, которые обещают H.265 порвать.
Недавно собирал Daala, пока он сосёт и у VP9. Будем подождать.
> Скорее, просто какая-то религиозная фобия.
По-моему, фобия тут присутствует редко, чаще просто неспособность извлечь из себя то, что нужно в консоли написать.
> Ну и неудобство работы в Windows в консоли
Это, конечно, усугубляющий фактор, но ключевым я бы его не назвал. Ключевым тут является способ организации деятельности: пердолик запускает программу, а она ему предлагает ввести данные и нажать кнопку выполнения операции. То, что перед выполнением программы нужно что-то читать, для него является нонсенсом.
> многие переизобретают, посмотри на FFQueue или любую мощную программу по работе с графикой или аудио
В той же мокропиське xmedia recode вроде была очередь. Проблема в том, что это всё — примитивные костыли, пригодные к автоматизации только в простейшем случае, да ещё и сложные в реализации (необходимость сериализации операций, етц).
> вот это мне видится не то что неудобным, а вообще плохо реализуемым и неприменимым на практике. Я даже не знаю примеров подобного интерфейса.
В zsh есть menu complete — жмёшь два раза tab, вылазит интерактивное меню со списком. Теоретически в подобное меню можно запихать что угодно, в т.ч. gui-формы.
> встраивать интерактивность в консольку было в Terminology у Enlightenment это какой-то изврат, я считаю.
Речь о допиливании интерактивности там, где она уже присутствует — в редактировании командной строки. В terminology вроде как было не это.
> А у меня такие вот плохо продуманные GUI аля «херачим всё подряд, что есть в кодеке, на форму, пользователи разберутся» вызывают только неприязнь и беспокойство, что автор криво выставил виджетам дефолты и из-за этого мне либо надо всё поставить правильно на место, либо, если я не выучил все дефолты наизусть, получить теоретически кривой рип.
Аналогично. Возможность ввода только тех параметров, которые нужно сменить, намного удобнее. Но быдлоюзверь видит обилие параметров и верит в крутость программы.
> нужен предпросмотр всех применяемых к видео фильтров, а как это будет выглядеть внутри консоли с комплитом по табу я плохо представляю
С этим соснули, да. Но придумалось alias -g FP='-f xv $DISPLAY -f alsa default', кое-как проблему решает.
> встроенной внутрь него консоли
Встроенность консоли внутрь программы (а не наоборот) порождает кучу проблем: придётся чуть ли не велосипедить свой шелл.
> Теоретически, кстати, какой-нибудь уже существующий видео-редактор можно наскриптовать так, чтобы поддерживал все нужные опции по компрессии в VP9
Можно взять любой редактор на MLT — оно вполне себе может в VP9 через плагин вывода avformat. Да и возможность испоьзования консоли со всеми плюшками есть: сохранённый проект можно скормить неинтерактивному фронтенду melt.
> ffmpeg -i concat:"input1|input2"
Работает только с примитивными контейнерами вроде mpg, с webm работать не будет.
> ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex \
> '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] \
> concat=n=3:v=1:a=1 [v] [a]' \
> -map '[v]' -map '[a]'
Требует пережатия. Олсо, потоки скорее всего можно не указывать — сработает автоподбор.
> ffmpeg -f concat -i mylist.txt -c copy output
Было.
>То, что перед выполнением программы нужно что-то читать, для него является нонсенсом.
Для youtube-dl не нужно же ничего читать. Оно само по умолчанию всё хорошо сделает.
>Проблема в том, что это всё — примитивные костыли
Это да. Но что-то можно придумать, вроде генерации команды ffmpeg, которую уже дальше можно скриптовать.
>В zsh есть menu complete — жмёшь два раза tab, вылазит интерактивное меню со списком. Теоретически в подобное меню можно запихать что угодно, в т.ч. gui-формы.
Только никто этого делать не будет, т.к. дикий изврат. Да и вряд ли получится это всё легко в zsh встроить, там же все абстракции вокруг текста. Небось половину придётся переписать.
>В terminology вроде как было не это.
Просто пример эксперимента по визуализации консоли. Получилось весьма странно, на мой взгляд.
https://www.enlightenment.org/about-terminology
>Но придумалось alias -g FP='-f xv $DISPLAY -f alsa default', кое-как проблему решает.
Так это прямо сейчас можно через ffplay. Оно просто неудобно. Сравни: натыкать фильтров в редакторе в гуишке и сразу результат в окне предпросмотре увидеть, или пердолить то же, но текстом. Везде, где нужно видеть мгновенный результат (аля крутим колесо цвета), неинтерактивные инструменты сосут. И предпросмотр отдельной операции мало спасает.
Кстати, вспомнилось в тему: https://vimeo.com/115154289 Очень крутой упоротый чувак.
>придётся чуть ли не велосипедить свой шелл
XEmbed же и аналоги. В IDE-шки полноценные консоли же встраивают.
>Можно взять любой редактор на MLT — оно вполне себе может в VP9 через плагин вывода avformat
Ну вот что-нибудь такое допилить до приличного состояния и было бы ок.
У вас мадока — наркоман.
> Не документацию на 10050 страниц, а просто перечисление всех возможных команд, ключей и что там ещё у вас есть
> Не документацию
Ты дебил или прикидываешься?
Не мог бы ты заново сформировать валидную команду и сказать какой у тебя билд, хочу попробовать на твоем билде запустить ее.
Команда: ffmpeg -i out.mkv -c:v libvpx-vp9 -b:v 0 -crf 20 -vf subtitles=out.mkv -c:a libopus -b:a 64k -sn -y hardsub.webm
Версия: N-72215-gc6bf27d, флаги: http://pastebin.com/xCPBA7fN
Но не думаю, что причина в этом. Лучше покажи вывод с -loglevel verbose и -loglevel debug, скорее всего там будет указана причина проблемы.
> Для youtube-dl не нужно же ничего читать.
Это тебе не нужно ничего читать, а у пердоликов окошко закрывается и пиздец. А экранирование/квотирование встречающихся в ссылках спецсимволов — так это вообще рокет саенс.
> Оно само по умолчанию всё хорошо сделает.
Дефолтные H.264 в 720p до 30fps — не всегда то, что хочется. Иногда можно взять VP9 и запостить на сосач, например, или запихать на флешку не слишком толстое H.264 для просмотра на даче на калькуляторе.
> Но что-то можно придумать, вроде генерации команды ffmpeg, которую уже дальше можно скриптовать.
Ну да, так и живём.
> Да и вряд ли получится это всё легко в zsh встроить, там же все абстракции вокруг текста.
Так оно не выйдет за пределы текста. Терминалу отправляется esc-последовательность с командой отрисовки виджета, обратно приходит введённая в виджете инфа.
> Только никто этого делать не будет, т.к. дикий изврат.
А поддержка мыши в терминале — тоже изврат? Вот тебе целая пачка таких извратов: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
> Просто пример эксперимента по визуализации консоли. Получилось весьма странно, на мой взгляд.
Terminology — вообще странная штука, которой я не нахожу практического применения. Её «чудеса» реализованы путём передачи в escape-кодах путей к файлам, что ограничивает их применение локалхостом и создаёт проблемы с безопасностью (доступ к локальным файлам через ssh).
Вот если бы в escape-последовательностях передавались сами данные, в т.ч. документы, картинки (как это описано по ссылке выше) и видеофайлы — тогда другое дело. Это открывает возможности для эффективных удалённых интерфейсов — вроде того, чем был X11 до перехода почти всего софта на отрисовку bitmap'ов на стороне X-клиента.
> Так это прямо сейчас можно через ffplay.
Не всегда: например, оно не может в несколько входных файлов.
> Сравни: натыкать фильтров в редакторе в гуишке и сразу результат в окне предпросмотре увидеть, или пердолить то же, но текстом.
Не вижу особой разницы: она та же, что между запуском консольных утилит и gui-приблуд. Просмотр появляется по нажатию enter'а.
> Везде, где нужно видеть мгновенный результат (аля крутим колесо цвета)
Ну разве что если так. Опять же, часто действие фильтров надо просматривать не на паузе, а на воспроизводящемся фрагменте, а тогда и разница пропадает. Ну и бывают случаи когда параметры фильтров удобнее задавать формулами, а не перетаскиванием слайдеров.
Также с опытом снижается количество необходимых итераций для подбора значений и, соответственно, нужность интерактивного режима.
> XEmbed же и аналоги.
Речь не о терминале, а о шелле: в него нужно как-то запихнуть команду и дать её редактировать и обвязывать пользователю.
Зайчатки чего-то подобного реализованы во встроенном в dolphin терминале — в нём выполняется cd вслед за переходами файломенеджера и наоборот.
Как ты узнал? Олсо, это не Мадока, это Сакура же!
>>1245184
> Не документацию на 10050 страниц, а просто перечисление всех возможных команд, ключей и что там ещё у вас есть.
Проиграл с пердолика. А ничего, что число возможных команд может быть ограничено лишь фантазией их автора?
Список ключей ffmpeg'а можешь получить по ffmpeg -h full.
> Для youtube-dl не нужно же ничего читать.
Это тебе не нужно ничего читать, а у пердоликов окошко закрывается и пиздец. А экранирование/квотирование встречающихся в ссылках спецсимволов — так это вообще рокет саенс.
> Оно само по умолчанию всё хорошо сделает.
Дефолтные H.264 в 720p до 30fps — не всегда то, что хочется. Иногда можно взять VP9 и запостить на сосач, например, или запихать на флешку не слишком толстое H.264 для просмотра на даче на калькуляторе.
> Но что-то можно придумать, вроде генерации команды ffmpeg, которую уже дальше можно скриптовать.
Ну да, так и живём.
> Да и вряд ли получится это всё легко в zsh встроить, там же все абстракции вокруг текста.
Так оно не выйдет за пределы текста. Терминалу отправляется esc-последовательность с командой отрисовки виджета, обратно приходит введённая в виджете инфа.
> Только никто этого делать не будет, т.к. дикий изврат.
А поддержка мыши в терминале — тоже изврат? Вот тебе целая пачка таких извратов: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
> Просто пример эксперимента по визуализации консоли. Получилось весьма странно, на мой взгляд.
Terminology — вообще странная штука, которой я не нахожу практического применения. Её «чудеса» реализованы путём передачи в escape-кодах путей к файлам, что ограничивает их применение локалхостом и создаёт проблемы с безопасностью (доступ к локальным файлам через ssh).
Вот если бы в escape-последовательностях передавались сами данные, в т.ч. документы, картинки (как это описано по ссылке выше) и видеофайлы — тогда другое дело. Это открывает возможности для эффективных удалённых интерфейсов — вроде того, чем был X11 до перехода почти всего софта на отрисовку bitmap'ов на стороне X-клиента.
> Так это прямо сейчас можно через ffplay.
Не всегда: например, оно не может в несколько входных файлов.
> Сравни: натыкать фильтров в редакторе в гуишке и сразу результат в окне предпросмотре увидеть, или пердолить то же, но текстом.
Не вижу особой разницы: она та же, что между запуском консольных утилит и gui-приблуд. Просмотр появляется по нажатию enter'а.
> Везде, где нужно видеть мгновенный результат (аля крутим колесо цвета)
Ну разве что если так. Опять же, часто действие фильтров надо просматривать не на паузе, а на воспроизводящемся фрагменте, а тогда и разница пропадает. Ну и бывают случаи когда параметры фильтров удобнее задавать формулами, а не перетаскиванием слайдеров.
Также с опытом снижается количество необходимых итераций для подбора значений и, соответственно, нужность интерактивного режима.
> XEmbed же и аналоги.
Речь не о терминале, а о шелле: в него нужно как-то запихнуть команду и дать её редактировать и обвязывать пользователю.
Зайчатки чего-то подобного реализованы во встроенном в dolphin терминале — в нём выполняется cd вслед за переходами файломенеджера и наоборот.
Как ты узнал? Олсо, это не Мадока, это Сакура же!
>>1245184
> Не документацию на 10050 страниц, а просто перечисление всех возможных команд, ключей и что там ещё у вас есть.
Проиграл с пердолика. А ничего, что число возможных команд может быть ограничено лишь фантазией их автора?
Список ключей ffmpeg'а можешь получить по ffmpeg -h full.
>Дефолтные H.264 в 720p до 30fps — не всегда то, что хочется
Там уже дефолтные bestvideo+bestaudio, которые затем ffmpeg'ом муксятся. Это уже детали, стандартное поведение достаточно вменяемо. webm у большинства видео, которые я проверял, всё равно только для 640x480 и ниже есть.
>например, оно не может в несколько входных файлов
Может через фильтр movie. Вот здесь есть примеры: https://github.com/Kagami/webm.py/wiki/Tips-and-tricks#compare-two-videos-side-by-side
>Не вижу особой разницы: она та же, что между запуском консольных утилит и gui-приблуд. Просмотр появляется по нажатию enter'а.
>Ну и бывают случаи когда параметры фильтров удобнее задавать формулами, а не перетаскиванием слайдеров.
>Также с опытом снижается количество необходимых итераций для подбора значений и, соответственно, нужность интерактивного режима.
Бля, ну я не знаю, как ещё объяснить. Ты либо ориентируешься на какие-то простые частные случаи, либо специально ищешь corner cases. Ты мне сейчас хочешь сказать, что интерактивные видео-редакторы бесполезны и всё то же самое можно нисколько не теряя в эффективности в консоли проделывать? Даже с этими твоими ненаписанными автокомплит-приблудами.
>Речь не о терминале, а о шелле: в него нужно как-то запихнуть команду и дать её редактировать и обвязывать пользователю
Ну я ж говорю, в IDE-шках точно такое применение и там всё это работает. Как точно — не знаю, не интересовался, но вижу несколько вариантов:
- Т.к. по сути мы владеем окном терминала, можем посылать туда какие хотим нажатия клавиш и формировать таким образом команду
- У каких-то шеллов должно быть что-то вроде slave-режима
- Наконец, можно просто запускать каждый раз интерактивный шелл с нужной нам командой: https://superuser.com/a/230090 Думаю, через zle можно добиться, чтобы отобразилась строчка текста в режиме редактирования
Воздержусь.
Это pituz и он автор треда.
Да и вообще, как будто в этом треде что-то интересное происходит. Всё уже перетёрли тысячу раз и так.
Вот если бы кто копал VP9 internals, это бы было охуенно.
1. Показывай всё: и команду, и вывод, а не его конец. Чтобы блок информации о версии, после ffmpeg добавь -hide_banner. Ещё окно консоли можно растянуть как минимум по высоте на весь экран
2. Куда ты положил FFmpeg?
Спасибо за ответ, но я уже сам исправил. Добра тебе анон.
Алсо, проц нагружен всего на 30%
Если интересует на какую скорость следует примерно ориентироваться, то сделал сейчас пару энкодов со стандартным двухпроходным шаблоном:
- аниме в 720p: 10-секундные отрезки кодируются за ~50 секунд, 30-секундные за 2m30s, процессор при этом загружен на ~330% (должно быть 400 в идеале), fps средний около 5-7
- аниме в 480p: 10-секундные отрезки кодируются за ~30 секунд, 30-секундные за 1m30s, процессор загружен на ~180% (должно быть 200 в идеале), fps около 8-10
Т.е. в среднем ожидай 1-3x времени кодирования по сравнению с продолжительностью оригинала.
Охуенный фак, прямо все вопросы, которые спрашивал, когда вебмки только появились, про файрфокс, про размер, про всю хуйню, спс.
*на харкаче появились
Нет, и вряд ли в скором времени научится.
Ты бы лучше спросил, запилит ли хоть кто-нибудь альтернативную реализацию энкодера или, хотя бы, выделит ли гугль под проект чутка побольше денег. Потому что на то, что есть сейчас, без слёз смотреть невозможно. Типичная политика гугля — распиарить везде, где только можно, а денег не давать, в итоге работают полтора разработчика и темпы черепашьи (они пару лет только многопоточность реализовывали).
А тем временем на подходе H.265, который не намного, но уже делает VP9. При том, что у VP9 бистрим уже заморожен, а у разработчиков H.265 пока руки развязаны, да и кодеки только начали писать. Это я даже не говорю про то, что VP9 иногда даже у H.264 сосёт (бэкграунды, движения), не смотря на все заверения гугля.
Или нас спасут Daala с VP10 в обнимку, или опять будем дружно сосать хуец MPEG LA всем коммьюнити вместе.
А сколько у тебя ядер и какие tile-columns и threads указываешь?
У меня 4 ядра при любых настройках максимум - параллельно нагруженные 4 ядра на 50%
-threads 8 -tile-columns 6. Ядер реальных 4, 8 с HT. Я htop смотрел, у него 100% это полностью загруженное одно ядро.
tile-columns=6 по умолчанию, можно не указывать. Большие значения, чем возможно для текущего видео, игнорируются. С тредами аналогично.
У тебя какое разрешение видео-то? И да, libvpx 1.4.0? Посмотри какими-нибудь более адекватными утилитами сколько потоки ffmpeg отжирают. У меня такая статистика по тредам для 720p видео (ширина 1280 пикселей, соответственно):
$ ps -eLo %cpu,cmd | awk '/ffmpeg/{print $1" "$2}'
80.4 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
81.9 ffmpeg
80.5 ffmpeg
80.5 ffmpeg
0.0 awk
-threads 8 -tile-columns 6. Ядер реальных 4, 8 с HT. Я htop смотрел, у него 100% это полностью загруженное одно ядро.
tile-columns=6 по умолчанию, можно не указывать. Большие значения, чем возможно для текущего видео, игнорируются. С тредами аналогично.
У тебя какое разрешение видео-то? И да, libvpx 1.4.0? Посмотри какими-нибудь более адекватными утилитами сколько потоки ffmpeg отжирают. У меня такая статистика по тредам для 720p видео (ширина 1280 пикселей, соответственно):
$ ps -eLo %cpu,cmd | awk '/ffmpeg/{print $1" "$2}'
80.4 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.0 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
0.4 ffmpeg
81.9 ffmpeg
80.5 ffmpeg
80.5 ffmpeg
0.0 awk
0.1 FPS, всё равно мало.
Как хорошо, что ты нашелся.
http://rghost.ru/6hmpZtNpp мой выходной webm
-loglevel verbose http://pastebin.com/Y0FgaeJN
-loglevel debug http://pastebin.com/79z0GS7r
В verbose копипастообразный процесс рендеринга вырезал
http://pastebin.com/xhLZtjRU
Ещё какой-то такого же качества однажды попадался, но не сохранил.
Смущает, что у тебя нет строчки fontconfig_select в выводе. У меня с loglevel=verbose и ниже показывает какие шрифты были использованы.
Но тут тебе скорее вендузятники подскажут (кто там писал статью в вики про fontconfig на Windows), в логе ничего подозрительного нет. Я бы попробовал поизменять конфиг fonts.conf или с другого сайта билд взять. В общем, вариантов куча, но это всё shotgun debugging, сам понимаешь. Надо сидеть и пробовать.
Как вариант ещё попробуй так:
ffmpeg -f lavfi -i "color=c=white:s=640x480,drawtext=fontsize=30:x=50:y=50:text=Test" -frames 1 -loglevel debug -y 1.png
и так:
ffmpeg -f lavfi -i "color=c=white:s=640x480,drawtext=fontfile=C\:/font.ttf:fontsize=30:x=50:y=50:text=Test" -frames 1 -loglevel debug -y 2.png
, может что дельное напишет в выводе. (C:/font.ttf на путь до какого-нибудь ttf-шрифта поменяй, соответственно. Слэши прямые, двоеточие экранируется. Ну и в выходных файлах должно быть слово Test отрендерено.)
Что у тебя за версия FFmpeg? Сам компилил или с сайта zeranoe брал?
а ты не думал что скриншот в png будет весить меньше чем в jpg и там не распидорасит красный, хм? даже paint умеет в png, ну ёбана!
ещё один ЖИПЕГОЁБ...
Бля, скрин с жпг в гиф весит 58кб. Вот это сюр.
Иди нахуй со своим ЖПГ
ну да, если даунит сохранит исходный скрин в жпег а потом пересохранит этот жпег в png то конечно будет одинаковое говно, но блять как можно быть таким ущербом?!
А мне не понять нахуя засорять тред десятком бесполезных постов по тривиальному вопросу, который никого не волнует. Потом, благодаря стараниям таких как ты, все и жалуются на тысячепостные треды.
Лично мне хватает скринов в гиф на весь графический интерфейс.
Алсо, почему второй пнг файл так мало весит?
Запрети мне.
ну дык норм же, у восьмёрки рамка окон в один цвет да и в окне командная строка, а вот рамку окна висты или спермерки знатно бы распидорасило с включённым aero даже в этом случае.
забить болт на пару килобайт моего текста легче чем каждый раз загружать бессмысленные и беспощадные жпег скрины командной строки которые мало того что жирнее более уместных png и gif так ещё и выглядят хуёво, я кончил, коли тебя не ебёт, проходи мимо, проблемы?
>>почему второй пнг файл так мало весит?
первый скрин я из интернетов скачал, второй сам схоронил в paint, может у первого сжатие менее интенсивное, хз, ну там ещё текст в командной строке красного цвета присутстует в отличии от второго скрина.
пересохранил, paint решил вырезать альфа-канал, теперь весит столько же сколько мой скрин.
Гиф лудше!
Блин, почему мой гриншот не может в такое пнг сжатие. Приходится в гифе сохранять. Надо будет напердолить приличное сжатие пнг.
zopfli, deflopt
> Это уже детали, стандартное поведение достаточно вменяемо.
Вменяемо, но оно далеко не всегда адекватно задачам. Выбор формата — весьма часто нужная опция, без чтения справки недоступная.
> webm у большинства видео, которые я проверял, всё равно только для 640x480 и ниже есть.
Страннота: я обычно наблюдал, что если есть WebM с VP9, то тех же разрешений, что и H.264 без звука.
> Может через фильтр movie.
Знаю. Но вопрос-то стоял о применимости ffprobe для тестирования параметров ffmpeg'а (или я его так понимал).
> Ты либо ориентируешься на какие-то простые частные случаи, либо специально ищешь corner cases. Ты мне сейчас хочешь сказать, что интерактивные видео-редакторы бесполезны и всё то же самое можно нисколько не теряя в эффективности в консоли проделывать?
Ни в коем случае. Просто на моей практике действительно было больше случаев, где мне был удобнее ffmpeg. Правда, серьёзным редактированием видео я никогда и не занимался.
И субтитры мне было удобнее пилить не в aegisub, а при помощи mpv и vim'а (хотя вполне возможно, что только из-за недостатка навыков работы с aegisub).
>Но вопрос-то стоял о применимости ffprobe
ffplay же.
>И субтитры мне было удобнее пилить не в aegisub, а при помощи mpv и vim'а
Вопрос заточенности гуя под задачу, его качества и типа задачи. А также субъективных предпочтений и времени, необходимое потратить на его изучение конкретному человеку. Определённый класс задач при правильном гуе будет эффективнее делать именно в нём (т.е. затрачивая меньше времени и усилий), какие ухищрения не придумывай в неинтерактивных инструментах.
С субтитрами разница ещё не так заметна, к тому же ты сейчас будешь доказывать во сколько десятков раз повышает твою продуктивность вим для редактирования текста, знаю я ваши прыщеблядские штучки сам использую vim, если что. А вот с какими-нибудь сложными эффектами, монтажём, любыми вещами, где важен предпросмотр операции, изменения по времени, общая картина, гуй всегда выигрывает.
Как ффмпегом склеить видео потипу вемб-релейтеда?
Т.е. изначально есть 4 разных файла, мы их кладём плиткой и получаем выход.
сам нашёл, спасибо за наводку >>1248265
http://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos
Так и делаю, но всё равно пикрелейтед.
ffmpeg -i "David Hasselhoff - True Survivor (from Kung Fury).mp4" -pass 1 -vf scale=800:450 -c:v vp9 -qmin 0 -qmax 63 -c:a libvorbis -b:v 160K -b:a 192K -threads 8 -speed 0 ^
-tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 ^
-f webm NUL
ffmpeg -i "David Hasselhoff - True Survivor (from Kung Fury).mp4" -pass 2 -vf scale=800:450 -c:v vp9 -qmin 0 -qmax 63 -c:a libvorbis -b:v 160K -b:a 192K -threads 8 -speed 0 ^
-tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 ^
-f webm "David Hasselhoff - True Survivor (from Kung Fury).webm"
800 пикселей в ширину это 2 потока максимум + неидеальность распараллеливания, так что в принципе нормально. Посмотри каким-нибудь адекватным process explorer статистику по тредам ffmpeg, общая загрузка слишком неточный индикатор. Должно быть два треда по 70-80% каждый.
SAS
Это понятно. Но люблю поизъебываться.
Пока пользую онлайн-конвертер.
Неужели, еще никто не осилил такое запилить в приложение под Андрюшу?
Мне кажется, смысла нет. Кодирование в H.264 - довольно ресурсоёмкая операция, телефон слишком долго будет перегонять видео в приемлемое качество по сравнению с ПК.
А сколько понадобится на онлайн-ресурс этот же файл?
http://video.online-convert.com/ru/convert-to-mp4
ffmpeg -itsoffset 0.04 -i C:\Users\PC\Desktop\27\zz.webm -f concat -i C:\Users\PC\Desktop\27\q.txt -map 1:v -map 0:a -c copy C:\Users\PC\Desktop\27\out.webm
> Вот что я юзаю.
> ffmpeg -itsoffset 0.04 -i C:\Users\PC\Desktop\27\zz.webm -f concat -i C:\Users\PC\Desktop\27\q.txt -map 1:v -map 0:a -c copy C:\Users\PC\Desktop\27\out.webm
В вики нет той хуйни, что ты написал, читай внимательно, там для дебилов расписано, что где смотреть.
> C:\Users\PC\Desktop\27\
> C:\Users\PC\Desktop\27\
> C:\Users\PC\Desktop\27\
Не проще осилить установку переменной PATH и делать cd в каталог с файлами?
> помогите плиз
Показывай содержимое q.txt, webm-файлы до склейки (три штуки, насколько я понял) и вывод ffmpeg при склейке.
>Показывай содержимое q.txt
file 'C:\Users\PC\Desktop\27\preview.webm'
file 'C:\Users\PC\Desktop\27\video.webm'
Всё было очень долго, я уже и сам разобрался. Спасибо.
Имеется изображение(jpg), и видео со звуковой дорожкой. Нужно вставить видео в определенное место на изображении, это возможно вообще? все уже засунул в вегас, а что дальше делать хз. помоги добрый анончик
пикрандом
Способен ли WebM создать симфонию? Превратить кусок холста в шедевр искусства?
Способен, с vp9.
Способен-то способен, но вряд ли какой браузер возьмётся его проиграть.
Вообще есть специальная опция для этого — -losssless в ffmpeg или --lossless в vpxenc. Устанавливают опцию кодека VP9E_SET_LOSSLESS.
http://www.webmproject.org/docs/encoder-parameters/
http://www.webmproject.org/docs/webm-sdk/group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca7224f4edeeaf940584e6fe3ff2345b86
Не уверен, что просто -crf 0 даст тот же эффект, т.к. судя по сорцам при активированной опции lossless устанавливаются ещё как минимум rc_min_quantizer и rc_max_quantizer в 0; возможно, ещё что-то. По крайней мере, судя по документации, режим без потерь включается именно специальной опцией.
Оно не кодирует.
> Sony vegas pro
Не нужен.
> Нужно вставить видео в определенное место на изображении
ffmpeg -loop 0 -r 25 -i image.jpg -i video.mkv -lavfi overlay=x=100:y=50 -crf 18 -shortest out.mkv
Параметр -r 25 выставить по fps исходного видео.
> ffmpeg -loop 0 -r 25 -i image.jpg -i video.mkv -lavfi overlay=x=100:y=50 -crf 18 -shortest out.mkv
Что ты в этом понимаешь вообще?
> Какая разница между -lavfi и filtergraph через -vf ?
-vf может только в простые цепочки: один видеодход и один видеовыход;
-lavfi (оно же -filter_complex) может иметь сколько угодно входов и выходов, в т.ч. именованных;
-f lavfi -i <filtergraph> не имеет входов (вместо них нужно использовать фильтры-источники), но должен иметь выходы.
В данном случае фильтр overlay имеет два входа и один выход.
>>1252807
Всё. Ссылки на документацию есть в оп-посте.
Тогда видео будет сконвертировано из yuv420p в rgb и и потом обратно, а также будет инвертирована и яркость. Лучше -vf lutyuv=u=negval:v=negval.
>Тогда видео будет сконвертировано из yuv420p в rgb и и потом обратно
И что? Погрешность там всё равно меньше, чем глубина хранимого цвета. С RGB просто намного легче работать, чем с ебанутым YCbCr, к которому, кстати, ещё и профили цветовые надо знать (BT.601 vs BT.709) и не проебаться с limited/unlimited color range.
Кстати, с чего ты взял, что ffmpeg у себя внутри именно с YCbCr работает? Там оно может по десять раз всё перегоняться и так без каких-либо потерь.
Кстати, у тебя аргументы неправильные. Для яркости тоже надо negate делать.
> С RGB просто намного легче работать, чем с ебанутым YCbCr
Но у него нет яркости отдельным параметром. Несколько раз мне была нужна именно она.
> к которому, кстати, ещё и профили цветовые надо знать (BT.601 vs BT.709)
Только если нужно менять цвет.
> и не проебаться с limited/unlimited color range.
Для этого у lutyuv есть переменные minval/maxval; negval работает в их пределах.
> Кстати, с чего ты взял, что ffmpeg у себя внутри именно с YCbCr работает?
Он с чем угодно может работать, вопрос лишь в том, что понимают фильтры и кодеки.
Как оказалось, lutyuv вообще rgb не понимает, даже при манипуляциях с rgb.
Пикрелэйтеды:
1: movie=test.webm,lutyuv=r=negval,nullsink;
2: movie=test.webm,lutyuv=r=negval,format=rgb32,nullsink;
3: movie=test.webm,format=rgb32,lutyuv=r=negval,nullsink.
> Для яркости тоже надо negate делать.
Но требовался негатив цвета, а не яркости. Вопрос лишь в том, считать ли яркость составляющей цвета.
>Но у него нет яркости отдельным параметром. Несколько раз мне была нужна именно она.
>Только если нужно менять цвет.
Это зависит от задачи. Я написал как мне было удобнее обычно.
>Для этого у lutyuv есть переменные minval/maxval; negval работает в их пределах.
Я про работу с этим в общем. Слишком много приходится помнить, чтобы не проебаться. Ещё проблема в том, что никто не знает, какой именно формат YCbCr в исходнике. У mpv для этого есть ряд эвристик, которые ничего не гарантируют. RGB тупо удобнее, т.к. прост как полено (если, конечно, sRGB в расчёт не брать, но это реже).
>Как оказалось, lutyuv вообще rgb не понимает, даже при манипуляциях с rgb.
А lutrgb фильтр что не посмотрел? Кстати, чем картинки делал?
>вопрос лишь в том, что понимают фильтры и кодеки
Понятно, что для lutrgb нужен входной формат RGB, а видео почти всегда YCbCr. Аргумент в том, что:
1. Для формирования выходного файла будет задействован энкодер, а с чем он там у себя внутри работает (а не что принимает на вход) — не ясно.
2. Может быть много других промежуточных шагов, чтобы знать наверняка надо со внутренностями ffmpeg быть знакомым.
3. Потерь всё равно нет, фигли париться.
>Но требовался негатив цвета, а не яркости. Вопрос лишь в том, считать ли яркость составляющей цвета.
Ясное дело подразумевался RGB negate, а не интвертирование chroma-компонент.
https://github.com/BAXTER001/VideoNurd
Выглядит, правда, слабовато.
А вот для скачивания с ютуба webm и вырезания нужного фрагмента. Только реенкодить не умеет, насколько я вижу.
Кто-то там выше по треду спрашивал.
> А lutrgb фильтр что не посмотрел?
Забыл о нём. Собственно, в мане всё написано: lutyuv работает с yuv-потоками, а lutrgb — с rgb, и делают они одно и то же. А фильтр lut — это, видимо, враппер к ним с автоопределением в зависимости от входа.
> Кстати, чем картинки делал?
В комплекте с ffmpeg есть graph2dot:
echo 'movie=test.webm,lut=r=10,nullsink' | graph2dot | dot -Tpng > /tmp/3.png
> 1. Для формирования выходного файла будет задействован энкодер, а с чем он там у себя внутри работает (а не что принимает на вход) — не ясно.
Как правило, энкодер принимает на вход изображение в той модели, с которой работает сам.
> 2. Может быть много других промежуточных шагов, чтобы знать наверняка надо со внутренностями ffmpeg быть знакомым.
Вроде как все преобразования форматов в самом ffmpeg отображаются при -loglevel verbose как вставка фильтров:
[format @ 0x19eb310] auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed_null_0' and the filter 'format'
[auto-inserted scaler 0 @ 0x19ebb20] w:1613 h:76 fmt:rgb24 sar:0/1 -> w:1613 h:76 fmt:yuv420p sar:0/1 flags:0x4
> 3. Потерь всё равно нет, фигли париться.
Есть, и в некоторых случаях даже значительные: например, в упомянутой модели yuv420p разрешение цветовых составляющих сокращено в 2² раза. См. https://ru.wikipedia.org/wiki/Цветовая_субдискретизация и https://discoverybiz.net/enu0/faq/faq_YUVbyBreeze_test_00.html
> Ясное дело подразумевался RGB negate, а не интвертирование chroma-компонент.
Смотря в рамках какой модели рассуждать: в rgb яркость является составляющей цвета, в yuv — нет; яркость и тон для цвета — это то же самое, что и тональность и громкость для звука. Ну и да, без автора вопроса это всё равно раговор ни о чём.
2015, я смотрю, год перефорсов. То пидорах перефаршивают, то пердоликов. Консолечку-то ещё не додумались перефорсить, а, даунята?
>например, в упомянутой модели yuv420p разрешение цветовых составляющих сокращено в 2² раза
Это если yuv420p → RGB → yuv420p. А если yuv420p → RGB → yuv444p, то нет.
Сделал несколько тестов. ffmpeg -i yuv420p.mkv -vf lutrgb -c:v libvpx-vp9 работает, как я понимаю, так:
- Первая конвертация yuv420p → RGB, идёт на вход фильтра lutrgb
- Фильтр lutrgb преобразует цвета в модели RGB
- Т.к. libvpx, похоже, не умеет RGB на вход, ffmpeg преобразует в наиболее подходящий формат, в данном случае это yuv444p
- libvpx принимает yuv444p, энкодит видео и выдаёт сжатые фреймы в yuv444p
- ffmpeg запихивает готовые фреймы в контейнер webm
Соответственно, никаких потерь по сравнению с lutyuv нет. Единственный косяк — libvpx, похоже, нельзя сказать, чтобы на выходе была другая субдискретизация, чем на входе, а profile 1 у VP9 не все устройства проигрывают. Если сделать -pix_fmt yuv420p ещё, то потери таки будут, т.к. из RGB преобразуется в yuv420p вместо yuv444p и это пойдёт на вход к libvpx.
Хотя нет, я хуйню написал.
Мы теряем только в случае, если у нас был полноценный RGB. А у нас ситуация аналогичная yuv420p → yuv444p → yuv420p. Потеряли ли мы здесь что-нибудь? Мы вначале размножили каждую цветовую компоненту в 4 раза, а зачем убрали 3 цветовых пикселя из четырёх. Потерь нет.
Такие дела, разницы между yuv420p → RGB → lutrgb → RGB → yuv420p и yuv420p → lutuv → yuv420p нет.
Кстати, что самое смешное, если сделать влоб rgb24→yuv444p→rgb24 для png-файла, то цвета будут отличаться. Как раз та хуйня с профилями, о которой я говорил.
ffmpeg -i 1.png -loglevel verbose -vf 'format=rgb24,format=yuv444p,format=rgb24' -y rgb-yuv444-rgb.png
yuvj444p даёт идентичные, потому что yuvj это full range, а yuv — limited.
Короче пиздец в самом деле получается. Часть яркостного канала теряется, а yuvj444p libvpx не принимает на вход. Ебал все эти цветовые пространства и гаммы, простейшую задачу превратили в сборище говна и протекающих абстракций.
Реквестирую результат после 250 итераций.
Пиздани по корпусу пекарни, я так делаю часто, прирост в производительности до трёхсот процентов.
> Мой линукс > моя голова
Кто б с вас сомневался-то, лол. А еще виндовозов неосиляторами зовете.
Это регрессия, в ffmpeg 2.6.2 такого не происходит.
>>1254232
Стоит ещё учитывать, что у разных цветовых моделей разные области охвата. Цвет — это букет излучений разных частот, и описать его полностью тремя числами невозможно (хотя тот факт, что наше зрение работает в модели RGB, всё упрощает).
>>1242940
В комментах наврали: по умолчанию используется -tile-columns 6 -frame-parallel 1.
https://github.com/webmproject/libvpx/blob/master/vp9/vp9_cx_iface.c#L48
>описать его полностью тремя числами невозможно
Всё, что мы видим в комплюктере можно описать хоть одним числом, просто точность пострадает.
Всё можно описать одним числом, без потери точности. RGB24 и представляется как 3 последовательных байта в большинстве случаев.
Там всё сложнее на самом деле. Есть форматы представление (как RGB или Y'CbCr), есть цветовые пространства (YUV, sRGB), есть цветовые субдискретизации (YUV420, YUV444), есть строчная и прогрессивная развёртки (YUVxxxP, YUVxxxI), есть гамма-коррекция (BT.609, BT.701), есть детали формата представления (full, limited ranges) и так далее. Слишком дохуя наворочено, вот мы и имеем, например, кучу открытых тикетов, тянущихся уже много лет:
https://trac.ffmpeg.org/ticket/225
https://trac.ffmpeg.org/ticket/3409
https://trac.ffmpeg.org/ticket/979
или километровые треды, где большую часть времени только пытаются разобраться как это всё работает и подступиться к проблеме:
https://github.com/mpv-player/mpv/issues/534
https://ffmpeg.org/pipermail/ffmpeg-user/2013-July/016347.html
Я с этим понемногу ковыряюсь, но чтобы понимать досконально что на каждом уровне происходит, надо дофига времени на это убить. Как и всегда в человеческой деятельности, наизобрели тонну асбтракций в силу легаси или NIH, теперь вот в своём говне тонут, захлёбываются.
>Это регрессия, в ffmpeg 2.6.2 такого не происходит.
К этому не относится, но вот, кстати, мнение цветодрочеров по поводу недавних патчей от студентов в ffmpeg:
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-April/172186.html
15:26 < haasn> >ffmpeg just merged the gamma patch as-is, “future improvements can be submitted later”
15:26 < haasn> ;_;
15:26 < haasn> that is not how you do gamma-aware high quality scaling!
15:26 < haasn> right now it actually decreases quality in almost all cases :
15:26 < haasn> :|
15:27 < wm4> lol
15:27 < wm4> typical for ffmpeg
15:27 < wm4> and in this case, it was probably merged early due to gsoc deadlines or something
Дебил ёбанный, в вики и так всё подробно расписано, что вам не нравится, блядь?
Да ты что.
>Допустим, нужно пожать amv.mp4 длиной 4 минуты и разрешением 1280x720 целиком, попав при этом в лимит 10240 KiB.
Считаем битрейт по длине фрагмента: 10240KiB 8bit / (4m 60s) == 341kbit/s, вычитаем из него желаемый битрейт звука (допустим, 64kbit/s): 341 - 64 == 277kbit/s.
Оцениваем визуально, влезет ли вообще в этот битрейт видео с приемлемым качеством, и если влезет, то с каким разрешением. Для видео с высокой динамикой и сменой сцен на каждом такте такой битрейт явно мал: для такого бывает надо полмегабита, а то и больше. Допустим, наше amv должно влезать с разрешением 960x540px.
Первый проход сжатия видео: кодек определяет сжимаемость кадров видео, сохраняя информацию о ней в файле ffmpeg2pass-0.log в текущем каталоге.
ffmpeg -i amv.mp4 -map 0:v -vf scale=-1:540 -c:v libvpx-vp9 -pass 1 -f null -y /dev/null
(в windows /dev/null следует заменить на NUL)
Куда это вводить, блядь? Охуеть подробно, ага.
>Это регрессия, в ffmpeg 2.6.2 такого не происходит.
Вероятно, поменяли алгоритм автоопределения range у swscaler.
https://ffmpeg.org/ffmpeg-filters.html#scale
>in_range
>out_range
>Set in/output YCbCr sample range.
>This allows the autodetected value to be overridden as well as allows forcing a specific value used for the output and encoder. If not specified, the range depends on the pixel format.
-vf scale=out_range=full,format=yuv444p для png мне тоже цвета не испортил. Я, кстати, ещё немного потестил и не нашёл разницы между
1) convert orig.png -negate 1.png
2) ffmpeg -i orig.png -vf lutrgb=r=negval:g=negval:b=negval -y 2.png
3) ffmpeg -i orig.png -vf lutyuv=y=negval:u=negval:v=negval -c:v libvpx-vp9 -lossless 1 -y 3.webm && ffmpeg -i 3.webm -frames 1 -y 3.png
4) ffmpeg -i orig.png -vf lutrgb=r=negval:g=negval:b=negval -c:v libvpx-vp9 -lossless 1 -y 4.webm && ffmpeg -i 4.webm -frames 1 -y 4.png
Если открыть 3.webm и 4.webm в mpv и сделать скриншот, то результат будет менее контрастным, чем 1.png и 2.png, т.к. mpv предполагает limited range по умолчанию. Но между 3.webm и 4.webm разницы нет.
Открыть cmd или powershell. Можно открыть FFprompt, который лежит в каталоге FFmpeg рядом с bin/.
Спасибо.
Хотя нет, я напиздел, дело в профиле. Для 850x925 mpv выбирает BT.709, а ffmpeg BT.601. Вот так результат одинаковый:
mpv --pause -vf format=colormatrix=bt.601 33.webm
Но не бит-в-бит! Таки разница есть, просто незаметная. С помощью
compare orig.png rgb-yuv444-rgb.png -compose src diff.png
видно.
Тут уже фиг знает. Прикрепляю результаты, если кто хочет поковырять:
1) orig.png
2) ffmpeg -i orig.png -loglevel verbose -vf scale=out_range=full,format=yuv444p -y rgb-yuv444-rgb.png
3) compare orig.png rgb-yuv444-rgb.png -compose src diff.png
Вообщем, есть одно видео. Снято оно довольно криво и объектив болтается/трясется/крутится неслабо. А я на двачах видел как-то одну webm, где изображение спроектировано на плоскость. Т. е. не нужно крутить голову, чтобы что-то посмотреть, каждый кадр повернут/искажен/обрезан таким образом, что основной объект был по центру на протяжении всего webm. А остальное пространство заполнено черным. Надеюсь понятно объяснил.
Как сделать также, или как это хотя бы называется?
Хуёвый из тебя граммарнацист, "также" пропустил. Сегодня без ужина останешься.
Да там весь пост отличный. Первый абзац особенно радует. Дети вконтакта, фигли вы ещё хотели с таким позиционированием имиджборды.
Ты зря на соцсети наезжаешь, неграмотные люди в интернете были задолго до них.
Что не так с первым абзацем?
Дальше не читал, очевидно же.
Для статичной картинки с одним fps на все видео пользуюсь этим.
ffmpeg -loop 1 -r 1 -i out-v.jpg -t длительность -pass 1 -f webm -y NUL
ffmpeg -loop 1 -r 1 -i out-v.jpg -i out-a.ogg -shortest -pass 2 out.webm
Картинка jpg и аудиофайл переменного качества ogg
Но почему-то на некоторых WEBM идет разделение на большое количество фреймов Пикрелетед (обычно их 3). В итоге файл на более чем 0.5 Мб больше.
Что я упустил?
GOP size. У VP8 по умолчанию 128 P-фреймов на один ключевой кадр максимум.
-> >>1243473
-> >>1243596
-> https://github.com/pituz/webm-thread/wiki/glossary#gop-group-of-pictures
Спасибки, зая :)
А зачем такие сложности с этим ffmpeg, это фингербокс от форчанеров? Где UI и кнопка сделать годно?
Я бы не был так категоричен. А то здесь и такие >>1255510 комментируют.
Им почему-то кажется, что GUI это на порядок более качественный интерфейс, нисколько не понимая как он внутри устроен и какие минусы он за собой несёт, абстрагируя детерминированные неинтерактивные операции c помощью интерактивной графической оболочки.
> абстрагируя детерминированные неинтерактивные операции c помощью интерактивной графической оболочки
Меня не покидает чувство, что ты написал полнейшую хуйню с лексической точки зрения, слишком уж вычурно эти обороты выглядят.
Ты же не бежишь в машине, которая в движении едет?
Кто-нибудь, просто выкатите эту https://2ch.hk/pa/src/177832/14311904968720.webm вебМ без аудио. На эту вашу консоль с командами ведь прийдется потратить минут 30, а версия для ретардов у меня не запускается.
Занятой-успешный в треде, все в энтерпрайз.
>GOP size. У VP8 по умолчанию 128 P-фреймов на один ключевой кадр максимум
Подскажи как его ограничить, а то рандомный беспредел получается.
Прочитал факи, может в глаза ебусь, спасибо.
-g 9999 задавай, увеличивать же надо.
Вот здесь подробнее расписано: https://github.com/pituz/webm-thread/wiki/Pro-tips#Однопроходное-кодирование-видео-со-статичной-картинкой
Я бы только заменил vorbis на opus и указывал title трека. (Или можно трек перед картинкой указывать, тогда ffmpeg автоматически возьмёт Title песни. Но без Album.) Ещё lanczos скалер можно использовать для ресайза, но это уже так, мелочи.
Поясни как это работает.
У меня есть jpg картинка и аудио ogg, должна получается одна структура GOP только из одного I кадра , а получается IPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP, но в свойствах медиа пишет что кадр только один кадр, при том что размер существенно увеличивается.
>IPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
Так и должно быть. Один ключевой кадр и много predicted. Если у тебя frame rate 1 fps, то общее количество отображаемых кадров должно быть равно продолжительности в секундах, из них только один ключевой. Есть ещё специальные неотображаемые кадры (packed, LAST_FRAME, GOLDEN_FRAME, ALTREF_FRAME), ими частично тоже можно управлять, но обычно дефолтов достаточно.
Подробности по кадрам удобно смотреть с помощью ffprobe -v quiet -show_frames -select_streams v file.webm (у аудио каждый кадр ключевой) или webm_info: https://chromium.googlesource.com/webm/webm-tools/+/master/webm_info/
Какой-нибудь фильтр к Asisynth тоже ок ( http://avisynth.nl/index.php/Info ), но им сложнее анализировать видео целиком.
>packed, LAST_FRAME, GOLDEN_FRAME, ALTREF_FRAME
Ну нихрена себе, а в кодеках mpeg 2 h264 они тоже есть?
Все таки интересно почему в некоторых WEBM таких кадров не больше 3, а в других просто пиздец как много, интересен сам алгоритм, почему кодек решает при 1fps видео ставить много predicted или неотображаемых кадров.
Не сочти за тролинг, но в этом WEBM всего 1 лишний predicted или неотображаемый
>а в кодеках mpeg 2 h264 они тоже есть
mpeg2 старый и очень слабый по сегодняшним меркам. H.264 устарел, но там есть B-frame, вместо которого в VP9 придумали извраты с неотображаемыми altref/golden кадрами, чтобы обойти патентные ограничения. Вот здесь можешь подробнее почитать: http://forum.doom9.org/showthread.php?t=168947
Здесь тоже много ссылок: https://github.com/Kagami/webm.py/wiki/Lowlevel-VPx-details
>интересен сам алгоритм, почему кодек решает при 1fps видео ставить много predicted или неотображаемых кадров
Дело не в framerate, а в том насколько много изменений между кадрами. Точный алгоритм не скажу, это зависит от реализации. Да и в libvpx я пока особо не вчитывался.
Вкратце про VP9 и виды кадров, как я это сейчас понимаю:
Ключевой кадр, он же I-frame или key frame
Требует больше всего битрейта, зато не зависит ни от каких других кадров, что, в частности, позволяет быстро перематывать видео. Если грубо, то можно представить его просто в виде закодированной картинки — нам достаточно только самого ключевого кадра, чтобы его декодировать и отобразить. (WebP формат для изображений это закодированный ключевой кадр VP8, кстати.)
Кодеку разумнее всего использовать ключевой кадр там, где выгоды от INTER prediction нет или мало.
Разностный кадр, он же P-frame или predicted frame
Кадр, который для своего декодирования требует наличия других кадров, т.к. содержит в себе часть их изображения с помощью механизма INTER prediction.
INTER prediction или просто INTER
См. https://www.ietf.org/proceedings/85/slides/slides-85-videocodec-4.pdf
Грубо говоря, кусок картинки другого кадра, который можно использовать в predicted frame. В случае неподвижной картинки мы можем её целиком закодировать данным механизмом, что вкупе с максимальным размеров блока 64x64 пикселей в VP9 позволяет тратить очень мало битрейта (см. тред на doom9 про блоки и кодирование). Если картинка частично меняется (т.е. происходит какое-либо движение), то в большинстве случаев INTER-блоки позволяют также большую её часть взять из другого кадра.
INTRA prediction или просто INTRA
Ссылки на похожие участки текущего кадра в нём самом. Т.е. если в изображении много повторяющихся деталей, то опять же, позволяет меньше расходовать битрейта. Не требует других кадров для декодирования и может использоваться в том числе и в ключевых кадрах.
AltRef frame
Кадр, не отображаемый в видео непосредственно, но позволяющий его поместить перед другими отображаемыми predicted frames, которые будут на него ссылаться. Т.е. такой механизм B-frame для бедных, см. выше.
Golden frame
См. https://groups.google.com/a/webmproject.org/forum/#!topic/codec-devel/RYMjw78fAKY
и http://www.webmproject.org/docs/encoder-parameters/
Неотображаемый кадр, закодированный с лучшим качеством. Используется для того, чтобы INTER-блоки содержали в себе меньше искажений.
Last frame
Это просто ссылка на key или predicted frame, который можно использовать в текущем predicted frame для INTER-блоков, как я понимаю. Подробнее на doom9 и здесь https://tools.ietf.org/html/draft-grange-vp9-bitstream-00
Packed frame
Пакет из отображаемого и неотображаемого кадров, выглядящих как один кадр на уровне контейнера. Используется, как я понимаю, для лучшей совместимости, т.к. не во всех контейнерах есть понятие неотображаемого кадра.
ffmpeg demuxer не совсем корректно декодирует packed frames, он их всегда расделяет на несколько. Подробности здесь: http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2425
Это всё, скорее всего, содержит массу неточностей, т.к. я только начал кодек изучать. Точную информацию можно получить в https://groups.google.com/a/webmproject.org/forum/#!forum/codec-devel
>а в кодеках mpeg 2 h264 они тоже есть
mpeg2 старый и очень слабый по сегодняшним меркам. H.264 устарел, но там есть B-frame, вместо которого в VP9 придумали извраты с неотображаемыми altref/golden кадрами, чтобы обойти патентные ограничения. Вот здесь можешь подробнее почитать: http://forum.doom9.org/showthread.php?t=168947
Здесь тоже много ссылок: https://github.com/Kagami/webm.py/wiki/Lowlevel-VPx-details
>интересен сам алгоритм, почему кодек решает при 1fps видео ставить много predicted или неотображаемых кадров
Дело не в framerate, а в том насколько много изменений между кадрами. Точный алгоритм не скажу, это зависит от реализации. Да и в libvpx я пока особо не вчитывался.
Вкратце про VP9 и виды кадров, как я это сейчас понимаю:
Ключевой кадр, он же I-frame или key frame
Требует больше всего битрейта, зато не зависит ни от каких других кадров, что, в частности, позволяет быстро перематывать видео. Если грубо, то можно представить его просто в виде закодированной картинки — нам достаточно только самого ключевого кадра, чтобы его декодировать и отобразить. (WebP формат для изображений это закодированный ключевой кадр VP8, кстати.)
Кодеку разумнее всего использовать ключевой кадр там, где выгоды от INTER prediction нет или мало.
Разностный кадр, он же P-frame или predicted frame
Кадр, который для своего декодирования требует наличия других кадров, т.к. содержит в себе часть их изображения с помощью механизма INTER prediction.
INTER prediction или просто INTER
См. https://www.ietf.org/proceedings/85/slides/slides-85-videocodec-4.pdf
Грубо говоря, кусок картинки другого кадра, который можно использовать в predicted frame. В случае неподвижной картинки мы можем её целиком закодировать данным механизмом, что вкупе с максимальным размеров блока 64x64 пикселей в VP9 позволяет тратить очень мало битрейта (см. тред на doom9 про блоки и кодирование). Если картинка частично меняется (т.е. происходит какое-либо движение), то в большинстве случаев INTER-блоки позволяют также большую её часть взять из другого кадра.
INTRA prediction или просто INTRA
Ссылки на похожие участки текущего кадра в нём самом. Т.е. если в изображении много повторяющихся деталей, то опять же, позволяет меньше расходовать битрейта. Не требует других кадров для декодирования и может использоваться в том числе и в ключевых кадрах.
AltRef frame
Кадр, не отображаемый в видео непосредственно, но позволяющий его поместить перед другими отображаемыми predicted frames, которые будут на него ссылаться. Т.е. такой механизм B-frame для бедных, см. выше.
Golden frame
См. https://groups.google.com/a/webmproject.org/forum/#!topic/codec-devel/RYMjw78fAKY
и http://www.webmproject.org/docs/encoder-parameters/
Неотображаемый кадр, закодированный с лучшим качеством. Используется для того, чтобы INTER-блоки содержали в себе меньше искажений.
Last frame
Это просто ссылка на key или predicted frame, который можно использовать в текущем predicted frame для INTER-блоков, как я понимаю. Подробнее на doom9 и здесь https://tools.ietf.org/html/draft-grange-vp9-bitstream-00
Packed frame
Пакет из отображаемого и неотображаемого кадров, выглядящих как один кадр на уровне контейнера. Используется, как я понимаю, для лучшей совместимости, т.к. не во всех контейнерах есть понятие неотображаемого кадра.
ffmpeg demuxer не совсем корректно декодирует packed frames, он их всегда расделяет на несколько. Подробности здесь: http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2425
Это всё, скорее всего, содержит массу неточностей, т.к. я только начал кодек изучать. Точную информацию можно получить в https://groups.google.com/a/webmproject.org/forum/#!forum/codec-devel
Круто прояснил.
Раньше было проще IPB и все h.264 замесил все в кашу и казалось дальше некуда.
В H.265 тоже дохуя навертели на самом деле, а разработчики Daala вообще выбрали третий путь™.
Меня больше всего беспокоит, что VP9/VP10 вчистую сольёт H.265 из-за своей паршивой скорости кодирования как только декодеры в в основных браузерах появятся. Я тут недавно попробовал небольшое видео с помощью libx265 сэнкодить, так это было в разы быстрее VP9, на уровне VP8. А Daala вообще может vaporware оказаться.
Да нихуя, никакого говна в системе и браузерах. По делу есть что сказать или дальше в лужу пердеть будешь?
Ты какой-то дурной.
Понятно, тут один дебил-семен.
Теоретически, проблема может быть если webm не использует chroma subsampling yuv420p. Профили, отличные от нулевого, не везде корректно работают.
Приложи webm, который воспроизводится и парочку тех, на которых падает.
В общем-то, говном поливают не за виндоуз, а за неумение нормально рассказать о проблеме и указать необходимые данные. Здесь телепатов нет. Читай вот это до просветления: http://segfault.kiev.ua/smart-questions-ru.html
Я настолько умственно отсталый что у меня даже гуй с минимумом кнопок для умственно отсталых не хочет даже начинать кодить. Такие дела котаны.
В обед приложу работающие и не работающие webm, заодно полный краш репорт, сейчас не за основным компом. Хуй его знает, вроде всё нормально расписал.
Я к тому, что как минимум без видео, сообщений об ошибке и подробной информации по версиям сказать почти ничего нельзя. К тому же, если работает с похожими конфигурациями на одном ПК и не работает на другом. Причина может быть в чём угодно.
Здесь просто каждый второй в этом стиле о проблеме сообщает.
Дошло уже. Железо всё новое, память в порядке (проверял на всякий случай через memtest и prime95), винда чистая, никаких васянских сборок, говна в системе не держу.
Вот что пишет при падении:
AdapterDeviceID: 0x13c2
AdapterDriverVersion: 9.18.13.5286
AdapterSubsysID: 00000000
AdapterVendorID: 0x10de
Add-ons: ClassicThemeRestorer%40ArisT2Noia4dev:1.3.3,%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:38.0.5,%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D:2.6.9.1-signed
AvailablePageFile: 15191592960
AvailablePhysicalMemory: 6719352832
AvailableVirtualMemory: 3700891648
BIOS_Manufacturer: American Megatrends Inc.
BlockedDllList:
BreakpadReserveAddress: 45547520
BreakpadReserveSize: 67108864
BuildID: 20150525141253
CrashTime: 1433845650
EMCheckCompatibility: true
EventLoopNestingLevel: 1
FramePoisonBase: 00000000f0de0000
FramePoisonSize: 65536
InstallTime: 1433326863
Notes: AdapterVendorID: 0x10de, AdapterDeviceID: 0x13c2, AdapterSubsysID: 00000000, AdapterDriverVersion: 9.18.13.5286
ProductID: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
ProductName: Firefox
ReleaseChannel: release
SecondsSinceLastCrash: 50466
StartupTime: 1433845543
SystemMemoryUsePercentage: 21
Theme: classic/1.0
Throttleable: 1
TotalPageFile: 17102426112
TotalPhysicalMemory: 8514441216
TotalVirtualMemory: 4294836224
Vendor: Mozilla
Version: 38.0.5
Winsock_LSP: MSAFD Tcpip [TCP/IP] : 2 : 1 : %SystemRoot%\system32\mswsock.dll
MSAFD Tcpip [UDP/IP] : 2 : 2 :
MSAFD Tcpip [RAW/IP] : 2 : 3 : %SystemRoot%\system32\mswsock.dll
MSAFD Tcpip [TCP/IPv6] : 2 : 1 :
MSAFD Tcpip [UDP/IPv6] : 2 : 2 : %SystemRoot%\system32\mswsock.dll
MSAFD Tcpip [RAW/IPv6] : 2 : 3 :
Поставщик услуг RSVP TCPv6 : 2 : 1 : %SystemRoot%\system32\mswsock.dll
Поставщик услуг RSVP TCP : 2 : 1 :
Поставщик услуг RSVP UDPv6 : 2 : 2 : %SystemRoot%\system32\mswsock.dll
Поставщик услуг RSVP UDP : 2 : 2 :
useragent_locale: ru
Теперь видео.
Работающие:
https://2ch.hk/b/src/94840345/14338351298150.webm
https://2ch.hk/b/src/94840345/14338376442820.webm
Не работающие:
https://2ch.hk/b/src/94840345/14337922988350.webm
https://2ch.hk/b/src/94840345/14337924464850.webm
Вот что пишет при падении:
AdapterDeviceID: 0x13c2
AdapterDriverVersion: 9.18.13.5286
AdapterSubsysID: 00000000
AdapterVendorID: 0x10de
Add-ons: ClassicThemeRestorer%40ArisT2Noia4dev:1.3.3,%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:38.0.5,%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D:2.6.9.1-signed
AvailablePageFile: 15191592960
AvailablePhysicalMemory: 6719352832
AvailableVirtualMemory: 3700891648
BIOS_Manufacturer: American Megatrends Inc.
BlockedDllList:
BreakpadReserveAddress: 45547520
BreakpadReserveSize: 67108864
BuildID: 20150525141253
CrashTime: 1433845650
EMCheckCompatibility: true
EventLoopNestingLevel: 1
FramePoisonBase: 00000000f0de0000
FramePoisonSize: 65536
InstallTime: 1433326863
Notes: AdapterVendorID: 0x10de, AdapterDeviceID: 0x13c2, AdapterSubsysID: 00000000, AdapterDriverVersion: 9.18.13.5286
ProductID: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
ProductName: Firefox
ReleaseChannel: release
SecondsSinceLastCrash: 50466
StartupTime: 1433845543
SystemMemoryUsePercentage: 21
Theme: classic/1.0
Throttleable: 1
TotalPageFile: 17102426112
TotalPhysicalMemory: 8514441216
TotalVirtualMemory: 4294836224
Vendor: Mozilla
Version: 38.0.5
Winsock_LSP: MSAFD Tcpip [TCP/IP] : 2 : 1 : %SystemRoot%\system32\mswsock.dll
MSAFD Tcpip [UDP/IP] : 2 : 2 :
MSAFD Tcpip [RAW/IP] : 2 : 3 : %SystemRoot%\system32\mswsock.dll
MSAFD Tcpip [TCP/IPv6] : 2 : 1 :
MSAFD Tcpip [UDP/IPv6] : 2 : 2 : %SystemRoot%\system32\mswsock.dll
MSAFD Tcpip [RAW/IPv6] : 2 : 3 :
Поставщик услуг RSVP TCPv6 : 2 : 1 : %SystemRoot%\system32\mswsock.dll
Поставщик услуг RSVP TCP : 2 : 1 :
Поставщик услуг RSVP UDPv6 : 2 : 2 : %SystemRoot%\system32\mswsock.dll
Поставщик услуг RSVP UDP : 2 : 2 :
useragent_locale: ru
Теперь видео.
Работающие:
https://2ch.hk/b/src/94840345/14338351298150.webm
https://2ch.hk/b/src/94840345/14338376442820.webm
Не работающие:
https://2ch.hk/b/src/94840345/14337922988350.webm
https://2ch.hk/b/src/94840345/14337924464850.webm
https://2ch.hk/b/src/94840345/14338351298150.webm - VP8 + Vorbis
https://2ch.hk/b/src/94840345/14338376442820.webm - VP8 + Opus
https://2ch.hk/b/src/94840345/14337922988350.webm - VP9 + Opus
https://2ch.hk/b/src/94840345/14337924464850.webm - VP9 + Opus
А так больше ничего особенного. Предполагаю, у тебя VP9 просто не работает. Пикрелейтед открывается?
Сигнатура проблемы:
Имя события проблемы:\tAPPCRASH
Имя приложения:\tplugin-container.exe
Версия приложения:\t39.0.0.5633
Отметка времени приложения:\t55711157
Имя модуля с ошибкой:\tmozglue.dll
Версия модуля с ошибкой:\t39.0.0.5633
Отметка времени модуля с ошибкой:\t5570ffce
Код исключения:\t80000003
Смещение исключения:\t0000f4fb
Версия ОС:\t6.1.7600.2.0.0.256.1
Код языка:\t1049
Дополнительные сведения 1:\t0a9e
Дополнительные сведения 2:\t0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3:\t0a9e
Дополнительные сведения 4:\t0a9e372d3b4ad19135b953a78882e789
Ещё пикрелейтед - все установленные программы.
Нет, ни одна не открывается. Только
https://2ch.hk/b/src/94840345/14338351298150.webm
и
https://2ch.hk/b/src/94840345/14338376442820.webm
https://support.mozilla.org/en-US/questions/1006356
Здесь похожая проблема описана. А что если в настройках Firefox выключить hardware acceleration?
Ну и если не поможет, на всякий случай то же, но с чистым профилем, отключёнными плагинами (именно плагинами на вкладке plugins; вручную disable их, если какие остались) и без расширений.
Пробовал, всё это пробовал. Похоже, что проблема именно в VP9 в связке с Лисой. Только как это чинить?
Глупый совет, но всё же.
Что если отсюда https://www.mozilla.org/en-US/firefox/channel/ скачать 39.0b3 и 40.0a2 и попробовать на них?
Вот этот открывается, кстати → >>1245207 ? Там были немного другие настройки кодирования.
Что бы я попытался сделать, решая эту проблему: насобирать как можно больше webm, которые открываются и которые не открываются и попытаться найти закономерность. Если именно VP9 (без звука, смуксенных как mkvmerge, так и ffmpeg, закодированных с разными настройками) и проявляется на голом профиле любой последней версии, то, наверно, единственное объяснение это проблемы взаимодействия Firefox с видеоподсистемой конкретного ПК. Может быть как на уровне DirectShow кодеков (хотя вроде Firefox использует свои собственные), так и на уровне драйверов. Решить такую проблему в общем случае сложно. Но несколько вариантов есть.
Исключить проблемы с железом самое простое с помощью LiveCD. Возьми, например, Windows 7 LiveCD с рутрекера, загрузись, поставь туда Firefox и попробуй так. Заработало - значит проблема в конкретной установке. Если не лень, то пробуй, пиши, будем смотреть дальше.
Похоже, что таки VP9, так как проблемы появляются именно на голом профиле любой последней версии, я перепробовал уже штук 8 наверное. Сейчас проверить этот ролик не смогу, так как не за основной пекарней опять. Насчет LiveCD дельный совет, после работы займусь и отпишусь о результатах. Я конечно полный нуб в этом, но как-то странно что VP9 отказывается работать только с Firefox и только на стационарном компьютере. Видеокарта новая, GTX 970, мать тоже неплохая MSI B85 G41 PC mate.
Там ещё разработчики libvpx (её Firefox использует для декодинга) могли намудрить с оптимизациями под конкретный процессор. Я видел у них в багтрекере репорты с сегфолтами. Но это уже так, пальцем в небо. Чаще всего всё оказывается гораздо банальнее.
В общем, намучился я знатно, даже винду переустановил с нуля. Ничего, всё равно та же ошибка. Решил забить и использовать оперу для вебмок. Ну а хули ещё остается.
На голой системе также вылетает с ошибкой? Это может быть интересно, кстати. Можешь принести пользу сообществу и сформировать багрепорт. Только надо вначале правильно определить точную причину - баг в firefox, баг в libvpx или особенности железа.
Да, на абсолютно голой. Железо вполне обычное: core i5 4690, 8GB RAM 1600 Mzh Kingston, видеокарту и материнку я уже указывал. Драйвера все свежие. Думаешь, эти репорты кто-то читает? Да и проблема очень специфическая.
Конечно читают. Если приводит к крашу процесса, то это серьёзная ошибка.
Чтобы выяснить, libvpx или нет, можешь установить ffmpeg по инструкциям из wiki и, например, пережать какое-нибудь VP9 видео в H.264: ffmpeg -i vp9.webm -c:v libx264 -preset slow -crf 22 -c:a copy output.mkv
Скорее всего всё ок и файл получится корректным на выходе, т.к. тот же хром (и опера значит) используют libvpx, насколько я знаю.
Дальше остаётся только железо и Firefox, но если libvpx работает, то проблема должна быть как-то связана с Firefox, т.к. Firefox использует libvpx. Багтрекер здесь: https://bugzilla.mozilla.org/ Думаю, будет достаточно прикрепить один из файлов, краткого описания проблемы, крэш-репорт и информации о системе. Дальше они сами спросят, что ещё надо.
Благодаря мне, кстати, один из багов в ffvp9 недавно был пофикшен, причём буквально за полдня.
Попробую заморочиться конечно, если будет свободное время. Добра тебе и спасибо за советы.
Ох, какой реверс.
Так это только вторая проблема. Спасибо, я умею читать, в моей ссылке это указывается.
Хотя первая к ФС не относится. Тут я в глаза ебался.
Устроили тут, сука, анимэчят, ебаные чмори. Съеби в свой раздел и дрочи, и этот говнотред с собой забери.
Вот это школопорядки! Вот это островок быдлятни в с! А может ты съебёшь? Обратно? В быдлятню? Со своим баттхёртом на ровном месте?
>анимэпитух
>называет кого-то быдлом
Нагибайся и портки приспусти, пороть тебя буду, раз ты такая тупая хуйня.
Совсем бака-сэнпай?
Ты ещё самого главного не видел!
http://rutracker.org/forum/viewtopic.php?t=4911169
В версии в стиме то самое безжалостно вырезали.
Запилить из конуса WebM, очевидно же!
Для *nix — ffmpegthumbnailer, для ПитухОС — MediaPreview.
Кажется, получается: я становлюсь таким же извращенцем :3
Такой вопрос: вебмрелэйтед при первом запуске должен играться? Вроде всё работает нормально, ошибок кроме спама в консоль err:d3d:resource_unload не вылазит, но на appdb пишут о неработоспособности видеороликов. Очень не хотелось бы соснуть с их просмотром.
>>1259891
> для ПитухОС — MediaPreview
Мне не совсем очевидно, кто прочитал жопой, но да ладно.
Энивей, ваш МедиаПревью кросплатформенный - есть и под сперму.
> Энивей, ваш МедиаПревью кросплатформенный - есть и под сперму.
Не кроссплатформенный, а только под сперму и есть, как обычно и бывает с мокрыми письками.
Немокрописечных альтернатив я не знаю, да и вряд ли они нужны: использовать питухос — уже зашквар.
Это тред создания и обработки webm, а не тред спермопроблем, связанных с webm.
Вот в этом репорте видео воспроизводится: https://appdb.winehq.org/objectManager.php?sClass=version&iId=31679&iTestingId=89393
Хз, я для няшных игруль предпочитаю либо виртуалку с пробросом GPU, либо отдельную машину с виндой, где никаких персональных данных нет. Запускать проприетарщину в своей системе зашкварно, как по мне.
Я тут ещё подумал. Чисто ради интереса можешь загрузиться в Ubuntu Live CD и попробовать там. Никакого пердоленья, просто скачать образ на диск/флэшку и загрузиться с него. Firefox уже предустановлен, нужно просто открыть в нём видео.
Если воспроизведётся, то либо специфичный для венды баг Firefox, либо проблемы где-то на уровне виндовых драйверов. Не воспроизведётся - 99% какой-то тупой баг в Firefox, связанный с твоей конкретной конфигурацией железа.
Неточно написал. Зашкварно в плане безопасности. Рабочие инструменты у меня только FOSS, а как развлекаться это уже не суть. Разработчик игры может встраивать любые бэкдоры или прекратить выпускать обновления. На мою свободу это никак не повлияет.
По Столлману, конечно, это несколько противоречит идеалам, но он только один аргумент против такого решения сможет привести - поощрение производителей проприетарных игр. Но и то, не денежное (т.к. я байтики принципиально не покупаю), а за счёт большей их распространённости. Это тот компромисс, который я выбираю, и я не вижу смысла в излишнем фанатизме. Потому что если идти до конца, то и просмотр собственнических работ вроде фильмов и аниме способствует их распространению.
У вас тут половина постов порватые спермохлебы не могущие в свою командную строку и пиздящие на чужую. Нахуя с деградантами спорите? А модератор сюда вобще не заходит?
> Хз, я для няшных игруль предпочитаю либо виртуалку с пробросом GPU, либо отдельную машину с виндой, где никаких персональных данных нет. Запускать проприетарщину в своей системе зашкварно, как по мне.
Если игруля запускается под отдельным юзверем, желательно ещё в отдельных иксах, и при этом грамотно разрулены права на каталоги, то и в рабочей системе норм. Конечно, существует вероятность компрометации системы через GPU, но она крайне низка.
> Рабочие инструменты у меня только FOSS
> я байтики принципиально не покупаю
Аналогично.
>>1260106
> А модератор сюда вобще не заходит?
Если и заходит, то оч редко. Из прошлого треда он флуд деградантов не смотря на просьбы не тёр.
Не понимаю, зачем читать эти дегенеративные высеры про некомими.
Лучше сразу открыть гелбуру и разрядить обойму.
Пердолю выгнали из собственного треда и он пошёл бабахать по всей доске, а боль почему-то у спермачей.
В чём подвох?
Сейчас будет совсем оффтоп, но раз больше ничего интересного не постят.
Отдельные иксы не просто желательные, а обязательны, т.к. в X любое окно видит другие и даже может считывать нажатия клавиш (вроде пароля sudo). Подробности здесь: http://theinvisiblethings.blogspot.ru/2011/04/linux-security-circus-on-gui-isolation.html В Wayland это частично исправили, но тоже не идеально. Отдельный пользователь тем более очевидная мера.
Насчёт GPU. Если есть доступ к видеокарте, то все текстуры, находящиеся в её памяти, может достать любое приложение. Даже из, например, гостя VirtualBox с включённой 3d эмуляцией можно достать текстуры хоста. Вот здесь пример атаки: https://hsmr.cc/palinopsia/ Т.е. если у тебя в других иксах какое-то приложение использует OpenGL для отрисовки (а сейчас очень многие используют), то достаточно просто достать содержимое окна. Поэтому во многих системах, ориентированных на безопасность (вроде QubesOS), OpenGL в гостях не доступен by design.
С отдельным пользователем, даже если допустить надёжность решений, основанные на изоляции в пределах одного ядра, тоже не всё так хорошо. Если все персональные данные под 700, всё равно утекает очень много информации (список процессов, общедоступные файлы, прочая системная информация и т.д.), которую проприетарное приложение может использовать в своих целях. Сейчас очень популярны решения на базе легковесных контейнеров - Docker, rkt, systemd-nspawn и т.д. В сочетании с прочими мерами (не использовать root внутри контейнера, seccomp, SELinux и т.д.), они позволяют достаточно хорошо изолировать проприетарщину, насколько это вообще возможно с общим ядром. Вот здесь поверхностный обзор различных решений, если интересно: http://www.dwheeler.com/essays/cloud-security-virtualization-containers.html
Btw, няшные вембки :3
>>1260207
У всех свои вкусы. Кому-то больше нравится погрузиться в атмосферу мира с милыми девочками маня-мирка. Суть таких игр же не столько эротика/порно, сколько сочетание эротики и кавая. Это одна из самых главных фишек аниме-индустрии, такого почти нигде больше нет.
Сейчас будет совсем оффтоп, но раз больше ничего интересного не постят.
Отдельные иксы не просто желательные, а обязательны, т.к. в X любое окно видит другие и даже может считывать нажатия клавиш (вроде пароля sudo). Подробности здесь: http://theinvisiblethings.blogspot.ru/2011/04/linux-security-circus-on-gui-isolation.html В Wayland это частично исправили, но тоже не идеально. Отдельный пользователь тем более очевидная мера.
Насчёт GPU. Если есть доступ к видеокарте, то все текстуры, находящиеся в её памяти, может достать любое приложение. Даже из, например, гостя VirtualBox с включённой 3d эмуляцией можно достать текстуры хоста. Вот здесь пример атаки: https://hsmr.cc/palinopsia/ Т.е. если у тебя в других иксах какое-то приложение использует OpenGL для отрисовки (а сейчас очень многие используют), то достаточно просто достать содержимое окна. Поэтому во многих системах, ориентированных на безопасность (вроде QubesOS), OpenGL в гостях не доступен by design.
С отдельным пользователем, даже если допустить надёжность решений, основанные на изоляции в пределах одного ядра, тоже не всё так хорошо. Если все персональные данные под 700, всё равно утекает очень много информации (список процессов, общедоступные файлы, прочая системная информация и т.д.), которую проприетарное приложение может использовать в своих целях. Сейчас очень популярны решения на базе легковесных контейнеров - Docker, rkt, systemd-nspawn и т.д. В сочетании с прочими мерами (не использовать root внутри контейнера, seccomp, SELinux и т.д.), они позволяют достаточно хорошо изолировать проприетарщину, насколько это вообще возможно с общим ядром. Вот здесь поверхностный обзор различных решений, если интересно: http://www.dwheeler.com/essays/cloud-security-virtualization-containers.html
Btw, няшные вембки :3
>>1260207
У всех свои вкусы. Кому-то больше нравится погрузиться в атмосферу мира с милыми девочками маня-мирка. Суть таких игр же не столько эротика/порно, сколько сочетание эротики и кавая. Это одна из самых главных фишек аниме-индустрии, такого почти нигде больше нет.
Если тебе нужно разрядить обойму, то читать что-либо действительно незачем. Но мне-то хочется не этого.
Суть подобных VN в погружении в атмосферу. Я запускаю игру (если VN можно так назвать), и мне там всё нравится — музыка, рисовка, анимации, озвучка, етц. Процесс прощёлкивания нет никакого желания ускорить — напротив, я им наслаждаюсь, даже сабы читаю не во время звучания фраз, а после окончания анимаций.
>>1260236
> Отдельные иксы не просто желательные, а обязательны, т.к. в X любое окно видит другие и даже может считывать нажатия клавиш (вроде пароля sudo).
Это я знаю. Но вероятность того, что мокрая писька умеет вытекать из VD вайна и работать с иксами, довольно низка.
> В Wayland это частично исправили, но тоже не идеально.
Я думал, там полностью ввод огородили. Чего же там не хватает?
> Если есть доступ к видеокарте, то все текстуры, находящиеся в её памяти, может достать любое приложение.
Более того, в некоторых случаях из шейдеров можно получить доступ ко всему адресному пространству хоста. Шина доверяет устройствам, без IOMMU никакого разграничения их доступа к оперативке нет, и любой взбрык мокрописечной прошивки видеокарты может привести к компрометации системы.
Контейнеры — да, желательная штука. Но что-то накрутить их использование на десктопе у меня руки пока не дошли. Ближайшая цель — заставить работать в контейнере на планшете юзерспейс android'а, а основной системой сделать arch.
>Чего же там не хватает?
Можно раскрыть прозрачное окно на весь экран и, например, поймать ввод пароля в терминал. Да, в терминал ничего не попадёт, но заметить это тяжело. Инфа, возможно, старая и ненадёжная, пока особо не рыл в эту сторону: https://security.stackexchange.com/questions/3589/passive-and-active-attacks-via-x11-is-wayland-any-better
>в некоторых случаях из шейдеров можно получить доступ ко всему адресному пространству хоста
Это интересно, есть ссылки? Т.к. в том же WebGL от неинициализированных текстур всё же защитились.
>Но что-то накрутить их использование на десктопе у меня руки пока не дошли
Пока это всё не особо удобно (нужно самому все скрипты обвязки писать), да и по умолчанию особой защиты не даёт. Есть специализированные решения различной степени параноидальности/доработанности - subuser, sandstorm.io, Qubes OS. Последняя самая интересная, правда там Xen. sandstorm очень неплох, но у него узкая ниша.
Чего-то не очень.
>http://www.cs.columbia.edu/~mikepo/papers/gpukeylogger.eurosec13.pdf
>To access the memory regions where the OS kernel and data structures reside, the memory scanning phase of the keylogger needs to run with administrative privileges. Linux offers the /dev/mem and /dev/kmem special files to allow a privileged user to access the physical memory and the kernel virtual memory, respectively. For security reasons though, recent distributions disable them by default; access to the /dev/mem and /dev/kmem files is allowed only if the Linux kernel has been explicitly compiled without the option CONFIG_STRICT_DEVMEM=y . Instead, we have implemented a loadable kernel module (LKM) that scans the whole main memory of the host (Figure 1 , step 2). The kernel module uses the same mechanism as the /dev/mem character device to implement access to physical pages.
Без этого модуля, как я понимаю, ничего работать не будет. Соответственно, вся фишка в том, что оно типо спрятано в видеокарте (хоть и требует для своей работы управляющий процесс в любом случае).
Ага, последнюю сцену из nekopara запостил тот, с чуханкой. То-то я смотрю что стиль поплыл.
Суп котаны, при добавлении этого [code]sudo apt-add-repository ppa:jon-severinsson/ffmpeg [/code] репозитория выдаёт ошибку, что неверно указано имя репозитория. Что делать?
Не использовать васянские PPA, вот что.
Да и нахуя он вообще нужен? FFmpeg вернулся в репозиториях 15 убунты.
Да и скомпилировать его самому с нужными библиотеками не составляет труда, на первоначальное ознакомление с гайдом https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu максимум час уходит.
По-моему, проще будет взять Docker, накатить gentoo image и в него поставить ffmpeg из гита со всеми нужными флагами. Чай в 21-ом веке живём, чтобы вручную со всеми зависимостями пердолиться.
Ты сейчас охуеешь, но макоёбы именно там докер и используют — vagrant ещё одна хипстерская фигня имадж с какой-нибудь убунтой, а внутри него уже докер-контейнеры.
Пруф или просто используй нормальное разрешение выходного файла, а не мылоёбство уровня gprs с 3gp. Для w>=1280 будет 4 потока, а в десктоп с более чем 4 реальными ядрами найти тяжело.
VP9 просто в первую очередь писался под 4K и выше, отсюда и размер суперблоков такой.
Обязательно ли смотреть что там внутри контейнера если я знаю что там одна аудиодорожка, можно ли как-то извлекать ее не задавая конечного расширения. Вот просто извлечь аудиодорожку и все, несмотря что там внутри?
Пока исполузую это
ffmpeg -i video.avi -acodec copy -vn audio.mp3
и меня это напрягает.
Будет ли перекодироваться аудио если я поставлю другое расширение, например ac3 ?
Какие команды использовать для демуксинга аудиодорожки несмотря на то что есть внутри контейнера(не задавая расширение аудиодорожки)?
Бядь забыл!
Почему-то ффмпег не хочет запускаться с диска отличного от С:\ Командкая строка не вилит путь
Ну то есть я открываю cmd, ввожу туда ffmpeg параметры кодирования бла бла и он начинает кодирование.
Ну то есть я захожу в меню Пуск, выполнить, пишу cmd бла бла и открывается окно консоли.
Ну это я знаю. А как сделать так, чтобы не нужно было писать это?
См. >>1242816 и >>1243473.
>>1261416
Чё ты орёшь, блять?
> Обязательно ли смотреть что там внутри контейнера если я знаю что там одна аудиодорожка, можно ли как-то извлекать ее не задавая конечного расширения.
Используй универсальные контейнеры: ogg и mka.
> ffmpeg -i video.avi -acodec copy -vn audio.mp3
Если это заюзать с универсальным контейнером, то туда попадёт всё кроме видео. Лучше прямо указать, что нужна первая аудиодорожка первого файла (нумерация идёт с 0):
ffmpeg -i in.avi -map 0:a:0 -c copy out.mka
> несмотря
Раздельно.
> Будет ли перекодироваться аудио если я поставлю другое расширение, например ac3 ?
Нет, у тебя прямо указан кодек copy, это запрещает автовыбор кодеков. Если формат не будет совместим с контейнером, процесс завершится с ошибкой.
> Почему-то ффмпег не хочет запускаться с диска отличного от С:\ Командкая строка не вилит путь
Нужно прописать путь до ffmpeg в переменную среды PATH. Смотри вики по ссылкам в оп-посте.
Спасибо.
> Обязательно ли смотреть что там внутри контейнера если я знаю что там одна аудиодорожка
Нет.
ffmpeg -i video.mp4 -map a -c copy audio.aac
> как мне запустить консоль?
https://github.com/pituz/webm-thread/wiki/command-line
https://www.google.ru/#newwindow=1&safe=off&q=windows+open+cmd+from+explorer
> как сделать, чтобы можно было шрифт менять?
https://www.google.ru/#newwindow=1&safe=off&q=customize+windows+cmd+prompt
И что?
Ну тип там стоят лофи пресеты, а он кушает какашечки)))
>Количество потоков кодирования libvpx-vp9 это 2^tile-columns максимум, а tile-columns <= floor(lg2(output_video_width//256)) (т.е. одна колонка не менее 256 пикселей)
Т.е. я правильно понимаю, что для маленьких разрешений (узких видео) VP9 не может в многопоточность? У меня видяшка шириной 800 - она может считаться только в 2 потока?
Да. И т.к. битстрим заморожен, то вряд ли в VP9, например, независимые tile-rows вообще появятся. См. http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2359
В любом случае, VP9 смотрится уже несколько устаревшим на фоне H.265, Daala и даже VP10. Просто пока H.265 почему-то на многих бордах не разрешён , а то бы все энкодили им скорее всего.
> H.265, Daala
А разве в стандарте webm не жёстко прописаны поддерживаемые кодеки? Я думал, что VP8-9-... это именно их мутка.
Ну так браузеры и mp4 контейнер поддерживают. В webm-то да, просто так не запихнёшь.
Поддерживают, но как я понимаю, вебм набирает популярность в рамках общего стека HTML5, т.ч. всё остальное - это уже сторонние придумки.
А что насчёт VP10 сейчас? Есть что-то по поводу сроков реализации?
> Ну так браузеры и mp4 контейнер поддерживают
Это в теории, а на практике только недавно тот же Iceweasel наконец смог в пикрелейтед.
Ну если Daala таки допилят, то в webm формат Daala тоже скорее всего разрешат. Только когда это ещё будет… VPx, в принципе, не так уж и плох там, где особых предъяв по размеру нет. VP8 жмёт очень быстро, ну и швободка, так что в вебе оно смотрится хорошо. На на бордах, с их очень низким лимитом на размеры файлов, такое совсем не катит, сам понимаешь. Нужно максимальное качество, ну и никто ждать по полчаса на мелкий ролик при этом тоже не хочет.
Говорили что-то по поводу 2015 + ~3 года: http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2314
>>1261770
У меня как минимум в течении года всё видео на ютубе работает без флэша. MSE не обязателен, без него 720p играется, мне достаточно.
А для mp4 + H.264 (и, скорее всего, кучи других форматов заодно), на линуксе просто нужно поставить gstreamer-libav и gstreamer-plugins-good.
>ждать по полчаса на мелкий ролик при этом тоже не хочет.
Хех, у меня 1 минут в 2 потока кодируется 6 часов.
У тебя libvpx 1.3.0 что ли? На 1.4.0 в среднем это 1-3x от продолжительности видео.
> А для mp4 + H.264 (и, скорее всего, кучи других форматов заодно), на линуксе просто нужно поставить gstreamer-libav и gstreamer-plugins-good
Но речь была о нативной поддержке браузерами форматов. Так-то можно и флеш на линукс поставить, а толку от него?
Выбор между gstreamer и флэшем очевиден. Вон к chromium ffmpeg в зависимостях вообще идёт (по крайней мере раньше), что мешает в зависимостях пакета firefox поставить то же? На сафари H.265 нативом, ясное дело, будет, остаётся только виндоуз. Статикой декодер не вкомпилишь, наверно, из-за патентов, но вот сделать чтобы оно использовало DirectShow фильтры легко (если уже не сделано, хз). 99% пользователей венды используют всякие паки вроде K-Light, так что всё будет работать и там.
Так-то у тебя webm в сафаре тоже ведь не работает, значит уже фиговая совместимость. В IE зато обещали, лол.
>>1261778
Сочуствую :3
>а как это сделать в проприетарщине — никто не знает, кроме автора.
Ну ладно, будем ждать обновлений, значит. Я всё ещё боюсь запутаться во всех этих параметрах( и чего-нибудь забыть
Я бы на твоём месте больше беспокоился, что оно тебе дискретизацию 44100 Hz для Opus выставит или ещё что похуже.
Хотя странно, кстати, последняя версия xmedia recode была неделю назад, а libvpx 1.4.0 вышел в начале апреля. То ли автор сам её компиляет, то ли берёт какие-то фиговые билды, т.к. у Zeranoe libvpx свежая.
> боюсь запутаться во всех этих параметрах( и чего-нибудь забыть
А что, винду переустанавливать придётся?
>>1261782
Не пользуюсь сафари, поэтому не знаю, что там и как. А в IE я ради интереса ставил плагин гугловский проебал вебмку с записью с виртуалки, кидал её ещё в анимублядский тред, но результат так себе, потому что воспроизводилась в лучшем случае каждая третья вебмка.
>оно тебе дискретизацию 44100 Hz для Opus выставит или ещё что похуже.
Нет, для опуса там только 48 и 24 есть (и меньше).
>>1261800
>А что, винду переустанавливать придётся?
Получится неидеальная вебмка и я из-за этого буду потом переживать! Я обычно перед тем, как что-то делать - перекапываю все параметры и вникаю во все настройки. Но тут их слишком... много.
>>1261796
Кстати, если уж упарываться, то можно попробовать зайти в каталог с установленной xmedia records, поискать там ffmpeg.dll и прочие и заменить, например, их из билда Zeranoe. Линковка динамическая, ABI/API не менялись, возможно даже заработает. Но это если совсем делать нечего.
>>1261814
>для опуса там только 48 и 24 есть
Тогда ещё ок. Выше была просто дискуссия насчёт дефолтов CLI vs дефолтов GUI. Если автор GUI неправильно выставил дефолты, то можно получить фиговый результат. С CLI вероятность такого гораздо меньше или она уже учтена в encoding best practices. С гуишкой тебе перетыкивать, возможно, придётся гораздо больше, да и неудобно это.
>Получится неидеальная вебмка
В том-то и суть, что с CLI гораздо проще получить вменяемый результат. Погугли парочку команд, посмотри ман для некоторых опций и всё.
Ответьте плиз на мой вопрос http://stackoverflow.com/questions/30789367/ffmpeg-how-to-convert-vertical-video-with-black-sides-to-video-169-with-blur
Для входного видео 529x480:
ffmpeg -i 1.webm -lavfi '[0:v]scale=854:-1,boxblur=5:5[bg];[bg][0:v]overlay=162:147,crop=y=147:h=480' -c:v libvpx -crf 4 -y 2.webm
Для своих размеров сам посчитай.
А че не реально сделать чтоб размеры автоматически расчитывались? У меня сотни видео которые так нужно преобразовывать
ffmpeg -i 1.webm -lavfi '[0:v]scale=ih16/9:-1,boxblur=3:3[bg];[bg][0:v]overlay=(h16/9-w)/2:(hW/w - h)/2,crop=h=ih9/16' -c:v libvpx -b:v 0 -crf 4 -y 2.webm
Спасибо, но немного не так, надо чтоб блюр был только по бокам.
А почему он его с таким диким бит рейтом делает? и главное что битрейт не регулируеться указанием -vb 800K
frame= 99 fps=4.2 q=0.0 Lsize= 3884kB time=00:00:04.24 bitrate=7501.6kbits/s
Неправильно высоту для кропа посчитал.
http://pastebin.com/W7FzA89V
>А почему он его с таким диким бит рейтом делает?
Constant quality. Просто для примера, чтобы быстрее энкодило. Для реальных видео используй VP9 + 2pass.
Олсо, написал через жопу параметры overlay ещё. Вот так проще: overlay=(W-w)/2:(H-h)/2
>43629x24644 yuv420p
Там всё ок, просто yuv444p. Это ffmpeg у тебя старый и неправильно дискретизацию определяет. В 2.7 только добавили поддержку дополнительных профилей. Можешь вот так открыть: mpv --vd=lavc:libvpx-vp9 file.webm Или ffmpeg обновить.
>Ясно, из-за запила в ffmpeg поддержки отличных от yuv420p цветовых моделей
Так запилили в декодер. У меня и до 2.7 те же PNG-картинки всегда в yuv444p конвертились автоматом. Это из-за libvpx 1.4.0.
перекодировал все с этой опцией, чет не очень помогло...
что ещё можно сделать?
1 видос
2 превью
3 склейка
4 окно сосноли
С Y'CbCr гаммами/форматами такая же беда, кстати — где-то BT.601, где-то 709, где-то full range, где-то limited. Ну и их произвольная комбинация.
Нахуя жить в мире, где каждый второй разработчик не осиливает разобраться в основах той области, под которую пишет программу?
до этого был вп9 но 444. на последнем этапе упустил...
Еебать, неужели оно работает... Кароче, вики надо подправить - без пиксель формата нихуя не выйдет.
Пруф или пусть абу чинит свою макабу, чтобы скриншот из yuv444p нормально выдирала. У тех же анимешников часто High 4:4:4 профиль для H.264 бывает в релизах, чем мы хуже? Ну и 10 бит само собой.
ну попробуй сделай по рецепту из вики - залупа полчается.
вот рабочий рецепт пилить вебемы с превьюхой в /b
ffmpeg -i source.mkv -c:v libvpx-vp9 -pass 1 -b:v 970K -vf scale=-1:540 -threads 1 -speed 4 -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 25 -g 9999 -aq-mode 0 -an -f webm NUL
ffmpeg -i source.mkv -pix_fmt yuv420p -c:v libvpx-vp9 -pass 2 -b:v 970K -vf scale=-1:540 -threads 8 -speed 1 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 -c:a libopus -b:a 96k -sn -f webm video.webm
ffmpeg -y -i "pre.png" -c:v vp9 -r 23.976 -pix_fmt yuv420p preview.webm
ffmpeg -itsoffset 0.04 -i video.webm -f concat -i files.txt -map 1:v -map 0:a -c copy out.webm
тут невреняка есть что-то лишнее и опции кодирования видео/аудио каждый делает свои, но факт в том что в целом это точно работает.
Так я не спорю. Я к тому, что формат дополнительные дискретизации поддерживает, браузеры отлично их играют, на борде и формат, и профиль, и все прочие характеристики допустимы. То, что при этом не отображается скриншот видео, проблема криворукости разработчиков 2ch.hk. Точнее, с учётом 99% вероятности что скриншот выдирается с помощью ffmpeg, абу просто не осилил поставить новый ffmpeg на сервер. Я шучу, 2.7 3 дня назад выше. Но в гите это аж месяц уже!
> -pass 1 -threads 1 -speed 4 -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 25 -g 9999
> -pass 2 -speed 1 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25
Норкоман, нахуя ты дефолты пишешь?
> -pix_fmt yuv420p
Почему только во втором проходе?
>>1263129
Тащемта, yuv444p и yuv420p в одной дорожке — не есть что-то хорошее, мне кажется. Так что вики править надо в любом случае.
Точнее, для кодека copy без разницы. И лучше таки после, т.к. субтитры собьются. Ну я и мудак.
> нахуя ты дефолты пишешь
Я вобще с трудом понимаю что там происходит, еле-еле вкурил, как эти опции прописывать. Делал все на ощупь, за основу взял пресеты отсюда - http://wiki.webmproject.org/ffmpeg/vp9-encoding-guide
Это можно убрать?
>-auto-alt-ref 1 -lag-in-frames 25 -g 9999
>-auto-alt-ref 1 -lag-in-frames 25
> Почему только во втором проходе?
Разве в первом проходе что-то важное происходит т.е. результат будет другой если не прописать? Я pass 1 делал только в первый раз, когда эксперемнтировал, потом только переделывал второй проход пока не домучал это видео.
Сделал пару тестов. В режиме copy и субтитры тоже не сбиваются почему, если ss впереди. Единственное отличие между ними, похоже, — ss перед i берёт кейфрем до таймштампа, ss после i — наоборот.
>>1263204
Забей. В 99% случаев разница в качестве будет минимальна. Разве что скорость кодирования может измениться в худшую сторону. Просто кое-кто тут anal-retentive.
>Это можно убрать?
Вот это аналог твоим командам в последних ffmpeg и libvpx:
ffmpeg -i source.mkv -c:v libvpx-vp9 -pass 1 -b:v 970K -vf scale=-1:540 -speed 4 -tile-columns 0 -frame-parallel 0 -an -f webm NUL
ffmpeg -i source.mkv -pix_fmt yuv420p -c:v libvpx-vp9 -pass 2 -b:v 970K -vf scale=-1:540 -threads 8 -c:a libopus -b:a 96k -sn video.webm
Но лучше так:
ffmpeg -i source.mkv -pix_fmt +yuv420p -c:v libvpx-vp9 -pass 1 -b:v 970K -vf scale=-1:540:flags=lanczos -threads 8 -speed 4 -frame-parallel 0 -an -f webm NUL
ffmpeg -i source.mkv -pix_fmt +yuv420p -c:v libvpx-vp9 -pass 2 -b:v 970K -vf scale=-1:540:flags=lanczos -threads 8 -speed 1 -frame-parallel 0 -c:a libopus -b:a 96k -sn video.webm
>т.е. результат будет другой если не прописать
Вряд ли. Но лучше не рисковать и настройки кодирования видео в обоих случаях использовать одинаковые кроме -speed.
Или так:
ffmpeg -i source.mkv -pix_fmt +yuv420p -c:v libvpx-vp9 -pass 1 -b:v 970K -vf scale=-1:540:flags=lanczos -threads 8 -speed 4 -frame-parallel 0 -f null NUL
ffmpeg -i source.mkv -pix_fmt +yuv420p -c:v libvpx-vp9 -pass 2 -b:v 970K -vf scale=-1:540:flags=lanczos -threads 8 -speed 1 -frame-parallel 0 -c:a libopus -b:a 64k -sn video.webm
96k обычного многовато для аудио.
>64 для музыки точно мало на слух.
Кстати, здесь есть аудиоёбы? Мне интересно, как лучше аудио-файлы анализировать — на слух слишком ненадёжно выходит. Уже спрашивал, но никто не ответил: какими инструментами это обычно делается? Часто вижу спектрограммы используют, интересно, может гайды у кого есть и т.д. Хочется понять что конкретно теряется и в каких моментах в зависимости от битрейта.
Потому что, например, ту же речь можно с Opus хоть до 6k-8k ужать (кодировал showcase на час с 8M лимитом на файл, всё ок вышло). И если у самого исходника была узкая полоса, то разницы почти и не слышно.
Adobe Audition вроде показывает спектрограммы, а вообще десятки подобного софта есть.
Когда снижаешь битрейт, в зависимости от кодека по-разному срезаются высокие частоты, это как раз видно на спектрограммах, верхняя граница становится всё более плоской по мере снижения битрейта.
Это-то понятно. Но я хочу швободку и с подробными объяснениями с теорией.
Что-то вроде такого: http://nbviewer.ipython.org/github/calebmadrigal/FourierTalkOSCON/blob/master/07_SeeingSound.ipynb#Axes
Обмазывайся матаном, конкретно -- преобразованием Фурье, пили программку на каком-нибудь матлабе, вот тебе самая настоящая швабодка.
Ну это примерно и делаю, лол ipython + numpy/scipy. Только сколько времени на это уйдёт.
Это я к чему. Иногда совершенно случайно попадаются блоги, которые сложные темы, которые ты до этого плохо понимал, объясняют просто враз за счёт простых и удачных mental models. Эдакие Фейнманы. Та же вики, которая в оп-посте. Ничего особенного там нет, но человеку, незнакомому с кодированием видео вообще, она даёт всё самое необходимое и уже через пару дней знаешь практически всё касательно webm, webm на бордах, наиболее важных ключах ffmpeg, best practices, pitfails и т.д.
В общем, качественные и подробные введения это вещь. Главное ухватить суть, недостающие детали потом легко уточняются.
Ну вики писалась как раз с упором на то, что заходящие туда нифига не знают вплоть до того, как пользоваться ОС. ИЧСХ никто не читает посвященные этому разделы. А ещё там половину статей нужно перепилить, потому что писались они явно не для тех, кто ничего не понимает в кодировании, какая-то сухая энциклопедичность, сразу за версту видно автора-линуксоида.
> зачем это писать в 1 проходе и в чём разница?
Чтобы не производить запись в файл, а отправлять данные в черную дыру
> По дефолту quality=good или best?
Если VP8, то можно best. В VP9 best на порядок медленнее. Никто не мешает ставить best, просто время конвертирования увеличивается в разы.
> -an выключает запись звука, правильно? Зачем тогда его писать в первом проходе?
Потому что звуковая дорожка будет конвертироваться и писаться в файл, это лишняя операция на первом проходе.
>Чтобы не производить запись в файл, а отправлять данные в черную дыру
-f это же формат выходного/входного файла, не? Данные в чёрную дыру отправляет -y NUL. А хотя я вроде понял, они типа вместе работают. Но мне до сих пор не понятно в чём разница между null и webm, вообще не понятно причём здесь .webm файл, он не создаётся же.
>Если VP8, то можно best. В VP9 best на порядок медленнее.
Я же про дефолт спрашиваю. Время конвертирования увеличивается, а качество сильно увеличивается, или плевать?
>Потому что звуковая дорожка будет конвертироваться и писаться в файл, это лишняя операция на первом проходе.
Вот за это спасибо.
>-f null и -f webm, зачем это писать в 1 проходе
ffmpeg определяет формат контейнера по расширению выходного файла и в случае с /dev/null или NUL он не знает какой формат использовать, поэтому нужно явное указание.
>и в чём разница?
Если контейнер поддерживает аудио-трек/субтитры, ffmpeg возьмёт их из сточника и опционально перекодирует, поэтому для контейнера webm на выходе обычно добавляют -an -sn в первом проходе, так чуть быстрее, т.к. для лога они не нужны. null-формат аудио/субтитры не поддерживает и видео-фреймы упаковывать в контейнер тоже не надо, так ещё быстрее и проще.
>По дефолту quality=good или best?
good. В любой непонятной ситуации смотри исходники: https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/libvpxenc.c;h=c2408a51742135ae466f18db79ebf7467a28efad;hb=02001ada5cdd1d8b884141134ceb5c8607fa05f7#l876
Ну и бывает что некоторые параметры зависят от версии ffmpeg/libvpx. Если vpxenc вызывается напрямую, некоторые параметры могут также отличаться.
>-an выключает запись звука, правильно? Зачем тогда его писать в первом проходе
Быстрее.
>-frame-parallel 0 чё делает?
Немного улучшает качество видео, за счет не использования устаревшего механизма параллельного декодирования: http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2359
>-auto-alt-ref по дефолту 0 или 1?
1. В более старых версиях ffmpeg вроде было выключено по умолчанию. Можешь запускать ffmpeg с флагом -loglevel verbose, там пишутся значения для части используемых опций. И вот это можешь раскомментировать: https://chromium.googlesource.com/webm/libvpx/+/c77b1f5acd09852aff1ba09d7f371728a60634d7/vp9/vp9_cx_iface.c#492
>flags=lanczos зачем писать?
Более эффективный алгоритм скейлинга.
>Что именно делает этот алгоритм рескейлинга?
То, что и обычный скейлер, только немного эффективнее дефолтного bicubic. https://en.wikipedia.org/wiki/Lanczos_resampling
Можно ещё spline попробовать, тоже вроде хороший.
>-speed, -threads как-то влияет на качество или только увеличивает скорость и сильнее нагружает систему?
-threads в ffmpeg по умолчанию выключено, так что без явного указания у тебя будет всегда в один поток. Про максимальное число потоков см. выше обсуждение -tile-columns опции (по умолчанию установлено в 6).
Про -speed здесь описано: https://github.com/pituz/webm-thread/wiki/webm-encoding#Управление-соотношением-скоростькачество
>Правда ли что -quality best почти не улучшает качество, но во много раз увеличивает время нужное для кодирования?
Да.
>-f null и -f webm, зачем это писать в 1 проходе
ffmpeg определяет формат контейнера по расширению выходного файла и в случае с /dev/null или NUL он не знает какой формат использовать, поэтому нужно явное указание.
>и в чём разница?
Если контейнер поддерживает аудио-трек/субтитры, ffmpeg возьмёт их из сточника и опционально перекодирует, поэтому для контейнера webm на выходе обычно добавляют -an -sn в первом проходе, так чуть быстрее, т.к. для лога они не нужны. null-формат аудио/субтитры не поддерживает и видео-фреймы упаковывать в контейнер тоже не надо, так ещё быстрее и проще.
>По дефолту quality=good или best?
good. В любой непонятной ситуации смотри исходники: https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/libvpxenc.c;h=c2408a51742135ae466f18db79ebf7467a28efad;hb=02001ada5cdd1d8b884141134ceb5c8607fa05f7#l876
Ну и бывает что некоторые параметры зависят от версии ffmpeg/libvpx. Если vpxenc вызывается напрямую, некоторые параметры могут также отличаться.
>-an выключает запись звука, правильно? Зачем тогда его писать в первом проходе
Быстрее.
>-frame-parallel 0 чё делает?
Немного улучшает качество видео, за счет не использования устаревшего механизма параллельного декодирования: http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2359
>-auto-alt-ref по дефолту 0 или 1?
1. В более старых версиях ffmpeg вроде было выключено по умолчанию. Можешь запускать ffmpeg с флагом -loglevel verbose, там пишутся значения для части используемых опций. И вот это можешь раскомментировать: https://chromium.googlesource.com/webm/libvpx/+/c77b1f5acd09852aff1ba09d7f371728a60634d7/vp9/vp9_cx_iface.c#492
>flags=lanczos зачем писать?
Более эффективный алгоритм скейлинга.
>Что именно делает этот алгоритм рескейлинга?
То, что и обычный скейлер, только немного эффективнее дефолтного bicubic. https://en.wikipedia.org/wiki/Lanczos_resampling
Можно ещё spline попробовать, тоже вроде хороший.
>-speed, -threads как-то влияет на качество или только увеличивает скорость и сильнее нагружает систему?
-threads в ffmpeg по умолчанию выключено, так что без явного указания у тебя будет всегда в один поток. Про максимальное число потоков см. выше обсуждение -tile-columns опции (по умолчанию установлено в 6).
Про -speed здесь описано: https://github.com/pituz/webm-thread/wiki/webm-encoding#Управление-соотношением-скоростькачество
>Правда ли что -quality best почти не улучшает качество, но во много раз увеличивает время нужное для кодирования?
Да.
>-threads в ffmpeg по умолчанию для libvpx/libvpx-vp9 выключено
Фикс. Почему так — хз. Тот же libx265 все ядра задействует и без явного указания.
В упор не вижу в исходниках что там по дефолту стоит.
>-threads в ffmpeg по умолчанию выключено, так что без явного указания у тебя будет всегда в один поток. Про максимальное число потоков см. выше обсуждение -tile-columns опции (по умолчанию установлено в 6).
Ну так он на качество влияет или нет? Насколько я понял максимальное число потоков 2^tile_columns, т.е. 64 по дефолту, не понимаю зачем мне это знать.
>Про -speed здесь описано:
Там ничего почти не написано и дана ссылка на код в котором у меня не факт что вообще получится разобраться. Мне просто интересно, влияет ли это на качество и какие -threads -speed лучше ставить.
>В упор не вижу в исходниках что там по дефолту стоит.
https://en.wikipedia.org/wiki/The_C_Programming_Language
Я ж сказал что good, он же 1'000'000 микросекунд.
>Ну так он на качество влияет или нет?
Влияет использование tile-columns. tile-columns=0 должно быть немного качественнее, но и использоваться будет только один поток.
>Мне просто интересно, влияет ли это на качество и какие -threads -speed лучше ставить.
По качеству можно расположить так (примерно и негарантированно):
-quality good -speed 1 < -quality good -speed 0 < -quality best
-tile-columns x < -tile-columns 0, где x > 0
Выбирай компромисс между скорость кодирования vs качество сам. Обычно с VP9 (для второго прохода) используют -quality good -speed 1 -tile-columns 6
В первом проходе же нет смысла указывать -speed и -tile-columns, правильно? А насчёт -crf что скажешь, стоит ли -crf 0 писать? С -qmin и -qmax не буду пердолиться, ладно уж.
В первом проходе -speed чуть повыше обычно ставят, чтобы быстрее было. Там важно только собрать статистику по изменениям между кадрами, чтобы эффективнее расставлять ключевые кадры. -tile-columns (как и все прочие настройки кодека) лучше использовать такой же, хотя точно процесс формирования лога я не знаю.
>стоит ли -crf 0 писать
Это lossless, зачем тебе он? Если ты имеешь ввиду выбор между режимами constant quality vs constrained quality vs target bitrate, то можешь почитать в вышеупомянутой вики и здесь: http://www.webmproject.org/docs/encoder-parameters/#vbr-cbr-and-cq-mode
>-qmin и -qmax
qmax удобен в случае простых клипов — libvpx-vp9 часто недобирает битрейта и качество получается хуже, чем могло бы быть. -qmax 35, например, заставляет использовать фактор квантизации не более 35 для всех кадров. Это бывает удобнее, чем делать битрейт выше расчётного.
qmin теоретически способен спасти немного битрейта в плохих случаях, за счёт того, что не будет использоваться слишком маленькая квантизация.
constant quality (-b:v 0 -crf x) удобен для совсемх простых клипов когда ты явно укладываешься в битрейт и хочешь определённое качество результирующего видео
constrained quality (-b:v x -crf x) также, как и qmax может помочь в случае bitrate undershoot, но для него я применения на практике плохо представляю.
>Это lossless, зачем тебе он?
Понятия не имею. Мне главное чтобы кодирование 2-ух минутных роликов не занимало больше ~20-30 минут. Если его не стоит писать, то почему?
>Если ты имеешь ввиду выбор между режимами constant quality vs constrained quality vs target bitrate
Не знаю что это за режимы и думаю мне нет особого смысла вникать в это. C -qmin, -qmax теперь всё понятно, не понятно только почему lossless использовать не вариант, слишком долго, слишком много места файл займёт или что?
>не понятно только почему lossless использовать не вариант
>слишком много места файл займёт
this
Ну я сейчас кодирую с -crf 0, особой разницы в размере не вижу правда очень медленно с -speed 0 и -tile-columns 0 или crf 0 влияет на скорость?%%, результат через часа полтора только будет.
-b:v 0 надо указывать для constant quality. Дефолтный битрейт у libvpx — 256k. Т.е. у тебя constrained quality сейчас.
А -crf 0 это constant quality? Короче не надо писать это, понятно.
перекодировать например нужно mp4 в webm
ffmpeg -itsoffset 0.04 -i out.webm -f concat -i files.txt -map 1:v -map 0:a -c copy done.webm
Вот так склеиваю. В итоге вместо видео - кадр из превью. Я так и не понял как тот анон решил эту проблему, поначалу думал что проблема в -pix_fmt +yuv420p, но это оказывается другая проблема уже, та в которой макаба не показывает превью в yuv444p.
ffmpeg -i video.mp4 -c:v libvpx-vp9 -pass 1 -b:v 0 -crf 0 -frame-parallel 0 -speed 0 -quality best -tile-columns 0 -f null -y NUL
ffmpeg -i video.mp4 -map 0:v -c:v libvpx-vp9 -pass 2 -b:v 0 -crf 0 -frame-parallel 0 -speed 0 -quality best -tile-columns 0 -lag-in-frames 25 out.webm
ffmpeg -i video.mp4 -i out.webm -map 0:a -c:a libvorbis -q:a 10 -map 1:v -c:v copy out.webm
Как-то так, но я этим занимаюсь второй день, так что возможно накосячил где-то. Кодироваться это будет чуть более чем дохуя времени. Чтобы было быстрее можешь стереть >-speed 0 -quality best -tile-columns 0 везде. Видео можно смотреть пока оно кодируется. Кстати, имеет ли смысл -an написать во втором проходе, мы же аудио потом прицепляем?
Понятия не имею что это, гугл как-то невнятно ответил.
> -f null и -f webm, зачем это писать в 1 проходе
ffmpeg без выхода работать не будет.
> и в чём разница?
При -f webm используются дефолты для формата: -c:v libvpx -c:a libvorbis -c:s webvtt;
при -f null запись выходного файла вообще не производится.
> -an выключает запись звука, правильно?
Не только запись, но и остальную обработку.
> Правда ли что -quality best почти не улучшает качество, но во много раз увеличивает время нужное для кодирования?
Эффективность сжатия по сравнению с -quality good -speed 1 выше примерно на 10%.
>>1264674
> -frame-parallel 0 -speed 0 -quality best -tile-columns 0
Но он же не просил максимальную эффективность сжатия, а напротив написал что похуй на размер. Соответственно, вместо этого сойдёт хоть -quality realtime.
И да, -map 0:v стоило указать и в первом проходе.
> Кстати, имеет ли смысл -an написать во втором проходе, мы же аудио потом прицепляем?
У тебя же -map, оно отключает автовыбор дорожек.
>>1264692
Мне кажется, -qscale имеет смысл использовать только при пережатии в формат исходника.
>>1264640
Показывай соединяемые части и лог.
Почему, кстати, консоль на весь экран не делается? В высоту полностью растягивается, а в ширину нет.
Сама вебмка не влезла.
>У тебя же -map, оно отключает автовыбор дорожек.
И правда.
Спасибо за ссылки, как минимум консоль теперь на весь экран и ctrl+v работает. Правда, копирование глючит иногда, не сразу появляется скопированный текст, а если несколько раз за это время ctrl+v нажать, вообще всё пидорасится. А ещё надо было найти в настройках и нажать кое-что чтобы вместо консоли запускалась ConEmu
Распаковал, не пашет. Конечно можно zsh.exe запустить, но это не то похоже, он, кстати, при команде ffmpeg вылетает, лол.
Что ещё за usr\local\wbin ?
>В архиве, блин, с утилитами они не в корне а в этой подпапке лежат
Вообще ни слова не понял. Архив я сначала распаковал на рабочий стол, а потом в windows, в шинде вообще в эту папку только с админскими правами распаковывается, 7-zip пишет ошибку в этом случае.
Потому что я раз в пятилетку этим пользуюсь. И ещё поэтому
>Note: You really shouldn’t use this account for anything other than troubleshooting. In fact, you probably shouldn’t use it at all.
>и будет у тебя соснолька лучше чем у прыщеблядей!
>А хули ты не из под "Администратора" сидишь?
Лол.
Бля, да не нужна мне эта учётка. Объясни лучше, что не так с unxutils? Если что, http://unxutils.sourceforge.net/UnxUtils.zip - эта ссылка у меня не работает, я качал с http://unxutils.sourceforge.net/UnxUpdates.zip
И что в windows совать? То что в usr\local\wbin? Или всю эту хуйню? Если только то что в usr\local\wbin , то куда девать остальное?
Ну, ничего не изменилось, консоль запускается с ConEmu и Clink, не такая как на твоём скрине.
Ммм, куда это копировать?
>Эффективность сжатия по сравнению с -quality good -speed 1 выше примерно на 10%.
Сам тестировал? Разработчики говорят, что с best может быть иногда даже хуже и в общем случае разницы не будет. А между -speed 1 и -speed 0 вряд ли должна быть такая значительная разница.
Превью криво закодировано, показывает ошибки при воспроизведении. И видео, судя по всему, тоже, т.к. с другим видео у меня нормально склеивается. Подозреваю, у тебя муксер кривой, после ffmpeg -i video.webm -c copy video.remux.webm твоего видео у меня работает.
Билд откуда брал? Если с Zeranoe, то обновись до последнего.
Помогло обновление, хотя я его ставил совсем недавно.
Анонас, помоги, нужен плагин или проигрыватель который добавит в обычный мп3 лишних шумов, что бы как то приблизить его "мп3" к звучанию виниловых пластинок. Извиняюсь за кривой слог, после попойки, с утра тяжело.
> А vp8?
VP8 в лосслесс не может, его минимальный уровень квантизации — 4.
> А аудиокодек там по прежнему vobris?
Ещё Opus, см. оп-пост.
> Он вообще может в лосслесс?
Ни Vorbis, ни Opus не могут.
Я совсем не по /s/, поэтому прошу, не могли бы вы на пальчиках объяснить, как склеить 2 части из одного видео?
Я весь последний год пользовался одной строчечкой и не заморачивался - заменил время-ссылку и поехал, но вот пришло время, что-то понять.
Нет ли там какой-нибудь фигни, типа два времени из Одного видеофайла ставишь и оно склеивает?
Представьте, что вы объясняете своей шестидесятилетней бабушке.
Заранее спасибо, ребята!
>>1245057
Какой кошмар, я не понимаю, что происходит в этом куске текста.
Да он лох какой-то. Простейший подстановочный шифр, разгадать такое на 15 минут работы (с учётом скорости выдачи шифротекста). Гуманитарий, наверно.
А почему вы отвечаете вопросом на вопрос?
Нет, я понял, что можно потом сконкатить две готовых, но мне интересно, нельзя ли сделать это сразу же. Я трачу на это по 1-2 минуты в неделю, не больше. Перечитывать для меня весь материал - просто невозможно и бесполезно, я всё равно забуду, т. к. редко пользуюсь. Скачать что-то другое тоже не получится, я уже привык к лёгкости этой, ничего не надо запускать, никаких лишних кнопок.
Я уже на этот тред потратил больше времени, чем на все сделанные мною вебмки.
Просто ответьте, пожалуйста, есть ли там такая хрень, типа даёшь два времени, которые нужно вырезать, оно даёт готовую целостную картину. И как это всё оформляется, сложно ли, чтобы потом можно было только время, например, заменять.
Сегодня очень внезапно понадобилось, такая отвратная сцена втесалась в промежутке между началом и концом одного интересного момента, вот и прибежал к вам горящий.
Одной командой никак. Четыремя так (вырезаем 1:00 - 2:00):
ffmpeg -i file.mkv -to 1:00 -c copy part1.mkv
ffmpeg -i file.mkv -ss 2:00 -c copy part2.mkv
echo -e "file 'part1.mkv'\nfile 'part2.mkv'" > files.txt
ffmpeg -f concat -i files.txt -c copy out.mkv
А вообще, про таких как ты здесь написано: http://segfault.kiev.ua/smart-questions-ru.html#homework
>киевуа
>Одной командой никак.
Это всё, что я хотел услышать. Спасибо за ответ.
Добавлять ссылку на выкак какого-то канкроида-хацкера-мамкиного_переводчика было не обязательно, я дропнул на слове
>Хакеры.
Если уж тебе всеми фибрами души хотелось ознакомить меня с чем-то (с этим!), не нужно так предвзято принимать меня за русеколюбителя, можно вкидывать оригинал. А ещё лучше выразить своими словами. Я люблю читать или живых людей, или совершенно мертвых. Мой вопрос, он такой же, как и тысяча других вопросов в этих тредах. Тогда почему ты обвиняешь меня в том, что я обязан это знать сам? Им, значит, можно помогать, а мне идти домашку делать? Когда мне нужно было разобраться только в том, как запилить простую обычную обыкновенную непримечательную вебм, я разобрался сам, ничего не спрашивал, только читал, потому что сюда заходить постеснялся, а в бэ не сижу и не собираюсь. Насколько я понимаю, всё это было сконцентрировано именно там.
Когда люди приходят в разделы, в которых я сижу, я всегда вежливо и подробно всё объясняю, если могу им чем-то помочь. А знаешь как люди приходят? Они создают треды, они называют тебя аноном, они вставляют тебе мягкие знаки туда, куда нельзя вообще ничего вставлять. Я у вас ничего не создавал, никого не оскорблял, изначально ограничился лишь малюсеньким невинным сообщением.
Я также уже никогда в жизни не собираюсь увлекаться кодингом или излишне нагружать свою, и так уже загруженную множеством задач, голову разборчивостью в софте.
Сейчас я трачу всё своё свободное время на изучение иностранных языков в надежде забыть свой родной.
Ну вот на что ты развёл меня одной строчкой?! Ладно, если ты дочитал эту шизофазию до конца, это было достаточным наказанием.
Ещё раз спасибо, ты в любом случае единственный, кто ответил. Но вы меня выгнали из треда обратно в психушку, так что больше тут не объявлюсь точно. Возрадуйтесь. Скорее комп сожгу. Харкач тоже пора дропать. Жаль, что на мелкобордах нет такой активности, но и злобы столько нет.
Спокойной ночи.
Надеюсь, морчер потрёт это как нерелейтед.
>Одной командой никак.
Это всё, что я хотел услышать. Спасибо за ответ.
Добавлять ссылку на выкак какого-то канкроида-хацкера-мамкиного_переводчика было не обязательно, я дропнул на слове
>Хакеры.
Если уж тебе всеми фибрами души хотелось ознакомить меня с чем-то (с этим!), не нужно так предвзято принимать меня за русеколюбителя, можно вкидывать оригинал. А ещё лучше выразить своими словами. Я люблю читать или живых людей, или совершенно мертвых. Мой вопрос, он такой же, как и тысяча других вопросов в этих тредах. Тогда почему ты обвиняешь меня в том, что я обязан это знать сам? Им, значит, можно помогать, а мне идти домашку делать? Когда мне нужно было разобраться только в том, как запилить простую обычную обыкновенную непримечательную вебм, я разобрался сам, ничего не спрашивал, только читал, потому что сюда заходить постеснялся, а в бэ не сижу и не собираюсь. Насколько я понимаю, всё это было сконцентрировано именно там.
Когда люди приходят в разделы, в которых я сижу, я всегда вежливо и подробно всё объясняю, если могу им чем-то помочь. А знаешь как люди приходят? Они создают треды, они называют тебя аноном, они вставляют тебе мягкие знаки туда, куда нельзя вообще ничего вставлять. Я у вас ничего не создавал, никого не оскорблял, изначально ограничился лишь малюсеньким невинным сообщением.
Я также уже никогда в жизни не собираюсь увлекаться кодингом или излишне нагружать свою, и так уже загруженную множеством задач, голову разборчивостью в софте.
Сейчас я трачу всё своё свободное время на изучение иностранных языков в надежде забыть свой родной.
Ну вот на что ты развёл меня одной строчкой?! Ладно, если ты дочитал эту шизофазию до конца, это было достаточным наказанием.
Ещё раз спасибо, ты в любом случае единственный, кто ответил. Но вы меня выгнали из треда обратно в психушку, так что больше тут не объявлюсь точно. Возрадуйтесь. Скорее комп сожгу. Харкач тоже пора дропать. Жаль, что на мелкобордах нет такой активности, но и злобы столько нет.
Спокойной ночи.
Надеюсь, морчер потрёт это как нерелейтед.
>я дропнул на слове Хакеры
А зря. Раз ты, судя по бьющей ключём графомании, из букача, почитал бы это: http://aldebaran.ru/author/levi_stiven/kniga_hakeryi_geroi_kompyuternoyi_revolyucii/ (можешь в оригинале).
> Одной командой никак.
Да ты что?
ffmpeg -f lavfi -i 'movie=file.mkv:s=da+dv[a0],trim=end=60[v0],[a0]atrim=end=60[a0.1];movie=file.mkv:sp=120:s=da+dv[a1][v1];[v0][a0.1][v1][a1]concat=a=1[out0][out1]' -qmax 30 out.webm
Это с пережатием. Зависит от точного юзкейса, впрочем, который так и не был сформулирован, несмотря на обильный поток графомании.
Типичный опенсорс. Это норма.
http://rghost.net/private/67ps6rjSG/46c275a5025304d5d6e66a456b94efb9
На голых лоли внимания не обращайте.
На выходе хочется mp4 с нормальным плейбеком. В курсе, что есть проигрыватели, которые могут ускорять такие видео.
Обманщик, нет там никаких лолей.
PTS кадров не поменять без пережатия, по крайней мере ffmpeg'ом. Но можно попробовать сменить частоту дискретизации звука — она находится в метаданных.
Мне пережатие нормально, ведь я и собирался пережать это хендбрейком в mp4 человеческих размеров, чтобы смотреть на планшете с дивана. Но тут кто-то старательно всё запорол - явно чей-то продвинутый консольный кастом.
А у меня банально нет ни знаний, ни желания разбираться в опциях. Вы тут сто тредов же уже обсуждаете, как наложить музыку на жипег. Явно разобрались во возможных настроечках для более правильного накладывания.
Это должно было быть порнофильмом.
>Но можно попробовать сменить частоту дискретизации звука
Чтобы оно играло в два раза медленее? Наркоман что ли? Аудио там нормальное, это видео надо ускорять.
Т.к. видео-фреймы мы выкидывать не можем (они друг на друга ссылаются), надо менять время. Если посмотреть в спеку по FLV контейнеру, то у каждого пакета есть свой timestamp:
https://en.wikipedia.org/wiki/Flash_Video#Packets
https://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf (FLV Tag)
Теоретически, если каждому фрейму поставить туда значение в два раза меньшее, возможно будет играться как надо. Только скорее всего скрипт с байтоёблей придётся писать самому.
Вот у них и спрашивай.
Не знаю, я вот делал всё экзактли как в факе, но превью не получилось поставить.
Здесь пояснять в чём дело не хотят или хотя бы показать своё видео с превью. В бэ не сижу.
Этот вариант мне ничего не даёт, я уже попробовал всё простое из гугла. Забил. Наверное, остается сиквенс выгнать и заново собрать видео.
Мало инфы же.
ffmpeg bla bla bla > output.txt
Аутпут на пастебин. Пастебин и саму команду запости сюда.
Ну мне пояснили, в итоге я просто не обновил ffmpeg. Если ты всю инфу предоставишь то и тебе помогут, запости ссыль на свой пост, может даже я в чём-нибудь помогу.
>Забил.
Записываю: больше никогда не трогать говно руками. Вызабил, но зря. Мог уже человеческий софт освоить за семь часов трайхардинга ради трёх нубокоманд:
ffmpeg -i input.flv -r 12 -q:v 1 %05d.jpg
ffmpeg -i input.flv -c:a copy audio.aac
ffmpeg -framerate 24 -i %05d.jpg -i audio.aac -c:v libx264 -c:a aac -strict experimental output.mp4
Враппер на Пицце: https://gist.github.com/anonymous/db5291375774c7ea0a19
Вот думаю - стоит ли попробовать склеить сиквенсы и аудиодорожки нескольких таких файлов, или уже проще поступить на кафедру видеомонтажа, отучиться там пять лет, освоить профессию и тогда уже склеить сиквенсы, сэкономив себе кучу времени.
>jpg
Ты совсем там наркоман? Я уже не говорю о том, что оно у тебя в итоге два раза пережалось.
>враппер
>пицце
Ну точно наркоман.
Я ебал твою мать.
А мог бы просто выполнить:
ffmpeg -i 1-3.flv -vf setpts=PTS/2.5 -c:v libx264 -crf 18 -preset veryslow -c:a copy -y fix.mp4
И кто после этого пердолик?
И как мне сразу в голову не пришло выполнить ffmpeg -i 1-3.flv -vf setpts=PTS/2.5 -c:v libx264 -crf 18 -preset veryslow -c:a copy -y fix.mp4 - сам не пойму.
Чем отличается от трёх команд выше, кстати? Я вижу там в полтора раза больше сущностей, - ещё +4 часа безудержного веселья. (Помимо того, что оно не работает.)
Лол, на маках 10 бит на компоненту на выходе не поддерживается в принципе. И после этого всякие фотографы ещё выёбываются со своим яблочным говном. В линуксах и виндах вот всё прекрасно работает (любая карточка ATI или NVIDIA Quadro + DisplayPort 1.2 + соответствующий монитор).
Решил заебаться и подождать три часа ради восьми секунд с двумя проходами.
Получил пикрилейтед.
С тех пор все остальное с такими же артефактами.
Причем, это в MPC, в VLC вообще не воспроизводится
> Не найден подходящий модуль декодирования:
> VLC не поддерживает аудио или видео формат "undf". К сожалению, вы не можете это исправить.
> Не найден подходящий модуль декодирования:
> VLC не поддерживает аудио или видео формат "undf". К сожалению, вы не можете это исправить.
А хром воспроизводит.
А еще они бесконечно грузятся на борды.
Модули nvenc, qsv. Только для проприетарных форматов вроде H.264/H.265 и без документации.
https://ffmpeg.org/doxygen/trunk/qsv_8c_source.html#l00028
https://ffmpeg.org/doxygen/trunk/nvenc_8c_source.html#l01415
>>1268359
Это типо баг-репорт или что? Хуею с тех кто думает что по скриншоту с артефактами им сразу же расскажут в чём проблема.
Ну так запроси дополнительную информацию.
Откуда я знаю по чему можно сразу рассказать в чем проблема?
Если бы моя maman сидела в софтаче рассказал бы.
Да. Ты зашел туда!
> Только для проприетарных форматов вроде H.264/H.265 и без документации.
Ясно, продолжу кодировать VP9 в Adobe Media Encoder, там на куде можно что угодно, да еще и прекрасный гуй в котором легко покадрово вырезать куски.
Это что ли? https://github.com/fnordware/AdobeWebM
Я боюсь тебя расстраивать, но это тупо биндинги к libvpx. Не знаю ни одной альтернативной реализации энкодера VP9, вряд ли они вообще существуют.
И, кстати, твоё магическое слово CUDA далеко не факт, что как-то поможет в кодировании. На видюхах энкодят только если блок вычисления специальный для этого есть, это как бы и не совсем на видюхе получается.
Кстати, обратите внимание на гуй здорового человек vs гуй курильщика vs гуй пердолика^W студента, изучающего питон и Qt.
Бля, с разметкой проебался. Вот ещё:
vs гуй перфекциониста vs гуй упоротого vs гуй для полных дебилов vs гуй извращенца
vs гуй истинного спермача vs гуй прыщебляди vs гуй для больных умеренной имбецильностью (IQ 35—49) vs гуй для больных тяжёлой имбецильностью (IQ 20—34)
Последние два как бы не сложней чем второй или вообще любой.
>в мс или в с
В кадрах. Время зависит от framerate видео на выходе.
>то видео легче проматывается
Ключевые кадры не только для этого.
>Почему моё видео с -g 9999 проматывается мгновенно?
Смотря что ты под этим понимаешь, в такой постановке вопроса сложно ответить. Если ты имеешь ввиду, что seek в произвольное место или перемотка на фиксированное количество кадров (exact seek в терминологии mpv) выполняется быстро, то:
1) -g = kf_max_dist задаёт максимальную дистанцию между ключевыми кадрами, точное их расположение на усмотрение кодека
2) в зависимости от видео и конкретного момента в нём, exact seek может иметь разную сложность
Точно посмотреть структуру видео и расположение кадров можно с помощью webm_info и ffprobe, см. выше примеры команд.
>Что сделать чтобы видео которое плохо проматывается, проматывалось хорошо
Уменьшить kf_max_dist. Есть ещё kf_min_dist, кстати, который делает противоположное, но обычно его лучше не трогать, кодек способен сам решить где и сколько ключевых кадров использовать; в этом суть двухпроходного режима. Вот здесь документация:
https://chromium.googlesource.com/webm/libvpx/+/c77b1f5acd09852aff1ba09d7f371728a60634d7/vpx/vpx_encoder.h#266
https://chromium.googlesource.com/webm/libvpx/+/c77b1f5acd09852aff1ba09d7f371728a60634d7/vpx/vpx_encoder.h#640
>Стоит ли тот размер что прибавляется при маленьком -g, отсутствия такой важной хуйни как быстрая перемотка видео?
Это тебе решать. Сделай два энкода, посмотри на разницу в размере, оцени, стоит ли оно того. В этом треде рассматривается энкодинг преимущественно для борд с жётским фиксированным ограничением на размер файла, так что для загрузки на борду однозначно стоит, оттого и советы в основном ориентированы на ущерб в скорости кодировании/удобства перемотки в пользу итогового размера. Ключевые кадры обычно сильно затратны по битрейту.
>Почему все советуют оставлять -g на 9999?
А это умолчание в libvpx-vp9, его и трогать даже не надо. (Если кодируешь через vpxenc, впрочем, то там будет ключевой кадр как минимум каждые 5 секунд.) В VP8 энкодят в основном статические картинки с музыкой и у libvpx kf_max_dist 128 по умолчанию, так что там лучше его поднимать. Тратить битрейт на лишние ключевые кадры в таких видео ни к чему.
>в мс или в с
В кадрах. Время зависит от framerate видео на выходе.
>то видео легче проматывается
Ключевые кадры не только для этого.
>Почему моё видео с -g 9999 проматывается мгновенно?
Смотря что ты под этим понимаешь, в такой постановке вопроса сложно ответить. Если ты имеешь ввиду, что seek в произвольное место или перемотка на фиксированное количество кадров (exact seek в терминологии mpv) выполняется быстро, то:
1) -g = kf_max_dist задаёт максимальную дистанцию между ключевыми кадрами, точное их расположение на усмотрение кодека
2) в зависимости от видео и конкретного момента в нём, exact seek может иметь разную сложность
Точно посмотреть структуру видео и расположение кадров можно с помощью webm_info и ffprobe, см. выше примеры команд.
>Что сделать чтобы видео которое плохо проматывается, проматывалось хорошо
Уменьшить kf_max_dist. Есть ещё kf_min_dist, кстати, который делает противоположное, но обычно его лучше не трогать, кодек способен сам решить где и сколько ключевых кадров использовать; в этом суть двухпроходного режима. Вот здесь документация:
https://chromium.googlesource.com/webm/libvpx/+/c77b1f5acd09852aff1ba09d7f371728a60634d7/vpx/vpx_encoder.h#266
https://chromium.googlesource.com/webm/libvpx/+/c77b1f5acd09852aff1ba09d7f371728a60634d7/vpx/vpx_encoder.h#640
>Стоит ли тот размер что прибавляется при маленьком -g, отсутствия такой важной хуйни как быстрая перемотка видео?
Это тебе решать. Сделай два энкода, посмотри на разницу в размере, оцени, стоит ли оно того. В этом треде рассматривается энкодинг преимущественно для борд с жётским фиксированным ограничением на размер файла, так что для загрузки на борду однозначно стоит, оттого и советы в основном ориентированы на ущерб в скорости кодировании/удобства перемотки в пользу итогового размера. Ключевые кадры обычно сильно затратны по битрейту.
>Почему все советуют оставлять -g на 9999?
А это умолчание в libvpx-vp9, его и трогать даже не надо. (Если кодируешь через vpxenc, впрочем, то там будет ключевой кадр как минимум каждые 5 секунд.) В VP8 энкодят в основном статические картинки с музыкой и у libvpx kf_max_dist 128 по умолчанию, так что там лучше его поднимать. Тратить битрейт на лишние ключевые кадры в таких видео ни к чему.
>1) -g = kf_max_dist задаёт максимальную дистанцию между ключевыми кадрами, точное их расположение на усмотрение кодека
>кодек способен сам решить где и сколько ключевых кадров использовать; в этом суть двухпроходного режима.
Насколько я понял, по дефолту -g=inf, точнее ключевой кадр один и он в начале видео, но ты говоришь так будто это не так. Под проматыванием я имею в виду нажатие в mpv на полоску которая отражает положение кадра относительно длительности видео, хз как она называется. Алсо, я перекодировал видео в котором тормозило проматывание, стало всё нормально, вес не особо изменился. И ещё, что писать чтобы кодировало без потерь с тем же битрейтом? -crf 0 -b:v 0 в итоге приводят в битрейту в 7000k, из исходных 517k.
>Насколько я понял, по дефолту -g=inf, точнее ключевой кадр один и он в начале видео, но ты говоришь так будто это не так
Это максимальная дистанция. Где расположить ключевой кадр, если не задан kf_min_dist, решает кодек. А он ставит там, где это даст наибольший эффект с точки зрения экономии битрейта. Если сцена полностью меняется, то INTER всё равно не работает (нечего брать из предыдущих кадров), поэтому в точке смены сцены ставится ключевой кадр (INTRA only).
>И ещё, что писать чтобы кодировало без потерь с тем же битрейтом?
Так не получится. Либо пережатие с потерями, либо лосслесс с диким битрейтом. Если поставить тот же битрейт и перекодировать второй раз, то часть информации потеряется. Это особенность работы большинства кодеков - они не залезают во внутренности предыдущего энкода, а воспринимают видео как последовательных набор несжатых картинок; с каждым последующем пересжатием видео будет что-то терять.
Теоретически, если знать внутренности VPx, можно попробовать пересобрать кадры и блоки так, как тебе нужно, ничего не выкидывая. Но готовых утилит для этого нет и, я боюсь, что так хорошо знает кодек только 5-10 человек вообще. Можешь изучить и помочь в разработке vpxview.
>что писать чтобы кодировало без потерь с тем же битрейтом?
Перекодировка всегда с потерями.
>-crf 0 -b:v 0
Это дохрена охерительное качество, надо ебучесть шакалов повышать же.
Тебе нужно уложиться в размер 6144 Кб, для этого нужно выбрать приемлемый аудиобитрейт и знать длительность видео. Далее по простой формуле рассчитывай видеобитрейт: размер конечного файла в килобайтах умножай на восемь отнимай от этого аудиобирейт в килобитах в секунду умноженный на длительность видео в секундах и дели всё на длительность видео в секундах. Для vp9 можно видеобитрейт на 9% завысить - он почему-то жмет всегда меньше.
Еще можно жать на глаз, для этого ставишь -b:v 0 и играешься с -crf, только чтоб сразу угадать что поставить нужен опыт.
Т.е. всё-таки ключевой кадр не один, понятно теперь. Можешь пояснить в чём всё-таки разница между пикрелейтедом и https://2ch.hk/b/src/95681341/14348773964350.webm помимо битрейта и звука? 20 секунд вырезал для примера, пикрелейтед проматывается идеально, второе видео по ссылке проматывается плохо, выкладываю его всё, т.к. если отрезать 20 секунд, то промотка относительно нормальная. надеюсь мочер не удалит
>Можешь изучить и помочь в разработке vpxview.
Ты переоцениваешь мой интерес к этому.
Спасибо конечно, но я вроде умею уже кодировать вебм, мы тут разбирались со скоростью проматывания и ключевыми кадрами.
Ну кое-какую информацию можно с помощью webm_info собрать, выже уже упоминал. Например:
$ ffmpeg -i big.webm -c copy -t 20 -map v big-cut.webm
$ webm_info -i big-cut.webm -all > big-cut.txt
http://pastebin.com/SgNnpZD1
$ ffmpeg -i small.webm -c copy small-remux.webm
$ webm_info -i small-remux.webm -all > small-remux.txt
http://pastebin.com/0iCbkdKe
$ diff -u small-remux.txt big-cut.txt > diff.txt
http://pastebin.com/AxxMAeep
$ grep -hc key:1 big-cut.txt small-remux.txt
1
12
$ grep -hc key:0 big-cut.txt small-remux.txt
658
648
$ stat -c %s big-cut.webm small-remux.webm
1127067
1358187
Как видно, у маленького намного больше ключевых кадров и как результат размер на 230 килобайт больше. (Кстати, если не перемуксить, то у small.webm будет меньше неключевых кадров и позиции другие; как я понимаю, из-за этого: http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2425 )
Ну, тебе может и видно, но мне без фразы key frame вообще ничего не видно. Похоже, та вебмка не в ffmpeg'е делалась, поэтому такая хрень с ключевыми кадрами. Спасибо за пояснения.
Ключевые кадры в выводе webm_info представлены как key:1. grep -c показывает их количество (в первом 1, во втором 12). С неключевыми аналогично.
Проверить очень просто - mpv big-cut.webm и RIGHT вызовет закрытие видео, mpv small.webm и RIGHT перемотает на ближайший кейфрейм, т.к. их в этом отрезке больше, чем один. Никакой хрени нет, просто в случае с small.webm ключевых кадров больше.
В small.webm я насчитал 3 кей фрейма, в big-cut.webm пишет вот это
>[mkv] Corrupt file detected. Trying to resync starting from position 10484322...
И на 3% процента дальше листает, но листается только звук, видео зависает. Так вот, почему у меня 3 кей фрейма, а у тебя 12? И почему вебмка не закрывается, как ты сказал? Извини, если я надоел со своими вопросами
>В small.webm я насчитал 3 кей фрейма
Как считал?
>И почему вебмка не закрывается, как ты сказал?
>но листается только звук, видео зависает
Похоже, поведение слегка изменилось. У меня просто версия из гита. Вот здесь подробности: https://github.com/mpv-player/mpv/issues/1823
>Как считал?
Стрелочкой вправо. На 06.840, 12.178, 18.618, если на 18.618 начать назад листать,тайминг съезжает. Короче, он не по кейфреймам листает.
Так у тебя RIGHT по умолчанию это +5 секунд. Соответственно, ближайший кейфрейм будет на 6.84, всё правильно. Вот все ключевые кадры в том отрезке:
$ grep key:1 small.txt
Block: type:V frame:I secs: 0 @_payload: 459 size_payload: 65 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:0.033 @_payload: 526 size_payload: 65 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:3.704 @_payload: 166387 size_payload: 74848 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs: 6.84 @_payload: 418297 size_payload: 5616 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:6.874 @_payload: 423932 size_payload: 8959 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:7.941 @_payload: 487063 size_payload: 33893 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:9.943 @_payload: 706353 size_payload: 20568 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:11.545 @_payload: 790310 size_payload: 17423 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:12.179 @_payload: 828088 size_payload: 26779 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:13.013 @_payload: 898252 size_payload: 12080 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:18.619 @_payload: 1246250 size_payload: 6386 key:1 v:0 altref:0 errm:0
Block: type:V frame:I secs:19.319 @_payload: 1280433 size_payload: 15945 key:1 v:0 altref:0 errm:0
Тогда всё ясно, я забыл просто про 5 секунд по дефолту, почему-то подумал что он просто по кейфреймам листает.
>Похоже, поведение слегка изменилось.
А, нет, не менялось. Это если без звука открыть, то закроется, т.к. с точки зрения mpv дальше играть нечего.
Вообще, фиг знает почему в длинном видео 1 кейфрейм на почти 3 минуты, там сцен-то много. Наверно, достаточно altref/golden фреймов или просто опции использовались нестандартные при кодировании.
Хотя бы примерно можешь сказать какой -g ставить чтобы проматывалось нормально? А то сейчас у меня вебмка тоже сделалась с 1 ключевым кадром в начале, длиной в 72 секунды.
Спасибо, потесчу. Неплохо было бы это в вики написать, это можно в пару строчек уместить.
Я с разными видосами пробовал, но везде вылезает такая штука как на пике, что не так ?
Попробуй положить файл куда-нибудь, чтобы путь был без кириллицы - десктоп находится в папке юзера, а у тебя юзера зовут "Пашей". Например, в С:/govno/vidos.mp4
ноуп, так не сработало, дело именно в сабах, то есть без сабов оно куда угодно конвертируется.
Юзверя тогда создай такого, чтобы путь к его домашнему каталогу был без кириллицы.
Спасибо, анон, действительно помогло.
Ты врешь. Вот гифка с Мяшей в 4 кадра, растяни ее на 7 минут в webm, чтобы качество было прежним и размер был не более 500 килобайт.
Почему это мерзкое ебало пидорахи и некоторые пиздоглазые считают няшным?
Это же эталон уродливости.
Наверное потому что у тебя другой вкус. Вот запость свою няшку и ее обязательно кто-нибудь да обоссыт.
Знаю, что безрукий, но никак не могу нормально перегнать видео на 5 метров в вем. Вернее могу, но вебм получается на 10 метров, а это много. Может кто-то помочь мне переконвертировать? Вот это видео
http://rghost.net/6bFkqltR7
Спасибо
Ясно.
Он перепутал, -g 9999 надо, который по умолчанию. Проблема в том, что ты дохуя хочешь - в VP9 нельзя ссылаться на такое количество кадров.
Делаем раз:
ffmpeg -i 14349963431350.gif -frames 1 1.gif
ffmpeg -i 14349963431350.gif -frames 2 2.gif
ffmpeg -i 14349963431350.gif -frames 3 3.gif
Энкодим гифки по очереди и делаем два:
webm_info -i myash.webm -all | sed -rn 's/.(size_payload: [0-9]+).*/\1/p'
И видим, что более чем два кадра держать про запас нельзя - приходиться перекодировать.
А ты возьми непожатое видео, с камеры или зайца того же с сайта xiphстеров и проверь.
А то у тебя окажется, что и компрессоры не сжимают, т.к. почему-то после первой компрессии лучше не становится, а какие-нибудь исполняемые файлы или фильмы вообще могут больше стать.
Почему лучше кодировать видео отдельно от звука? Битрейт опуса или ворбиса аналогичен обычному мп3 по качеству?
Я не перепутал. Просто он даже не смог прочитать про ключевые кадры чуть выше и спрашивает как это включить. Очевидно что это изначально включено, чуть выше даже есть строчка с именно таким содержанием. Если же видео почему-то кодируется со слишком малым кол-вом кейфреймов, то можно через -g их увеличить, например -g 1 - сделать все кадры ключевыми, мне похуй что у него там получилось бы. Правда, под его запрос лучше -g 5, лол.
>ты дохуя хочешь - в VP9 нельзя ссылаться на такое количество кадров
В чем проблема была реализовать это?
Спроси в codec-devel. К тому же черновик по бистриму VP9 говорит немного другое, может что-то нужно накрутить, хз.
Кстати, откуда у тебя такие обширные познания? Как-то связано с работой или просто ради интереса? Алсо, лучше просто посылай таких как я читать документацию к ffmpeg'у, альтруизм до добра не доводит, это точно.
Лол, офигел что ли. Я первую вебмку 2 месяца назад сделал, как libvpx 1.4.0 вышел, до этого ffmpeg'ом практически не пользовался. Почитал немного документации и пару раз в сорцы заглядывал, только и делов. Теперь купил wide gamut монитор и изучаю color management из-за этого говна с цветовыми пространствами, лол. Бесит когда что-то не понимаю.
>Лол, офигел что ли.
Это ты к чему?
>Я первую вебмку 2 месяца назад сделал
Ну значит это просто с виду кажется сложным хотя скорее так кажется потому что я даже не начинал читать документацию, лол
По самим командам вообще всё просто - даже если и нет документации, посмотреть что конкретно оно активирует в либе элементарно. А вот кодеку не иметь подробной документации, с описанием байстрима, high-level обзора и углубления в некоторые моменты (вроде такого: https://www.academia.edu/5893478/Intra_Compression_Efficiency_in_VP9_and_HEVC ) - это, конечно, совсем беда. Я особо не смотрел, но мне кажется, что по H.265 уже в разы документации больше, хотя VP9 старее. Ну и утилит которые показывают все gory details очень не хватает. В хекс-редакторе сидеть и смещения высчитывать это вообще не вариант.
Что делать если внешние субтитры не ставятся? И тайминг видео съезжает. Такой код :
ffmpeg -hide_banner -i video.mkv -ss 8:20.429 -t 2.2 -map 0:v -vf ass=sub.ass -pix_fmt +yuv420p -c:v libvpx-vp9 -b:v 800k -qmax 58 -pass 1 -vf scale=-1:540:flags=lanczos -f null -y NUL
ffmpeg -hide_banner -i video.mkv -ss 8:20.429 -t 2.2 -map 0:v -vf ass=sub.ass -pix_fmt +yuv420p -c:v libvpx-vp9 -b:v 800k -qmax 58 -pass 2 -vf scale=-1:540:flags=lanczos video.webm
Разобрался уже, вроде.
Проиграл. Это клиника.
Нахуя из mp3 -wav?
ffmpeg
Ты прав, но не выставляется fps, ну да ладно, и еще какая-то платная параша вроде треть фильма сделала без перегрузки проца, тоесть он не грузился на 100 и не визжал от перегрева спикер
Выставляется там всё, по дефолту стоит "Same as source". Читай настройки стандартного пресета. Ещё я бы рекомендовал стереть из пресета разрешение видео, снять и обнулить автоматический Crop (соснул из-за этого вчера), снять галку с создания Chapter-ов и сохранить это как новый пресет, сделав его дефолтным.
Не, с залупингом у любых поточных кодеков проблемы: буфер декодера у них делается всего на пару-тройку кадров (предыдущий, altref и golden в случае с VP8/VP9; предыдущий и несколько B-фреймов в случае с H.264).
Вот если бы с помощью какого-нибудь ordered chapters от mkv можно было бы организовать seek назад…
А это что?
https://tools.ietf.org/html/draft-grange-vp9-bitstream-00#section-2.2.2
>but for any particular frame the three available references are dynamically selectable from a pool of eight stored reference frames
А это что?
https://tools.ietf.org/html/rfc6386#section-5
>Each macroblock is predicted using one (and only one) of four possible frames.
Ким и Буран — Робот.
>>1273276
> Вот если бы с помощью какого-нибудь ordered chapters от mkv можно было бы организовать seek назад…
Ещё идея: запихать раскадровку всего лупа в altref frame и наполнять кадры из неё большими блоками.
Вопрос только в том, может ли разрешение altref фрейма быть другим.
TANK YOU
Что несёшь? Какие нахуй ordered chapters? seek назад прекрасно и так работает. Какая нахуй раскадровка? Ты сделай просто 3 последовательных фрейма в лупе с минимальным размером, а потом рассуждай.
Пинганул уже раз сто, все пакеты приходят, в чем проблема?
В автозагрузке ток строка
Помогите нуфагу
Пошёл нахуй, даун. Прочитай ещё раз первый абзац первого поста.
Ладно, сделал уже через Tag&Rename, думал как-то через MediaInfo можно.
У тебя там что, звезда лоб прижгла?
> Какие нахуй ordered chapters?
Эта хуйня позволяет определять порядок воспроизведения фрагментов дорожек, в т.ч. дёргать их из лежащих рядом файлов.
Предполагаю, что при помощи неё можно заставить видеодорожку воспроизвестись несколько раз.
Только вот в webm это вряд ли притащили.
> seek назад прекрасно и так работает.
Речь не о ручной перемотке, а о непоследовательном воспроизведении видеодорожки согласно плейлисту в метаданных контейнера.
> Какая нахуй раскадровка?
Обыкновенная: берёшь все кадры лупа и ставишь в ряд. Но для реализации придётся форкать libvpx, да.
> Ты сделай просто 3 последовательных фрейма в лупе с минимальным размером, а потом рассуждай.
Я уже понял, что не работает оно нихуя.
>Только вот в webm это вряд ли притащили.
Ну так проверил бы, хуле. Не поддерживается:
http://www.webmproject.org/docs/container/#segment-information
http://www.webmproject.org/docs/container/#chapters
>Но для реализации придётся форкать libvpx, да.
Не обязательно. По стандарту там много чего есть: https://tools.ietf.org/html/rfc6386#page-5
> Occasionally, at very low datarates, a compression system may decide
> to reduce the resolution of the input signal to facilitate efficient
> compression. The VP8 data format supports this via optional
> upscaling of its internal reconstruction buffer prior to output (this
> is completely distinct from the optional postprocessing discussed
> earlier, which has nothing to do with decoding per se). This
> upsampling restores the video frames to their original resolution.
> In other words, the compression/decompression system can be viewed as
> a "black box", where the input and output are always at a given
> resolution. The compressor might decide to "cheat" and process the
> signal at a lower resolution. In that case, the decompressor needs
> the ability to restore the signal to its original resolution.
Т.е. распаковать оно сможет и по идее должно даже играться в плеерах, а вот упаковщик придётся писать свой. Надо только осилить их недокументированный битстрим и понять почему сейчас автоматика косячит и можно ли руками поправить так, как надо. Я вообще не понимаю как можно рассуждать о кодировании, если никто нихуя не знает, как оно внутри работает. Типичная протекающая абстракция.
>>1273381
>>1274000
Сам CTO On2 снизошёл ответить :3
http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2465
Короче, как я и думал: стандарт позволяет, но текущая реализация с таким плохо справляется. Значит что руками таки можно эффективно скодировать луп до 8 фреймов в длину. А с хаками может и больше.
Кто разберётся в битстриме и напишет нормальный энкодер для лупов? Думаю, большую часть работы можно через libvpx сделать (INTRA, сериализация), а остальное либо допатчив libvpx, либо нашлёпкой сверху.
Жаль, моё знание английского пока так общаться не позволяет — не умею грамотно писать на нём.
Страннота. Товарищ утверждает что поиск картинки по 8 кадрам займёт дохрена ресурсов:
> However, this would require a lot of specialist code and would mean searching all 8 buffers each frame, which would have a massive hit on encode time if this type of cyclic buffer usage were generalized.
Но можно же искать не по полным кадрам, а по заранее подготовленным их уменьшенным вплоть до перцептивых хэшей длиной несколько байт копиям. Я что-то упустил?
> Кто разберётся в битстриме и напишет нормальный энкодер для лупов? Думаю, большую часть работы можно через libvpx сделать (INTRA, сериализация), а остальное либо допатчив libvpx, либо нашлёпкой сверху.
Я пока что-то не очень готов. Но хотелось бы, да. Ещё хотелось бы написать утилиту для быстрой перепаковки VP9 с повышением квантизации.
>>1274000
> Т.е. распаковать оно сможет и по идее должно даже играться в плеерах
Ну это да, оно ещё в VP8 было. Игрался с этим в прошлом году, но не нашёл ему практического применения, вебмрелэйтед.
Вопрос в том, не нужен ли для смены разрешения кейфрейм, может ли отдельный altref-фрейм большего разрешения встречатся посреди остальных кадров.
Кстати, раз ты упомянул тытрубу, то не поскажешь ли, есть возможность оттуда вытаскивать 4K ?
З.Ы. Венда не тянет через браузер нормально, потому хочу сохранить и попробовать в плеере посмотреть.
>Я что-то упустил?
Ну так спроси у него там. (Будто бы я умею грамотно писать. Берёшь и пишешь, всем похуй на ошибки. Это технический язык, а не литературный.)
Скорее всего ответит про усложнение либы и «специализированный код». Или просто пошлёт без пруфа реализации с адекватной скоростью.
>Вопрос в том, не нужен ли для смены разрешения кейфрейм
Я имел ввиду немного другую фичу — upscaling средствами декодера. Правда, про downscaling что-то не нашёл.
>>1274923
Что там писать? Это однострочник на любом скриптовом. youtube-dl -j, ищешь по размерам в выводе, для которых размер не указан делаешь HEAD-запрос на url, складываешь размеры аудио- и видео-дорожки, скачиваешь. Можно ещё качество аудио под размер подгонять.
А вообще, с учётом того, что --max-filesize опция уже есть, лучше это заслать в апстрим, скорее всего примут.
>>1274960
youtube-dl по умолчанию bestvideo+bestaudio скачивает. Если что, 4K это форматы 266, 138, 313.
Огромное спасибо, добрый человек.
Пидор, отмечай к какому посту ты комментируешь, я что должен весь тред листать и разбираться о чем вы тут базарили?
Лол, я просто про создание вебм в целом говорил. Был сонный, поэтому написал криво.
Короче, допустим, лежит у меня на говнонетбуке рипчик фильма в 720п, объёмом 6.5гб. У нетбука двухядерный атом вместо процессора, и встроенный чип с то ли 64мб, то ли 128мб памяти вместо видухи.
Я могу из этого фильма нарезать вебмку в 2 минуты в нормальном качестве, юзая консольку ffmpeg, без получения бсода или диких лагов, пока он это делает на протяжении получаса? Это ж обычная конвертация, она всегда требовала железо хоть с каким-то намёком на мощность, не?
Ты предлагаешь нам купить такое же железо и проверить за тебя? Попробуй и отпишись
А почему должно не получиться? Вычисления на видеокарте практически никто из кодеков не использует. Боттлнек, естественно, будет в CPU, возможно ещё по памяти. Если VP9 сильно долго будет, то кодируй в VP8. libvpx-vp9 и на зеонах тормозит, лол, особенно до 1.4.0.
Допустим, так будет делаться одна вебм-ка:
ffmpeg -i input.mp4 ^
-b 500K ^
-r 60 ^
-s 640x360 ^
out.webm
А как при тех же правилах поделить видео на две и больше вебм-ки? Какая конструкция будет?
Ах, да. Ещё один вопрос: предоставить все мощности процессора под конвертацию? А то по умолчанию только на 50% нагружается процессор.
> Так-с, первый вопрос >>1275222 решил сам.
Обрезка до кодирования не всегда оптимальна. Часто лучше пожать большой файл, а потом разрезать его пополам при помощи mkvmerge, тогда битрейт будет распределён лучше. Правда, при этом иногда случается так, что ближайший ключевой кадр ставится далеко от середины, и придётся переделывать.
mkvmerge --split=6000k in.webm out.webm
> А вот второй >>1275240 всё ещё волнует.
Чтобы кодировать несколькими потоками, нужно нарезать видео на полосы, а это снижает эффективность кодирования и вообще не всегда возможно. Ищи ITT инфу про многопоточность.
> mkvmerge --split=6000k in.webm out.webm
mkvmerge --split 6000k in.webm -o out.webm
Разрежет по ближайшему ключевому кадру после указанного объёма, если выйдет больше лимита — цифру надо снижать.
Помогите, не воспроизводится звук webm-ок в VLC (не скачивается кодек). Через браузер звук есть. Как решить?
Не спеши. Возможно эта проблема только с некоторыми файлами, а не со всеми подряд.
>-report
Спасибо.
>>1276029
>bourne shell
Шиндовс у меня.
Сосоны, ещё одна такая проблема. Посмотрите на первый и второй пик. Битрейт вначале резко скачет, потом опускается до низкого значения и уже постепенно доходит до заданного. Т.е. первые кадры битрейт 500-1000 и только вконце доходит до нужных 3000. Никакого нормального распределения битрейта нету.
Кодирую двумя проходами, согласно гайду в вики треда. На третьем пике, собственно, консольные команды. Я где-то ошибся?
>Что тебе не нравится? Битрейт распределяется согласно сложности видео.
Но суть в том, что он всегда постепенно увеличивается, а скачет только на первых двух-трёх кадрах. Ты хочешь сказать, что сложность всех тех видео, из которых я делал вебм-ки, постепенно увеличивалась от начала к концу? Как-то не правдоподобно.
Потому что вначале идут ключевые кадры. Читай выше и смотри сам с помощью утилит размер и тип кадров.
>Потому что вначале идут ключевые кадры. Читай выше и смотри сам с помощью утилит размер и тип кадров.
Т.е. подобное распределение битрейта - нормальное явление?
Ты чего хочешь добиться-то? Ты какую проблему решаешь?
Значение bitrate ffmpeg считает, скорее всего, исходят из текущего размера и текущей продолжительности. Почему вначале большие затраты битрейта тебе уже ответили. Дальнейшее распределение зависит от конкретного видео и кодека. Дампи размеры кадров, строй графики среднего значения в зависимости от продолжительности видео, сравнивай с тем, что ffmpeg пишет.
Если интересно почему для определённого кадра в определённом видео кодек затратил определённое число байт, то приводи конкретику, будем смотреть.
Ясно, спасибо за ответы.
>Ты чего хочешь добиться-то? Ты какую проблему решаешь?
Просто мне показалось странным такое распределение, поэтому и решил спросить в треде.
Добра тебе ОП! Хорошо что я нашёл это тред.
Что ты можешь сказать про AVS Video Converter 9.0? Я только недавно занялся конвертированием в WebM поэтому еще ньюфаг в этом деле. К стати удивлен что его здесь не обсуждают.
> Что ты можешь сказать про AVS Video Converter 9.0?
Погуглил. Ничего хорошего не могу сказать, к сожалению: это очередной мокрописечный гуй к ffmpeg, распространяемый, скорее всего с нарушением лицензий входящих в него библиотек.
О подобном софте в оп-посте сказано следующее:
> Пердолики с мокрописечными гуями вроде xmedia recode и прочие клепальщики распидорашенного кривопиксельного говна из порнотреда со своими воплями о ненужности консоли не нужны сами — пусть сначала научатся делать качественные вебмки, а потом уже лезут сюда с советами.
Также о нём есть несколько постов в треде, >>1244863, например.
Ничего не понял, умвр. Показывай, что ты там делаешь и что выходит (команды, логи, исходное видео, результат).
>отрезать куски аниме/порнухи
>делать качественные вебмки
>ffmpeg -hide_banner -i video.mkv -t 20 -sn -threads 4 -quality good -map 0:v -vf scale=-1:720,"ass=1.ass" -c:v libvpx-vp9 -b:v 1000k -tile-columns 4 -speed 1 video.webm
>[Parsed_ass_1 @ 0000000004f32f20] Added subtitle file: 1.ass' (9 styles, 312 events)
Сабы из контейнера накладываются без проблем, а внешние нет.
>КТО ПРИКРЕПИЛ ЭТО ГОВНО? НАХУЯ НАМ ТВОИ ЕБУЧИЕ ВЕБКИ! ГДЕ АДРЕСА ДЕПОЗИТАРИЕВ, ГДЕ ГАЙДЫ, КРЯКИ И ВОТ ЭТО ВСЕ?
Что ты несёшь?! Ты, блядь, вики не осилил? Даже, блядь, сам погуглить не можешь? Ох, развелось тут даунов.
>Как сделать в общем длинный вебм и малого веса в линуксе?
Очевидно, уменьшить битрейт до нужного значения.В вики треда написано, как считать.
>Но на двоще много вебм по 10 мин.
Не видел ни одного, если честно. Разве что вебм-ки из статичных картинок, может быть.
Даже не представляю, как нужно распидорасить 10-минутное видео с динамическим видео-потоком, чтобы вместить его в двощевский лимит.
>Пости, фигли. Тред всё равно полудохлый.
Ну вот, например. Как можно улучшить качество при том же весе? Не обосрался ли я где-нибудь?
>>1278874
Notepad++
Разметку сам формирую. А синтаксис этот блокнот сам автоматически выставил, когда я указал ему расширение .bat
Мб им не хватает шрифтов? Fontconfig настраивал?
>Что за игра?
Euro Truck Simulator 2
Милости прошу к нашему шалашу: https://2ch.hk/vg/res/11384084.html
>>1279045
>И почему радио на немецком?
Там в игре есть возможность добавлять интернет-радио. Я включаю радио той страны, в которой нахожусь в данный момент. На вебм-ке Австрия.
А что за радио? Я просто язык немножко учу, было бы интересно послушать.
Очень странные опции. В вики ж не было такого.
- Настройки видео для первого и второго проходов отличаются, это плохо.
- Кодирование аудио можно во второй проход поставить.
- Зачем crf, qmin и qmax в данном случае используются? Да ещё и такие дикие. Чтоб размер приблизить к 6 мегабайтам только? Так у тебя исходник простейший, 2M битрейт для 360p однообразного вида это как из пушки по воробьям. Здесь и 1080p, если не больше, нормально бы выглядело.
Я б сделал вот так:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 1900k -vf scale=-1:360:flags=lanczos -frame-parallel 0 -threads 8 -speed 4 -pass 1 -f null NUL
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 1900k -vf scale=-1:360:flags=lanczos -frame-parallel 0 -threads 8 -speed 1 -pass 2 -c:a libopus -b:a 64k out-1.webm
Можно даже -qmin вроде 10 добавить, чтоб зазря битрейт не тратить на такой простое видео. Или даже -b:v 0 -crf 18, мы в любом случае влезаем.
Где ты графику нашел? У тебя на скрине эффекты, но не графика: асфальт больше похож на снег, убогие модели с кучей углов, убогие текстуры с явно видным тайлингом, здания-коробки. Даже зелень убога. Из графона только небо.
vf cropdetect потом vf crop=...,scale=-1:540
А звук где?
Хуй знает, у меня вообще кропдетект пишет неверные значения, я просто в пэйнте обрезаю и смотрю размер, потом пишу кроп.
Просто ты из вконтакта. Это нормально, у вас у всех так. Дил виз ит.
Эффективнее сначала кропать, а потом скэйлить: масштабирование — ресурсоёмкая операция. Правда, по сравнению с кодированием VP9 это полная фигня.
>Очень странные опции. В вики ж не было такого.
Не-а, в вики как раз-таки всё именно так.
>- Настройки видео для первого и второго проходов отличаются, это плохо.
В гайде по двухпроходному кодированию они тоже отличались. Вот я и подумал, что в первом проходе нужно вставлять только основные настройки, а остальные нету смысла.
>- Кодирование аудио можно во второй проход поставить.
В гайде, опять же, аудио отдельно приклеивалось к вебм-ке.
>- Зачем crf, qmin и qmax в данном случае используются? Да ещё и такие дикие.
Вот это уже моя самодеятельность. Да я это сделал, чтобы выжать максимальное качество и подойти к лимиту.
В общем, вики-треда вводит в заблуждение ньюфагов. Её нужно перепилить бы. Вместо таких вот примеров которые, кстати, толком там не разбираются, вводящих в заблуждение, нужно просто запилить список всех возможных команд и описание к ним, когда и как их нужно использовать. Будет в разы полезнее, чем сейчас.
>Я б сделал вот так:
>ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 1900k -vf scale=-1:360:flags=lanczos -frame-parallel 0 -threads 8 -speed 4 -pass 1 -f null NUL
>ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 1900k -vf scale=-1:360:flags=lanczos -frame-parallel 0 -threads 8 -speed 1 -pass 2 -c:a libopus -b:a 64k out-1.webm
Спасибо за ответ. Я сейчас скопипастил твои команды и сделал вебм-ку. И я был очень удивлён, когда увидел на выходе вебм-ку размером ~4700кб при том, что битрейт только увеличился по сравнению с моими настройками. В среднем, ~2100 вместо ~1900.
Поясни мне за эти настройки:
>:flags=lanczos
Это что такое?
И вот ещё:
>-frame-parallel 0 -threads 8 -speed 4
Я понял, что это настройки использования мощностей процессора. Можешь поподробнее разобрать их?
Есть даже версия для линукс. shareware, правда.
Есть ещё онлайн-версия: http://forum.doom9.org/showthread.php?t=165339
Но у меня не открывается.
В том пейпере с academia.edu достаточно много интересных деталей, я и не знал, что так тема уже хорошо изучена. Для HEVC вон вообще уже дофига инструментов, я даже не говорю про AVC. Но свободный анализатор всё равно бы не помешал.
> - Настройки видео для первого и второго проходов отличаются, это плохо.
Из отличающихся параметров на первый проход влияет только -r. Настройки контроллера ширины потока, -lag-in-frames и -auto-alt-ref на него никак не влияют, проверено сравнением контрольных сумм лог-файлов.
> - Кодирование аудио можно во второй проход поставить.
При этом ffmpeg укладывал opus в контейнер менее эффективно. Да и вообще по инструкции в вики от размера звука считается битрейт видео (хотя, возможно, стоит сделать наоборот).
> - Зачем crf, qmin и qmax в данном случае используются? Да ещё и такие дикие. Чтоб размер приблизить к 6 мегабайтам только?
Методом проб и ошибок в /b/ было выяснено, что при контроле ширины потока crf'ом у libvpx-1.3.0 результат получается лучше.
Лол:
> I see they are still illegally static linking to FFmpeg.
> If you look at the binary in a hex or text editor, you see all of the FFmpeg symbols, strings, and even the GPL license string. You can also match the function disassembly.
Штука, конечно, интересная, но не была бы она мокрописечной…
>Настройки контроллера ширины потока, -lag-in-frames и -auto-alt-ref на него никак не влияют,
Всё-таки, если качественно будет существенно отличаться (через crf/qmin/qmax и т.д.), подозреваю, что кодек может решить по-другому ключевые кадры распределить. Хотя, для того чтобы с уверенностью говорить, надо бы конечно разобраться в формате этого лога.
>При этом ffmpeg укладывал opus в контейнер менее эффективно.
>Да и вообще по инструкции в вики от размера звука считается битрейт видео
Тогда уж mkvmerge и подгон аудио под размер (уже исходя из получаемого итогового размера вместе с оверхэдом муксера и точным размером аудио-трэка, т.к. у vorbis/opus тоже vbr). Аудио можно так подогнать с использованием дробного битрейта, что будет undershoot всего на десятки/сотню байт.
ffmpeg используется исключительно для удобства, так что смысла в отдельной команде нет.
>Методом проб и ошибок в /b/ было выяснено, что при контроле ширины потока crf'ом у libvpx-1.3.0 результат получается лучше.
Это я уже слышал. Во-первых, когда 1.3.0 был, а во-вторых, логически я этого понять не могу (и уже писал про это) — что ж хорошего, если качественно по всему видео будет одинаково хреновое, если есть возможность простые сцены сэкнодить качественно с переменный квантайзом? А в-третьих, чтобы такое утверждать нужно собрать неслабую статистику, т.к. это всё сильно будет упираться в исходные видео.
>>1281005
Вот в этой сборке ffmpeg отдельно лежит и, похоже, LGPL версия: http://www.codecian.com/downloads/codecvisa.tar.gz
Всё ещё не полностью требования LGPL удовлетворяет (нет COPYING даже), но уже хоть что-то.
Пофиг на самом деле на такие мелочи, выбирать не приходится. Хоть в контейнер/виртуалку можно поставить и нормально проанализировать видео. Хотя, так у меня нет мотивации свой анализатор писать.
От интела ещё всякие штуки есть:
https://software.intel.com/en-us/intel-video-pro-analyzer
https://software.intel.com/en-us/intel-stress-bitstreams-and-encoder
https://software.intel.com/en-us/intel-media-server-studio
Тоже платные.
Сука, мне аж завидно стало. Сделали даже круче, чем я хотел.
>On the BlowingBubbles sequence (Fig. 11) the HM encoder is 20.7% moreefficient than the VP9 encoder. Limiting HM intra prediction modes to 10decreases HM compression efficiency by 11.8%. When we turned SAO off, theHM compression efficiency was further reduced by 2.4%, but still the modifiedHM encoder is 6.5% more efficient that the VP9 encoder.
>In our experiments we tried to figure out the main reasons for HEVC tobe more efficient in intra coding compared to VP9. We showed that moreangular intra prediction modes provide the most significant influence on intracompression efficiency (about 7.7% bitrate savings). The HEVC SAO post-processing stage has less impact (about 1.3% bitrate savings). Finally themodified HM encoder with 10 intra prediction modes and without SAO post-processing is still about 7% more efficient compared to the VP9 encoder. Weassume this is due to the adaptive HEVC entropy coding. Syntax-adaptive BAC should be more efficient than frame-adaptive bool-coder, and this topicis a subject for further research.
Дочитал-таки пейпер. VP9 ни о чём. Конечно, всё ещё зависит от реализации и возможно с дополнительными intra modes энкодинг будет более затратен по ресурсам, но факт есть факт — VP9 тупо сливает по фичам HEVC. Фигли на бордах H.265 не разрешают?
"C:\ffmpeg.exe" -i "C:\video.mp4" -i "C:\sound.wav" "C:\result.mp4"
Пути и названия падсибя каштомизируй.
Тааак, сук, нахуй, бля. А где теперь этот видос? Или тут еще нужно какую-то команду прописать типа чтобы сохранилось?
Неплохое введение в теорию компрессии видео/аудио и базовые алгоритмы.
Я тут внезапно понял, что документация по современным кодекам вроде VPx/HEVC дофига деталей пропускает, т.к. предполагает, что читатель отлично знает как работает INTRA/INTER и т.д. Т.е. чтобы понять как работает HEVC, надо вначале изучить AVC, а перед этим теорию компрессии и немного матана. Благо по AVC написано достаточно.
Мимокрокодилам ничего не понятно и ничего не светит короче, как обычно. Ссу в рот всей современной науке и технологии, построенным по принципу накопления сведений и усложнения путём добавления новых слоёв абстракций.
В "C:\result.mp4", очевидно. Если ничего не менял. Если останутся вопросы - первым делом запости всю команду сюда.
Все туториалы отныне нужно начинать сразу с основ электротехники, переходя к компьютерному железу, низкоуровневым языкам и далее, чтобы у читателя сформировалась полная картина.
Можешь два варианта попробовать:
1) -qmin 10 или -qmin 15, сильно выпереть не должен
2) Просто отрезать по ключевым кадрам проблемные места и сэнкодить их отдельно, а затем склеить
>>1281195
Нет, нужно избавиться от всего легаси, перефигачить все абстракции, придумать новые и простые с учётом последних данных.
Только никто этого делать, ясен фиг, не будет. Worse is better, как обычно.
Но когда инопланетянам на вояджере табличку посылали, нормально вот придумали как объяснить. Если бы вообще всё так объясняли и все туториалы/документация/книги так выглядели, было бы отлично. А то сидят в своей области, сами разобрались, а на других похуй. Я вообще не вижу будущего у человечества, если все и дальше будут в свою специализацию погружаться. Без чуваков, которые способны оценить картину целиком, на стыке множества областей, никуда.
Очевидно, эти материалы не предназначены для васянов с улиц, не знающих каких-то основ. Это нормально и существует лишь один путь исправления - проходить эти базовые вещи самостоятельно. Люди не так просто учатся по 5 лет, если было бы достаточно нахвататься верхов для полного понимания. Зависимости у программ - отличная аналогия.
>избавиться от всего легаси, перефигачить все абстракции, придумать новые и простые с учётом последних данных
1) Убираем говно, 2) срём новое, такое же, 3) ?????, 4) ПРОФИТ.
Не согласен с такой категоричностью. Например, много раз находил блоги, которые отлично и просто объясняли темы, которые я раньше не понимал, хоть и неоднократно пытался изучить. И дело не в том, что они сложные, а в том, что обучение до этого было плохое и неэффективное. А у тебя (неявно) выходит, что качество учебного материала всегда одинаковое.
Я вполне допускаю существование программ обучения, которые дают мотивированному ученику такой же уровень понимания за год, как другие (старые и неэффективные) за 5 лет. Главное это понимание, факты можно всегда в справочнике найти. Понимание, к сожалению, просто так не валяется. Гугл и википедия здесь совсем не помошники, они решают совершенно другую задачу — напомнить специалисту сведения, которые он подзабыл (так называние known unknowns vs unknown unknowns).
Я не вчитывался в линк, но мне показалось, что там даётся обычный университетский курс по какой-то узкой тематике. Таких курсов студент проходит десятки, ничего удивительного в том, что они требуют, чтобы человек прошёл до этого другие.
Так-то да, если тебя учат по какой-то программе и она хорошо составлена, то всё отлично — сиди и понимай. Это был мой баттхёрт на тему того, как сложно мимокрокодилу начать заниматься и заниматься эффективно какой-либо новой для него темой. Слишком много информации, слишком много абстракций. Самому это всё ужасно долго, нудно и трудно изучать — книг много, программы нет, да и мотивация не резиновая. Обычно видео-туториалы/презентации спасают — информация с них мгновенно поглощается и составлены они как правило качественно, дают самую суть. Но не для всего они есть.
У xiphстеров нормальные презентации и видосы, кстати:
https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf
https://people.xiph.org/~xiphmont/demo/
https://people.xiph.org/~xiphmont/demo/daala/demo1.shtml
https://wiki.xiph.org/Daala#Presentations
Кто-нибудь знает ещё нормальные посты/книжки по основам? Нашёл пару книжек по H.264, так их даже фиг на торрентах скачаешь. В блог-постах обычно слишком поверхностно всё.
Есть жесткий диск с похереной виндой, который не грузится.
Хочу загрузиться с флешки, чтобы с нее посмотреть файлы на этом диске
Скачай slax, да смотри с него.
Вот по AVC нормальная вроде: https://books.google.com/books?id=ECVV_G_qsxUC
По крайней мере с картинками и подробно. Скачать можно здесь: http://ihtik.lib.ru/2013.05_ihtik_radio/
Спасибо, qmin 10 вроде как работает, битрейт получается ровно столько, сколько указано.
Еще такое интересно, не существует ли какой-нибудь магии в вп9, чтобы сложную картинку нормально пережимало? Сложная, в моем случае, это .ts запись музыкального шоу, где много световых эффектов и экран за артистами, на котором постоянно мигают лампочки, особенно это заметно при крупных планах. Понятно. что битрейту надо поддать, но, например, veryslow в случае с h264 делает заметно лучше. Использую speed 1. Еще немного пидорасит цвета, не знаю как это объяснить, но из-за общей нехватки битрейта видимо еще и цвета смазываются.
Странно что H.264 у тебя лучше выходит, VP9 его должен раза в 1.5-2 делать по качеству в среднем. Крутилок в VP9 практически и нет никаких (кроме очевидных -speed, -quality), а которые есть (вроде -aq-mode) не похоже чтобы заметно влияли. Скинь небольшой кусок, мне интересно потестить. А так - -quality best -frame-parallel 0 -tile-columns 0 могут чуть улучшить качество по сравнению со -speed 1.
Цвета в любом случае будет пидорасить. Во-первых, в 4 раза уменьшается цветовая плотность из-за субдискретизации yuv420p. Затем, ещё потери на квантовании. Ну и даже при yuv444p lossless возможны некоторые потери на операциях с плавающей точкей.
>в 4 раза уменьшается цветовая плотность из-за субдискретизации yuv420p
Хотя, здесь я наврал. С вероятностью 99% на входе будет уже yuv420p, а luma и chroma в большинстве кодеков обрабатываются отдельно. Значит на дискретизации дополнительных потерь не будет. Вот если у тебя на входе yuv444p или rgb24 какой-нибудь, то да.
У меня всё работает
охуенное качество, Спасибо пофапал
Умею только так: ffmpeg -i video.mp4 -ss 0:06 -to 0:10 out.mp4
Как склеить три файла?
Хочу сделать 8K вебмку, но нигде не могу найти сурс для нее в таком разрешении. Подскажите где без смс можно скачать 8К видео
>>1283616
-> >>1265502
>>1283729
Тестовых видео, похоже, в 8K ещё не сделали. Можешь 4K здесь скачать и апскейлить: https://media.xiph.org/video/derf/ Либо взять на ютубе настоящий 8K футаж, но он будет пожатым.
>>1283731
Что здесь ебанутого? 4K уже давно мейнстрим, 8K ближайшее будущее. Самое время тестировать кодеки и пайплайн. Я апскейлил VP9 в 8K, всё нормально работало и игралось, например.
>камера под 8k появилась пару месяцев назад
И как это противоречит тому, что я сказал? Ну и ты бы хотя бы в википедию заглядывал - в 2013 уже была камеры, а япошки с конца прошлого века успешно тему изучают.
>А доступной инфраструтуры под съемку-передачу 8K в зачатках нету
Проблемы слоупоков. Моя инфраструктура отлично под съёмку-передачу 8K подходит и весь цивилизованный мир к 8K уже адаптируется. Даже на ютубе есть 8K. В 2016, думаю, станет более-менее мейнстримом. А сейчас уже у каждого второго 4К монитор, между прочим, и Full HD это жалкий квадратик. Через пару лет 4K будет выглядеть также.
>апскейлят чтоб перед друзьшками выебнуть
Есть реальные 8K футажи. Кроме того, камера не единственный источник видео - анимацию, скринкасты, моделирумые видео никто не мешает хоть в 128K делать.
>пускай в гугл пиздуют апскейлить
Пикрелейтед.
Тестовые футажи это несжатые видео, обычно в YUV4MPEG2 формате. Никто в здравом уме кодеки не будет тестировать на футажах уже пожатых каким-то другим кодеком (но для любительских тестов - вполне). А из ютуба оригинальный футаж не вытащить.
На таких искусственных видео никто кодеки не тестирует, посмотри на коллекцию Xiph. Если надо, можно хоть в ffmpeg, хоть в блендере, хоть в любом видео-редакторе сделать или даже векторную анимацию отрендерить в нужном разрешении. Только это осбо не лучше апскейла или пожатого футажа в плане сравнения/тестирования.
Вот если взять исходники проекта блендера какого-нибудь 3D мультика и потратить N месяцев на рендеринг коротенькой сцены в 8K, то да, был бы нормальный футаж. Но проще купить 8K камеру и самому снять или может продаётся где уже. Аплойдер Ghost Towns на ютубе предлагает на почту писать.
>ffmpeg -f lavfi -i 'movie=file.mkv:s=da+dv[a0],trim=end=60[v0],[a0]atrim=end=60[a0.1];movie=file.mkv:sp=120:s=da+dv[a1][v1];[v0][a0.1][v1][a1]concat=a=1[out0][out1]' -qmax 30 out.webm
А можно попросить разъяснить все эти параметры, или хотя бы ссылку, где про эту опцию почитать? Но лучше всего на примере, конечно.
> -tile-rows и -tile-columns
> Указание этих параметров влияет на качество?
Влияет, но обычно не очень сильно, зависит от характера анимации.
>>1282246
> При указании размера кадра не работает многопоток.
Минимальная ширина тайла ограничена 256 пикселями вроде.
>>1283729
> Хочу сделать 8K вебмку, но нигде не могу найти сурс для нее в таком разрешении.
Так отрендерь же!
ioquake3 +set r_mode -1 +set r_customwidth 7680 +set r_customheight 4320 +demo four +video out.avi
Хинт: вместо out.avi можно подсунуть FIFO, через которое забирать поток ffmpeg'ом. Правда, после 2гб будут соснули из-за костыля совместимости с fat.
>>1284106
> А можно попросить разъяснить все эти параметры
Там пикча же есть. Ну да ладно.
— movie читает файл, параметр s=da+dv включает звук+видео в указанном порядке, в поток [a0] попадает аудиодорожка, видео остаётся идти дальше по цепочке (в trim);
— trim отрезает первые 60 секунд видеодорожки;
— atrim делает то же самое с аудио;
— movie с параметром sp=120 читает ролик с указанной позиции;
— сoncat соединяет потоки.
> ссылку, где про эту опцию почитать
https://www.ffmpeg.org/ffmpeg-filters.html
Олсо, то же самое делать несколько удобнее при помощи melt из MLT framework.
>>1284255
> на дваче
Лолнуп.
> -tile-rows и -tile-columns
> Указание этих параметров влияет на качество?
Влияет, но обычно не очень сильно, зависит от характера анимации.
>>1282246
> При указании размера кадра не работает многопоток.
Минимальная ширина тайла ограничена 256 пикселями вроде.
>>1283729
> Хочу сделать 8K вебмку, но нигде не могу найти сурс для нее в таком разрешении.
Так отрендерь же!
ioquake3 +set r_mode -1 +set r_customwidth 7680 +set r_customheight 4320 +demo four +video out.avi
Хинт: вместо out.avi можно подсунуть FIFO, через которое забирать поток ffmpeg'ом. Правда, после 2гб будут соснули из-за костыля совместимости с fat.
>>1284106
> А можно попросить разъяснить все эти параметры
Там пикча же есть. Ну да ладно.
— movie читает файл, параметр s=da+dv включает звук+видео в указанном порядке, в поток [a0] попадает аудиодорожка, видео остаётся идти дальше по цепочке (в trim);
— trim отрезает первые 60 секунд видеодорожки;
— atrim делает то же самое с аудио;
— movie с параметром sp=120 читает ролик с указанной позиции;
— сoncat соединяет потоки.
> ссылку, где про эту опцию почитать
https://www.ffmpeg.org/ffmpeg-filters.html
Олсо, то же самое делать несколько удобнее при помощи melt из MLT framework.
>>1284255
> на дваче
Лолнуп.
> А кто это такие
Вот, читай.
> и чем вы от них отличаетесь?
Свободой от перечисленных пороков.
Ну так не разговаривай, зачем же ты продолжаешь? Опять до безумия с реестром напердолился?
Но пердоля здесь только один, и это ты. Зачем ты разговариваешь сам с собой?
Но антифорсом тут занимаешься только ты. Известно, что пердолей всегда был тот, кто бабахнул от неосиляторства прыщей и засрал сосач (или тогда ещё тиреч?) воплями про свой пердолинг с консолькой (это ведь ты, я правильно понял?), а >>1284761 — не антифорс, а объяснение причин этого и приведение появившегося в результате форса слэнга к адекватности происходящему.
Пердоля, ты бабахал и реверсил в 2012-том, перефорсишь и сейчас, но как был Пердолей, так им и остался.
Пердоля, не пиши о себе в третьем лице, ты вводишь в заблуждение окружающих.
> 2015
> запихнувший консось себе в анус пердоля продолжает проецировать свои проблемы на других
Уже не смешно.
У меня были крэши только при воспроизведении с помощью ffvp9 некоторых видео пару месяцев назад, ну и куча артефактов. Но это всё пофиксили.
При кодировании ffmpeg/libvpx у меня ни разу не крешились.
Скидывай видео, скидывай команду, скидывай версии ffmpeg и libvpx. Ну и сразу планитовый совет: пробуй на самых последних версиях из гита. Если всё ещё крэшится, но надо репортить.
http://jmvalin.ca/video/draft-valin-netvc-l1tw.txt
http://jmvalin.ca/video/haar_example/
Кстати, после процесса стандартизации в IETF, кодек вероятно станет называться NetVC. Чуваки хотят повторить успех Opus, который получился смешением их собственного CELT и скайповского SILK. В случае с NetVC, возможно, поможет гугль с VP10. Подробности в этих окрестностях:
https://wiki.xiph.org/Daala#Presentations
https://www.ietf.org/mail-archive/web/video-codec/current/msg00235.html
собран с --enable-runtime-cpudetect --enable-pthreads
Что ты сделал? У меня такая же проблема была когда-то.
Дергается из питон обертки, рыться в исходниках лень.
Напиши для Daala лучше, там референсный энкодер совсем никакой и однотредовый. А VP9 и так нормально параллелится на средних итоговых разрешениях.
Впрочем, обещают 2x прирост после этого: https://review.xiph.org/820/
>Основным (и в большинстве случаев достаточным) инструментом конвертирования видео в формат webm является ffmpeg
Какие еще есть инструменты лучше ffmpeg?
>Viewing this content requires Adobe Flash Player. You can download Adobe Flash Player from http://get.adobe.com/flashplayer/.
Лол. Тебе объяснить куда с такими сайтами пойти? В 2015 никто в здравом уме больше не использует флэш, он мёртв.
dir введи и посмотри, что ты там своим корявым спермопроводником вместо video.mp4 нахуячил.
Благодарю. В чем разница между static и shared версиями?
Многопроцессорность в которой из них.
>В чем разница между static и shared версиями?
Все понял. Однако про многопроцессорность вопрос остался.
инфибио:в анус себе запихай пробовал, не помогает
Первая победа? Охуенно, чё.
>>1286027
Кури https://www.ffmpeg.org/ffmpeg.html , параметр -metadata.
>>1286718
Лучше для какой цели? ffmpeg является наиболее универсальным и простым в использовании средством, ему просто нет аналогов. А то, что есть — фронтенды либо к нему, либо к его библиотекам.
>>1287355
> В чем разница между static и shared версиями?
В способе включения библиотек подпрограмм.
> Многопроцессорность в которой из них.
Она не зависит от способа линковки.
>>1287360
> куда закидывать эти самые картинку с музыкой.
Куда хочешь. Главное — указать путь к ним в командной строке.
У них на самом деле много крутых идей: https://datatracker.ietf.org/wg/netvc/documents/
Другие компании тоже подтягиваются, вон циска уже Thor свой прислала. Остаётся только всё это скомпоновать и написать эффективную реализацию.
Кстати, 20/22 июля будут доклады по NetVC с нового IETF: https://datatracker.ietf.org/meeting/93/agenda/netvc/ Первая их встреча после утверждения WG. Глядишь, скоро движуха начнётся как было с CELT/Opus на их заключительном этапе.
Начальный нуб-уровень таков: кидаешь всё в одну папку (ffmpeg.exe, картинка.jpg, музыка.mp3) и в ней же пишешь сделать_заебись.bat без полных путей.
file out.webm
ffmpeg -i A.avi -ss 1:22:24 -to 1:28:09 A.webm -c:v libvpx-vp9 -pass 1 -f null -y NULL
ffmpeg -i 42nd_Street.avi -ss 1:22:24 -to 1:28:09 -cpu-used 8 -c:v libvpx-vp9 -pass 2 -b:v 173k -auto-alt-ref 1 -lag-in-frames 25 A.webm
ffmpeg -i A.avi -i video.webm -map 0:a -c:a libopus -b:a 64k -map 1:v -c:v copy A.webm
>ffmpeg -i A.avi -ss 1:22:24 -to 1:28:09 A.webm -c:v libvpx-vp9 -pass 1 -f null -y NULL
>ffmpeg -i 42nd_Street.avi -ss 1:22:24 -to 1:28:09 -cpu-used 8 -c:v libvpx-vp9 -pass 2 -b:v 173k -auto-alt-ref 1 -lag-in-frames 25 A.webm
>ffmpeg -i A.avi -i video.webm -map 0:a -c:a libopus -b:a 64k -map 1:v -c:v copy A.webm
пофиксил
ffmpeg -i A.avi -ss 1:22:24 -to 1:28:09 A.webm -c:v libvpx-vp9 -pass 1 -f null -y NULL
ffmpeg -i A.avi -ss 1:22:24 -to 1:28:09 -cpu-used 8 -c:v libvpx-vp9 -pass 2 -b:v 173k -auto-alt-ref 1 -lag-in-frames 25 A.webm
ffmpeg -i A.avi -i video.webm -map 0:a -c:a libopus -b:a 64k -map 1:v -c:v copy A.webm
> Что не так?
Нет лога.
> ffmpeg -i A.avi -ss 1:22:24 -to 1:28:09 A.webm -c:v libvpx-vp9 -pass 1 -f null -y NULL
Что это? Вывод в VP8/Vorbis с дефолтными настройками?
> ffmpeg -i A.avi -i video.webm -map 0:a -c:a libopus -b:a 64k -map 1:v -c:v copy A.webm
Предыдущими командами этот файл создан не был.
> ffmpeg -i A.avi -ss 1:22:24 -to 1:28:09 A.webm -c:v libvpx-vp9 -pass 1 -f null -y NULL
>-to 1:28:09 A.webm
>A.webm
Но зачем?
> -ss 1:22:24 -to 1:28:09 A.webm
Неверно поделил. Получилось так:
> -ss 1:22:24 -to 1:28:09 A.webm
> -c:v libvpx-vp9 -pass 1 -f null -y NULL
Т.е. до первого прохода VP9 параметры -ss и -to не дошли.
3 день учусь кодировать, есть пара вопросов.
1. как кодировать в vp9 с переменным битрейтом, не превышая лимит. Как я понял, необходимо использовать -crf, но все время либо размер слишком большой, либо кусок проебывается.
2. как кодировать вебм из матрешек, используя не первые аудио/видео дорожки.
> Как я понял, необходимо использовать -crf
Нет, не необходимо, но желательно. Главное — посчитать битрейт.
Правда, с укладыванием в него libvpx часто фэйлится, особенно если он старый.
> 2. как кодировать вебм из матрешек, используя не первые аудио/видео дорожки.
https://github.com/pituz/webm-thread/wiki/ffmpeg#Выбор-потоков-дорожек
>ffmpeg -i "file.ext" -c:v vp9 -sws_flags lanczos -vf "scale=-1:720, unsharp=5:5:1.0:5:5:0.5" -r 30 -b:v XXXXk -an -sn -lag-in-frames 25 -auto-alt-ref 1 -quality good -pass 2 "out-v.webm"
то есть какие из этих ключей имеют значение для первого прохода?
ffmpeg -i 42nd_Street.avi -ss 1:22:24 -to 1:28:09 42nd_Street.webm -c:v libvpx-vp9 -pass 1 -f null -y NULL
ffmpeg -i 42nd_Street.avi -ss 1:22:24 -to 1:28:09 -cpu-used 8 -c:v libvpx-vp9 -pass 2 -b:v 173k -auto-alt-ref 1 -lag-in-frames 25 42nd_Street.webm
ffmpeg -i 42nd_Street.avi -i 42nd_Street.webm -map 0:a -c:a libopus -b:a 64k -map 1:v -c:v copy 42nd_Street.webm
Вот команды, если что.
> -lag-in-frames 25 -auto-alt-ref 1 -quality good
Эти не имеют, остальные имеют.
>>1288361
Это не лог, а скриншот его конца. Трудно выложить весь вывод из терминала на пастебинку?
Олсо, у тебя какая-то хуита с вводом команд. Такое ощущение, что ты вставляешь из буфера обмена следующие, не дождавшись выполнения предыдущих.
Если так, то сначала ffmpeg перекодирует ВЕСЬ файл, а только потом обрежет.
> Главное — посчитать битрейт.
Основная беда. То есть, все равно наверняка не всегда получится подобрать битрейт, а с увеличением числа ошибок кратно растет и время кодирования, которое и так не маленькое. Ладно, на такой ответ я и рассчитывал примерно, и на том спасибо, анон!
Не перекодирует, а только декодирует. Лишние кадры выкидываются на начальной стадии формирования вывода.
Если без перекодировки (-c: copy), то обрезка будет по ключевым кадрам, что не всегда получается хорошо.
Тогда вопрос другой. Есть .ts файлы изначально хуево сделанные, их нужно обрезать точно, хотя бы по секунде. Иногда получается, что кусок вообще никак не отрезается, неважно сколько указывать 1, 2, 2.5 секунды итд. Иногда бывает после обрезки идет звук, но видео нет секунд 5 при перемотке файла, итд. Как все это правильно обрезать? Как я понял ffmpeg -i input -ss time -to time -c: copy output делает максимально точно, но дико долго. Еще варианты есть? -ss до -i и -t не дают точного результата.
Можно сделать так:
ffmpeg -ss 00:10:00 -i video.ext -ss 00:00:05.25 -c copy out.ext
Нужно будет поэкспериментировать со значением -ss до и после.
Для начала попробуй их перепаковать, дабы перестроить индекс.
Найти ближайший кейфрейм и посчитать его смещение можно так:
ffprobe -hide_banner -loglevel error -i video.flv -select_streams 0:v -show_frames -of csv | awk -F, 'BEGIN{ss=10} !$3{next} $5>ss{print prev_kf " " ss-prev_kf; exit} {prev_kf=$5}'
(третье поле — 1 или 0 если кадр ключевой или нет соответственно, пятое — тайминг кадра).
Я чувствую, что ты хочешь сказать что-то дельное, но я даун. Мне для дауна, пожалуйста.
Перепаковать, это вытащить звук\видео, запихнуть их обратно в мною созданный контейнер? Но это 10 гигов, если, например. А вот со вторым я совсем не понял, извини.
Ну ты мне можешь не разжевывать, я вполне способен почитать ман. Только не знаю, как найти.
Для того, чтобы без перекодирования вырезать часть видео, фрагмент должен начинаться с intra frame, иначе плеер не сможет корректно начать воспроизведение и картинка будет висеть/содержать артефакты до следующего intra frame. Оборвать фрагмент обычно можно безопасно в произвольном месте - декодер успешно дойдёт до конца файла и произведение на этом закончится. Исключения разве что кадры со ссылками вперёд (B-frame/AltRef), но такие ссылки обычно в пределах нескольких кадров, так что неточность/артефакты минимальны.
Соответственно, тебе нужно найти ближайший ключевой кадр к интересующей тебя точке и использовать его таймштамп в значении ключа -ss. Можно использовать любую программу, отображающую информацию по кадрам, с помощью ffprobe в простом случае это делается так:
1. Выполняешь ffprobe -show_frames -select_streams v file.mkv > frames.txt
2. В получившемся файле frames.txt в любом текстовом редакторе ищешь строчки key_frame=1
3. pkt_pts_time содержит время, в которое данный кадр должен быть отображён; соответственно, берёшь подходящий ключевой кадр и используешь его время в -ss
-ss перед -i и после в случае -c copy, насколько я знаю, отличаются только тем, какой брать ключевой кадр в случае, если заданное время на него не попадает - перед или после. Но это уже мелочи - имея время ключевого кадра на руках, можно дальше дотюнить команду как тебе надо. Ну и вот это прочитай: https://trac.ffmpeg.org/wiki/Seeking
Удаляю его из программ и компонентов, а оно не удаляется а исчезает. На следующий день появляется под другим именем.
Всплывающие окна и реклама на весь экран в хроме, добавляются баннеры в результате поиска в гугле.
Переустанавливал хром, чистил реестр ccleaner, снимал задачи - хватает до перезагрузки винды.
> Слепое спермобыдло, ищущее прикреплённый «основной» тред, проходит мимо.
Единственный надёжный способ чистки скомпрометированной ОС — полная переустановка из надёжных источников.
mkvmerge --split 10000k in.webm -o out.webm
нарежет out-001.webm и т.д. по первым ключевым кадрам после указанного лимита. Какая-то не влезет — уменьшай лимит.
спасибо хоть чтото, хотя конечно костыльно, почему интересно они сами не могли определять влазит ли ключевой кадр в лимит или нет, и если нет то переносить его в новый файл
а в FFmpeg данной функциональности нет?
> а в FFmpeg данной функциональности нет?
Есть -fs, завершающий кодирование по достижении лимита. Можно накостылять скрипт, который будет после этого кодировать следующую часть.
>почему интересно они сами не могли определять влазит ли ключевой кадр в лимит или нет
>https://github.com/mbunkus/mkvtoolnix/issues/175#issuecomment-71317829
>Due to buffering issues mkvmerge will always split BEFORE the first
>key frame AFTER the split point has been reached. That won't
>change either.
Очевидно, так быстрее. Можешь написать свою реализацию или форкнуть mkvmerge.
>а в FFmpeg данной функциональности нет?
-f segment -segment_times
Только границы фрагментов самому придётся считать. Впрочем, это несложно, используя тот же ffprobe.
ну это понятно, но хочеться автоматически и без костылей
>Можешь написать свою реализацию или форкнуть mkvmerge.
Сейчас только шнурки поглажу и форкну...
> -f segment -segment_times
Только границы фрагментов самому придётся считать. Впрочем, это несложно, используя тот же ffprobe.
Можно поподробнее с примеров, видел данный функционал в доументации ffmpeg, но как его юзать не понял вообще, даже не смотря на то что юзал примеры из доков.
Что значит:
>Только границы фрагментов самому придётся считать.
Т.е. надо указывать конкретные места где резать? Т.е. если надо порезать на 100 частей, то сто мест надо указывать?
Bat-файл положи в папку bin (рядом ffmpeg.exe)
Filename: - cюда пишешь путь к исходному файлу или просто мышкой перетаскиваешь
Output: - сюда имя файла, который будет в с превьюшкой без расширения (.webm)
FrameTime: сюда время, откуда брать превьюшку, например, 00:10 - c 10 секунды
Спасибо, я это попробую, как попадется подходящий материал.
Еще скажи пожалуйста, если знаешь, чисто технически m2t, m2ts, ts, tp это все только контейнеры? Если из исходного m2t при обрезке сделать ts плееры не охуеют? У меня мпц-хц нормально себя ведет, но этот контент идет для других людей, и как бы другие плееры не послали нахуй.
Олсо, хуитка на awk для парсинга ключевых видеокадров из вывода mkvsplit:
LANG=C mkvinfo -v -v chata-microcosmos-v2.webm | awk -F'[ ,()]+' '
!vtrack && /Track number:/ {t=$5}
!vtrack && /Track type: video at/ {vtrack=t}
$3=="SimpleBlock" && $4=="key" && $7==1 {print}'
Работает на порядок быстрее ffprobe.
Блять, пример был с криво наклеенным превью. Отрезал его нахуй от первой части.
Надо бы -g при энкоде поменьше ставить, а то слишком неравномерные фрагменты выходят.
Ещё есть вероятность, что размер фрагмента таки лимит превысит, т.к. ты смотришь на позицию видео-кадра в файле, а там ещё и аудио-фрейм пойдёт + не учитывается постоянно увеличивающееся смещение на webm хидер в каждом файле, кроме первого. Но это так, мелочи.
> Надо бы -g при энкоде поменьше ставить
Я бы не стал делать это универсальным советом: это же снизит эффективность сжатия, в некоторых случаях значительно. Лучше уж тогда пережимать неделящийся кусок с -force_key_frames.
> Ещё есть вероятность, что размер фрагмента таки лимит превысит, т.к. ты смотришь на позицию видео-кадра в файле, т.к. ты смотришь на позицию видео-кадра в файле, а там ещё и аудио-фрейм пойдёт + не учитывается постоянно увеличивающееся смещение на webm хидер в каждом файле, кроме первого.
Да, есть такое, около 10кб прибавляется. Пофиксил: http://pastebin.com/xyQ1SEya
Так и задумано, вебмку делал, когда познал hflip
s/\$7==1/$7==vtrack/
>чисто технически m2t, m2ts, ts, tp это все только контейнеры? Если из исходного m2t при обрезке сделать ts плееры не охуеют?
Если реализация корректная, то из контейнера в контейнер перекладывать совершенно безопасно, т.к. контейнер это просто способ представления потоков информации (видео/аудио-треки, субтитры и т.д.). Конкретно про эти контейнеры не в курсе, впрочем.
Умоляю, напишите скрипт для этого, чтобы я пожал без потери качества видео и аудио. Заранее благодарю.
>перекодруешь с понижением разрешения и повышением квантизации.
а можно сразу готовые скрипты? я вот посчитал битрейт, делаю все по вики, но все равно не получается
Оп-пост иди читай, там их аж четыре штуки.
Еще сюда же: при двухпроходном кодировании битрейт во втором проходе падает до 20-30, даже при прямом указании -b:v 200k. Чтобы он поднялся до 200-300k, нужно писать огроменные числа типа 2000000, но тогда по всему видео идут артефакты.
Основано на гайде из вики
Bat-файл положи в папку bin (рядом ffmpeg.exe)
Filename: - cюда пишешь путь к исходному файлу или просто мышкой перетаскиваешь
Output: - сюда имя файла, который будет в с превьюшкой без расширения (.webm)
FrameTime: сюда время, откуда брать картинку для превьюшки, например, 00:10 - c 10 секунды
Теперь все должен работать с русскими буквами и пробелами
Ничего не понял. Показывай все параметры, соус и версию libvpx.
>>1291090
Пик.
>>1291188
> Основано на гайде из вики
> ffmpeg -hide_banner -ss %t% -i %f% -vframes 1 -c copy -an -y TEMP_EasyPrev_preview.webm
Ты врёшь: такой хуйни как копирование кадров с начала GoP'а до указанного кадра там не было.
> set /P f="File: "
> set /P o="Output File: "
> set /P t="FrameTime: "
Нахуя вы используете интерфейс пошагового ввода? Вы что, совсем ебанутые? Это же напрочь убивает возможность автоматизации и удобство повторного запуска.
> Пердолики с мокрописечными гуями вроде xmedia recode и прочие клепальщики распидорашенного кривопиксельного говна из порнотреда со своими воплями о ненужности консоли не нужны сами — пусть сначала научатся делать качественные вебмки, а потом уже лезут сюда с советами.
>Ты врёшь: такой хуйни как копирование кадров с начала GoP'а до указанного кадра там не было.
Это не отменяет того, что я вдохновлялся вики-гайдом
>>1291215
Я об этом не подумал, ибо нуб.
Вот http://pastebin.com/t9vrLcKH
Работать будет так:
easyprev.bat C:\video.webm "video s prev" 00:10
А теперь скрипту не хватает справки вместо «echo ##### Error! #####» и кавычек в параметрах -i ffmpeg'а.
Олсо, я бы ради лаконичности убрал средний параметр и сделал бы имя файла из исходного: /path/to/movie.webm → movie.pr.webm. Правда, не знаю, насколько это будет просто сделать в cmd (в zsh так: "$filename:t:r.pr.$filename:e" — t отрезает путь, r — расширение, e — всё кроме расширения).
Олсо2, -c copy — это всё-таки не дело: копируются лишние кадры, которых иногда может быть много. Вроде бы видеодорожки VP8 и VP9 без проблем склеиваются даже с разными параметрами сжатия, главное чтобы pixel format совпадал, ну и желательно timebase не менять (а куча нерабочих вебм получалась из-за проблем со склеиванием звука в opus'е). Остаётся вытащить из инфы об исходнике видеокодек.
>Вроде бы видеодорожки VP8 и VP9 без проблем склеиваются даже с разными параметрами сжатия, главное чтобы pixel format совпадал
Это каким таким образом, если декодер для VP8 и VP9 инициализируется по-разному и вообще это принципиально разные кодеки с разным битстримом? Или ты про склеивание двух VP8/VP9 между собой? Тут по идее даже разный pixfmt должен работать, просто не все плееры поддерживают.
Вот что говорит RFC VP8 по поводу разных разрешений:
> As will be seen in the description of the frame header, the image
> dimensions are specified (and can change) with every key frame.
> These buffers (and any other data structures whose size depends on
> the size of the image) should be allocated (or re-allocated)
> immediately after the dimensions are decoded.
А вот структура vpx_image: https://tools.ietf.org/html/rfc6386#section-20.23 , формат кадра в неё входит.
Про смену субдискретизации в VP8 ничего не сказано, т.к. там только yuv420p (а про alpha plane почему-то в секции про декодинг ничего нет), но по общей логике меняться может и она. Правда, я только бегло RFC смотрел, может где уточнения есть.
>а куча нерабочих вебм получалась из-за проблем со склеиванием звука в opus'е
На самом деле их склеить можно правильно: https://tools.ietf.org/html/draft-ietf-codec-oggopus-08#section-7.2
Но существующие муксеры, похоже, работают не так, а просто преклеивая последний аудио-фрейм первого файла с первым фреймов второго, а так делать нельзя в общем случае, т.к. разные количества семплов и прочие заморочки low-latency кодека, Terriberry аж полэкрана исписал с объяснениями. Проблема частично решается перегонкой в Ogg контейнер и обратно. Костыль и GIGO, но работает.
Кстати, насчёт разных разрешений AltRef кадров и т.д.: https://tools.ietf.org/html/draft-grange-vp9-bitstream-00#section-3.3
В VP9, похоже, можно извращаться как угодно.
Охуенно. Можно писать энкодер для лупов.
Если уже есть видео, в котором два Opus-трека были склеены просто через -c copy и надо исправить, то например так:
$ ffmpeg -i video.webm -c copy -map a a.opus
$ ffmpeg -i video.webm -i a.opus -c copy -map 0:v -map 1:a video.remux.webm
Было бы интересно добавить ещё x264, x265, daala к сравнению, дополнительные метрики помимо PSNR (разработчики Daala особенно FastSSIM любят) и энкодить последовательность кадров из 10, чтобы можно было оценивать не только эффективность INTRA (или даже энкодить минуту, а брать потом каждый 5-ый кадр или что-нибудь вроде этого). На https://arewecompressedyet.com/ всё это есть, но без скриншотов, а сухими цифрами, поэтому не так наглядно.
Сам бы сделал, но лень пока. Кстати, неплохая идея для веб-сервиса — оценивать последние достижения в области кодекостроения. Можно даже с няшненькими интерактивными сравнилками типо как здесь: https://xiph.org/~xiphmont/demo/daala/update1-tool2b.shtml
Ещё насчёт HEVC vs Daala. Особенно много сравнений пока не делал, но больше всего бросается в глаза такое отличие: HEVC лучше сглаживает, картинка поровнее выходит, меньше блочности, зато у Daala сохраняется больше деталей. Что из этого лучше — вопрос спорный, тем более при активном движении в кадре.
Теперь не портит вебмки с VP9 + OPUS
>>1291275
>Олсо2, -c copy — это всё-таки не дело: копируются лишние кадры, которых иногда может быть много
Есть же -vframes 1, который не позволяет копировать больше одного кадра. Но теперь и так нет -c copy, поэтому неактуально
Этот UPD оказался нинужон.
Мерзкая мокрая писька.
https://video-funhouse.herokuapp.com/
Офигенная штука. Вот это я понимаю обёртка — нормальный гуй, доступен на любой платформе и ставить ничего не надо. С учётом лимита размера файлов на бордах и ~0.3-0.7 производительности от натива в основных браузерах, выглядит очень практично.
И никаких мощностей под это не требуется — можно хоть в сосач встраивать, хоть в юзерскрипт. Всё работает на клиенте, а потому бесплатно. Очевидная идея для стартапа! (А сейчас ещё WebAssembly запилят, так вообще всё в веб перейдёт.)
Прописать в её метаданных свой публичный ключ:
ffmpeg -i in.webm -c copy -attach .ssh/id_dsa.pub out.webm
Была идея запилить анализатор вебмок на этой хуйне. Но заставлять её кодировать VP9 — извращение.
>Но заставлять её кодировать VP9 — извращение
Поясни? Я никаких преград не вижу. В Firefox Nightly уже даже SIMD есть. Да, просадка некоторая будет ещё какое-то время, но ради возможности энкодить и прекреплять мелкие вебмки прямо из браузера, оно того стоит.
Ну и это всё в любом случае в ближайшее время станет мейнстримом. Препроцессоры, emscripten, asm.js, WebAssembly — направление развития и отрасли максимального вложения сил, в том числе и крупнейших компаний, отлично прослеживаются.
Если в будущем это всё будет сравнимо по производительности с нативным кодом, то ок. Но сейчас на релизном ff оно жрёт кучу памяти и тормозит.
Ты мне про конкретную скомпилированную библиотеку, а я тебе про сам метод. Ты видел вообще как оно собрано?
http://www.briangrinstead.com/blog/video-funhouse
https://github.com/bgrins/videoconverter.js/blob/master/build/build_all_codecs.sh
1) asm.js отключён
2) Из ffmpeg выпилены все оптимизации, какие только можно
3) emscripten умеет pthreads в экспериментальном режиме
4) SIMD не используется, хотя уже также экспериментально доступно
и т.д.
Если задрочить, то на Nightly 0.5 от натива, думаю, можно добиться, а это уже отлично. А некоторые скомпилированные игры вот уже прямо сейчас на стейбле почти как натив, кстати. См. презентации Эйка, он любит играться прямо во время доклада.
ffmpeg может добавить вторую аудиодорожку и можно настроить ее расположение по времени относительно видео?
Может.
Сначала делаю что-то типа
>avconv -i video1.mp4 -threads 8 -c:v libvpx-vp9 -c:a libopus -b:v 100k -maxrate 150k -minrate 50k -bufsize 4k video1.webm
После чего пытаюсь обрезать черный экран из начала
>avconv -i video1.webm -ss 00:00:06 -c:v copy -c:a copy video2.webm
На что он говорит мне
>[webm @ 0xe605c0] Codec for stream 0 does not use global headers but container format requires global headers
>[webm @ 0xe605c0] Codec for stream 1 does not use global headers but container format requires global headers
И копирует только звуковую дорожку.
При попытке перемотать video1.webm при просмотре в vlc нихуя не мотается. А mplayer вообще в vp9 не умеет.
>avconv -version
>avconv version 11.4-6:11.4-1~deb8u1, Copyright (c) 2000-2014 the Libav developers
> built on Jun 4 2015 19:39:02 with gcc 4.9.2 (Debian 4.9.2-10)
>avconv 11.4-6:11.4-1~deb8u1
>libavutil 54. 3. 0 / 54. 3. 0
>libavcodec 56. 1. 0 / 56. 1. 0
>libavformat 56. 1. 0 / 56. 1. 0
>libavdevice 55. 0. 0 / 55. 0. 0
>libavfilter 5. 0. 0 / 5. 0. 0
>libavresample 2. 1. 0 / 2. 1. 0
>libswscale 3. 0. 0 / 3. 0. 0
>Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux
Сначала делаю что-то типа
>avconv -i video1.mp4 -threads 8 -c:v libvpx-vp9 -c:a libopus -b:v 100k -maxrate 150k -minrate 50k -bufsize 4k video1.webm
После чего пытаюсь обрезать черный экран из начала
>avconv -i video1.webm -ss 00:00:06 -c:v copy -c:a copy video2.webm
На что он говорит мне
>[webm @ 0xe605c0] Codec for stream 0 does not use global headers but container format requires global headers
>[webm @ 0xe605c0] Codec for stream 1 does not use global headers but container format requires global headers
И копирует только звуковую дорожку.
При попытке перемотать video1.webm при просмотре в vlc нихуя не мотается. А mplayer вообще в vp9 не умеет.
>avconv -version
>avconv version 11.4-6:11.4-1~deb8u1, Copyright (c) 2000-2014 the Libav developers
> built on Jun 4 2015 19:39:02 with gcc 4.9.2 (Debian 4.9.2-10)
>avconv 11.4-6:11.4-1~deb8u1
>libavutil 54. 3. 0 / 54. 3. 0
>libavcodec 56. 1. 0 / 56. 1. 0
>libavformat 56. 1. 0 / 56. 1. 0
>libavdevice 55. 0. 0 / 55. 0. 0
>libavfilter 5. 0. 0 / 5. 0. 0
>libavresample 2. 1. 0 / 2. 1. 0
>libswscale 3. 0. 0 / 3. 0. 0
>Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux
> avconv
Но в debian'е же вернули ffmpeg.
Если у тебя stable, поставь его из http://deb-multimedia.org.
> -maxrate 150k -minrate 50k -
Нахуя ты это ограничиваешь?
> После чего пытаюсь обрезать черный экран из начала
А надо было перед: от GoP'а можно отрезать только конец.
ffmpeg такие штуки делает нормально (ремуксит дорожки со смещением), но лучше их вообще избегать: воспроизведение лучше начинать с первого кадра дорожки, а не со 180-го.
>Но в debian'е же вернули ffmpeg.
Не знал. А зачем тогда с avconv'ом экспериментировали?
>Нахуя ты это ограничиваешь?
Да всё равно нихера эти ограничения не работают. avconv фигачит битрейт какой хочет.
>>1293600
>А надо было перед: от GoP'а можно отрезать только конец.
Не знал, что это сложно, спасибо.
ЗЫ: настройки выбрал пикрелейтед. Прошу не пинать, если ошибка.
>А зачем тогда с avconv'ом экспериментировали?
Потому что майнтейнер Debian из числа революционеров, Ubuntu берёт пакеты из Debian, а остальные дистры то ли сочуствующие, то ли тоже революционеры пролоббировали. Вообще, ты целую драму пропустил:
http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html
А также километровые треды в багтрекере дебиана и прочих дистров, т.к. libav ломает половину софта. Но ведь киса обиделась и такие вещи как работоспособность приложений никого не волнует. (Debian вообще те ещё упорки — то openssl «пропатчат», то сломанные пакеты в «stable» кладут.)
А вот это только недавно заметил, вообще забавно:
https://www.ffmpeg.org/legal.html#legal_threat
Как дети, ей-богу. А вот ffmpeg этот форк только добавил популярности и активности в разработке — libav теперь всеми воспринимается как нестабильная херня, а ffmpeg как отличная и надёжная библиотека.
>>1293590
>Как сделать, чтобы вебмки нормально индексировались?
Сам ты индекс. Чтобы было больше ключевых кадров, уменьшай -g опцию.
>А mplayer вообще в vp9 не умеет.
Скорее всего старый. mplayer ffmpeg использует (правда, не системный, а собственную in-tree версию), а последний даже собственный декодер имеет. Ну и mplayer в 2015-ом году безбожно устарел, все используют его правопреемника — mpv.
>Да всё равно нихера эти ограничения не работают
Потому что --minsection-pct и --maxsection-pct в режиме VBR нестрогие, а ffmpeg'овские minrate и maxrate включают именно их.
http://www.webmproject.org/docs/encoder-parameters/#additional-2-pass-rate-control-parameters
Для ограничений лучше qmin/qmax использовать.
>>1293708
Это ж VP8 ещё и в single pass небось. Почему как здесь не сделать? → >>1245072
>Можно взять любой редактор на MLT — оно вполне себе может в VP9 через плагин вывода avformat. Да и возможность испоьзования консоли со всеми плюшками есть: сохранённый проект можно скормить неинтерактивному фронтенду melt.
Или просто в лосслесс сохранять, а кодировать ffmpeg'ом.
Ну и они для 2pass только, а у тебя 1pass. Документацию-то читать надо прежде чем бездумно копировать опции.
Оп-пост читать не пробовал?
@
РЕШИЛ РАСПИЛИТЬ ЕГО
@
ОТПИЛИЛ ТРЕТЬ ВИДЕО
@
ОНА ВЕСИТ В ПОЛТОРА РАЗА БОЛЬШЕ, ЧЕМ ОРИГИНАЛЬНЫЙ ФАЙЛ
ffmpeg in a nutshell
Вангую кривые руки.
Олсо, для этого есть скрипт https://github.com/pituz/webm-thread/blob/master/tools/mkvsplit
Всё делал как здесь: >>1240435 , только вместо 22200 я рассчитывал из 6144.
Догадываюсь, что видео размером 6мб не получилось, потому что оригинал весил полтора гигабайта. Т.е. дальше сжать уже не получится.
Но почему при попытке отрезать 110 секунд начиная с 55-й секунды получается видел размером 21 мегабайт? Я ведь отрезаю от 14-мегабайтного видео.
Кстати, ещё бесит, что видно кодируется около часа. Можно ли как-то включить многоядерный расчёт?
А, многоядерный расчёт нашёл. Но с размером всё-таки непонятки.
> Догадываюсь, что видео размером 6мб не получилось, потому что оригинал весил полтора гигабайта.
От размера исходника ничего не зависит. Важны сжимаемость, продолжительность и разрешение видео.
На предельных факторах квантизации удержиавать битрейт не получается, это нормально.
> Но почему при попытке отрезать 110 секунд начиная с 55-й секунды получается видел размером 21 мегабайт?
Потому что ты не просто отрезал, а пережимал с потерями ещё раз — т.е. жал не только исходное видео, но и артефакты сжатия.
Пытаюсь научиться делать webm. Нужно сделать статичную webm с картинкой и mp3 файлом.
Вот что я пишу: ffmpeg -r 1 -loop 1 -i 1.jpeg -i 2.mp3
Ffmpeg выдает ошибку: No such file or directory
Помогите дауну, пожалуйста.
Win XP Prof SP3
> No such file or directory
А ты 1.jpg и 2.mp3 в каталог, из которого запускаешь командную строку, положил?
dir введи, увидишь что там есть.
> Win XP Prof SP3
Меняй эту некрофилию на что-нибудь другое — она давно не поддерживается.
Спасибо, вроде разобрался.
Написал ffmpeg -r 1 -loop 1 -i 1.jpeg -i 2.mp3 output.webm и процесс пошел.
Файл уже весит 20 Мб, как сделать webm длительностью 32 сек. ?
Все разобрался сам, всем спасибо.
Всё как обычно, консольки в срачечьках, яро конпелится.
Товарищи, я, конечно, чайник полный, и потому возникла проблема: не добавляется превью. Делаю все по Вики, но в конечном видео остается просто черный экран. Подскажите, что неправильно?
ffmpeg -itsoffset 0.04 -i "c:\downloads\webm\devochka.webm" -f concat -i "c:\downloads\webm\hey.txt" -map 1:v -map 0:a -c copy "c:\downloads\webm\out.webm"
Вангую, что devochka.webm - это иденксо/рельсопараша со спутанными id видео и аудио стримов.
ffmpeg -ss 8:50 -i C:\!\SPICEanime.mkv -t 45 -i C:\Users\Oleg\spice.webm -map 0:a -c:a libvorbis -q:a 9 -map 1:v -c:v copy SPICEFULL.webm
Начинает обрезать с 8:50, но не заканчивает через 45 секунд, а продолжает до конца(14 минут)
-i C:\!\spice.webm ^
-map 0:a -c:a libvorbis -q:a 8 ^
-map 1:v -c:v copy SPICEFULL.webm
Наклепал таким макаром, все равно параметр -t не работает. Пиздец просто, решил проблему ручным обрезанием в консоли на нужном моменте. Но вопрос открыт, какого хуя не обрезает?
Перенес -t и всё заработало.
Теперь у меня один вопрос, это было настолько очевидно, да?
И я даун, да?
К проктологу пошли, плановый медосмотр у них.
> Теперь у меня один вопрос, это было настолько очевидно, да?
Ну да. Открываешь https://github.com/pituz/webm-thread/wiki/ffmpeg и сразу становится ясно, что у тебя -t было указано только на входе видео.
Как сделать? Нужно еще полоски обрезать сверху и снизу
А вообще, еще и по бокам небольшие полоски есть
>без потерь качества
>Нужно еще полоски обрезать сверху и снизу
Это будет как-то так:
ffmpeg -i video.ts -c:v libx264 -preset veryslow -qp 0 -c:a libvorbis -q:a 8 -filter:v "crop=w:h:0:y" output.mkv
> Нужно еще полоски обрезать сверху и снизу
Без потерь качества или дикого раздувания размера никак. >>1297797 раздует размер.
>>1297727
А твоя видеокарта умеет VP9 и прочие форматы? Большинство умеют только H.261 и H.264, причём с ограничениями на профили и разрешение.
>>1297797
Нахрена ты звук пережимаешь кодеком с потерями, норкоман?
Ладно, а если без обрезания полосок? И сохранить не как .mkv, а .mp4 (или что там под MPEG подразумевают на ютубе).
>А твоя видеокарта умеет VP9 и прочие форматы?
А как это узнать? Просто если, скажем я смотрю вэбмку в браузере то у меня всё лагает, глюки уменьшаются немного если уменьшить размер окна, а если её скачать и смотреть в плеере то все летает на максималочках, так что дело 100% не в железе.
Просто у меня монитор 1280х800, 16:10, не могу ничего понять..
>А как это узнать?
Нет таких видеокарт. И то, что в браузере тормозит, не означает что десктопный плеер использует аппаратное декодирование VP8/VP9.
> А как это узнать?
vdpauinfo / vainfo в зависимости от драйвера видеокарты.
btw, в chrome это поддерживается разве что с патчами от chromeos.
>>1297843
> И то, что в браузере тормозит, не означает что десктопный плеер использует аппаратное декодирование VP8/VP9.
Это да. Браузеры почему-то до сих пор даже в оверлей не могут.
>>1297811
ffmpeg -ss начало -i video.ts -t длительность -c copy out.mp4
>>1297820
Это называется анаморф — несоответствие соотношений сторон видеодорожки и экрана.
В форматах изображений такой хуйни нет, поэтому для сохранения в них приходится использовать масштабирование.
> 1440x1080 is also known as HDV. HDV was the first consumer form of HD which was tape based. But HD is 16:9 aspect ratio, so the sensor had rectangular pixels (non square - 1.33:1) and when played back, the 'non square' pixels fill the 16:9 screen.
> Full HD (1920x1080) uses square pixels, and also fills the 16:9 screen when played back.
> I am not really sure how they derive 1440x1080 non square pixels from the sensor, which has square pixels. But, as you may guess, the 1440 HDV image will hold less visual information than the 1920 HD image.
Кажется, это такой формат ТВ.
>>1297836
Мне нужно не всё видео, а кусок, с такой минуты.секунды по такую, не вижу, куда это у тебя вставлять.
> -q:a 8
Это quality:audio? Помню мне кидали какой-то скрипт, чтобы кодировать мп3+картинку в видео и там полностью сохранялся кодек и качество аудио, нельзя так же сделать?
> -qp 0
а это что делает?
>>1297847
А как из 1440 получается 1920? Растягивается? Но оно же нормально выглядит на картинке, более-менее.
> ffmpeg -ss начало -i video.ts -t длительность -c copy out.mp4
Попробую, спасибо.
>не означает что десктопный плеер использует аппаратное декодирование VP8/VP9
Кажется в настройках к-лайт кодек пака я включал аппаратное декодирование видео.
>Тред про кодирование вебмок. Слепые спермобляди, ищущие прикреплённый «основной» тред, проходят мимо.
А почему, собственно, ваш говнотред прикреплен? Можно подумать, кодирование WebM - это что-то охуенно сложное или злободневное.
Потому что так решил главный форсер этого дерьма.
>А как из 1440 получается 1920? Растягивается? Но оно же нормально выглядит на картинке, более-менее.
Твой плеер растягивает изображение до 16:9, зная, что это анаморф, да. На деле кадр выглядит как на пике.
Ты будешь делать энкод. Энкод влияет на качество изображения.
>СКОЧАЛ ФФМПЕГ, ТАМ ФАЙЛЫ КАКИЕ ТА НИПАНЯТНА НИХУЯ, ТО ЛИ ДЕЛО МОКРАПИСЬКА ОТ ВОВАНА, ТАМ АДНУ КНОПКУ НАЖАЛ И ВСЁ ЗАЕБЦА
>Вы аутисты.
Ясно.
>Почему просто не взять фри вебм конвертер?
Этот что ли? https://github.com/nixxquality/WebMConverter
Ну поехали.
https://github.com/nixxquality/WebMConverter/blob/7a07b6722269a0f3a0b326ad17d292b8b087a408/MainForm.cs#L50
- frame-parallel не выключен
- tile-columns не задан
- speed не задан
- lag-in-frames слишком маленький
- GOP не задан
= уже просос в качестве.
https://github.com/nixxquality/WebMConverter/blob/7a07b6722269a0f3a0b326ad17d292b8b087a408/MainForm.cs#L1691 это лол, автор эпичный сами знаете кто (для libvpx-vp9 будет кодироваться звук и на первом проходе).
По юзабилити и режимам:
- Конкретный поток субтитров не выбрать: https://github.com/nixxquality/WebMConverter/issues/98#issuecomment-70269744
- Гифки не работают: https://github.com/nixxquality/WebMConverter/issues/132
- Выбор видео/аудио-треков также глючит: https://github.com/nixxquality/WebMConverter/issues/130
- Превью кривое: https://github.com/nixxquality/WebMConverter/issues/71
- Лень дальше багтрекер читать, смотри сам что там кривое и что оно не умеет.
Итого: видео-настройки неоптимальны, гибкости не хватает и куча багов в апстриме, которые автор сам не починит. Справедливости ради стоит отметить, что raw-опции ffmpeg передать всё же можно что редкость в подобных программах. Только чтобы сделать нормально в этой гуёвине, придётся всё также читать мануалы и твоя волшебная "кнопку нажал" от этого не спасает, к сожалению.
Бля, а ведь точно. Взял пиваса, кальмаров, захуярил -quality best в один поток, одел очки и сел дрочить на порнуху с 2д шлюхами, жуя кальмары и выпивая пивас. Охуенно, не то что какие-то мокрые сиськи, которые даже не дадут насладиться процессом.
Не использовать его? http://habrahabr.ru/post/255253/ в комментах адово полыхает у адептов, которые вложились в умершую технологию, весело
Флэш сейчас это как IE6 года 3 назад — ходячий труп. Продолжать его использовать = поддерживать стагнацию, которая так или иначе долго не протянется. Это для всех уже очевидно, только самые слоупоки пока не сделали HTML5 версию. Для чего тебе, кстати?
И что тогда делать?
>Для чего тебе, кстати?
Смотреть кинцо онлай в 720р. Браузер хромиумподобный, если что.
>Смотреть кинцо онлай в 720р
Для этого флэш не нужен, только если сайт не совсем отмороженный. Даже на pornhub всяких уже HTML5 сто лет.
Ты ссылку вообще читал? Тебе отдают флэш, потому что в браузере он доступен. Стоит его удалить и почти везде будет HTML5-версия. Если нет, то давай примеры на твои "почти везде".
>Ты ссылку вообще читал?
Либо я ничего не пони, либо там написана хуита. Если удалить флэш, то везде будет появляться "Для просмотра необходим flash player последней версии"
А не, он всегда на хтмл5 работал.
Все сайты, которые стримят игрушки и не только не умеют в хтмл5 даже с подменой юзерагента. А поддержку лайвстримера ломают через день, ведь он не дает показывать рекламу, и девелоперы лайвстрима очень неохотно выкатывают патчи. Что с этим сделать ты можешь предложить? https://streamup.com/ и http://connectcast.tv/ например. Если ты какой-то магией сможешь заставить их работать без флеша, ну кроме лайвстримера, я тебе отсосу. Особенно раздражает, когда перед началом нужной трансляции выясняется, что лайвстример опять выдает ошибку, патча нет, и приходится включать этот флеш, и держать его на компе в принципе.
Спермопидораха маняврирует.
> Все сайты, которые стримят игрушки и не только не умеют в хтмл5 даже с подменой юзерагента.
А как они тогда на планшетах работают?
> А поддержку лайвстримера ломают через день
Что-то не помню, когда у меня в последний раз не работал твич.
Возьми браузер на вебките и прикинься ведроидом. Ну или в firefox с юзерагентом ведроида правый клик по неработающему видео → inspect element → копируешь ссылку на m3u8 → открываешь в mpv.
Второй не смотрел.
>А как они тогда на планшетах работают?
Не имею представления. На телефоне я нажимаю и оно работает. В браузерах я нажимаю и происходит нихуя. ЮА не тот?
>твич
Я не смотрю твич.
>Возьми браузер на вебките и прикинься ведроидом.
У меня это не работает, так я бы не спрашивал.
>Ну или в firefox с юзерагентом ведроида правый клик по неработающему видео → inspect element → копируешь ссылку на m3u8 → открываешь в mpv.
Это работает и через лайвстример, пока они не переделают плейлист. Ну или будет работать, даже если переделают, скармливать mpv я не пробовал. Но мне интересен просмотр именно через браузер. И второй сайт подобное сделать не позволяет, он с недавних пор даже перестал показывать в инспекторе откуда идет поток, может как-то завернуто в .жс, я в этом плохо разбираюсь.
Суть же не в том, чтобы поставить пару плагинов и пару программ для просмотра стримов 3 раза в неделю, а чтобы это работало в браузерах без флеша.
Зато в режиме crf всё довольно заебись выходит.
> ЮА не тот?
Да. А ещё технологии вроде HLS (плейлист в m3u8) не поддерживаются.
https://developer.mozilla.org/en-US/Apps/Build/Audio_and_video_delivery/Live_streaming_web_audio_and_video
> У меня это не работает
У меня в Midori сработало, понадобилось только UA поставить как у телефона.
>>1299929
Хуй его знает. Я как-то поставил в дефолтах скрипта -qmin 8 -crf 16 -qmax 60 — и проблемы с непопаданием в битрейт практически кончились.
>У меня в Midori сработало, понадобилось только UA поставить как у телефона.
Connectcast не реагирует на нажатие кнопки, как и фф\хром. Стримап вообще роняет мидори. Сейчас нет времени разбираться почему мидори падает, но за наводку спасибо.
Подскажите, чем обмазать вмп классический, чтобы можно было пидорнуть фпс с 24 до 36? И собственно как это делается?
Ну че там у спермоватников?
Гугли Smooth Video Project, по-умолчанию такого профиля нет, так что придется поработать ручками.
Спасибо, друг. Удвоение уже ощутимо улучшает картинку, и артефакты не лезут как на 60 фпс.
https://github.com/pituz/webm-thread/wiki/ffmpeg#Субтитры-наложение-хардсаба
> пробовал и -vf subtitles=file.mkv:si=номер
Не работает без настройки fontconfig'а.
> -c:s copy
Недопустимо для формата webm, если сабы не в webvtt; даже если сабы в webvtt, они не покажутся без специальных html-тегов на странице, которых тут нет; в firefox такие вебмки вообще не будут воспроизводиться
Стоит, но не могу найти в мане нужное. Суть в том, что времени свободного не так уж и много.
>реквестирую тест вебмрелэйтеда в nightly
Работает, починили.
Только ты намутил какую-то хуйню с муксером. И mpv, и фаерфокс показывают продолжительность в 13 минут, из которых проигрывается только около 14 секунд.
>Только ты намутил какую-то хуйню с муксером. И mpv, и фаерфокс показывают продолжительность в 13 минут, из которых проигрывается только около 14 секунд.
Это из-за itsoffset, который я применил вместо -ss. Муксил так:
ffmpeg -i shino-dog.webm \
-itsoffset -802.5 -i '/mnt/home/download/anime/hello-kiniro-mosaic/[HorribleSubs] Hello!! Kiniro Mosaic - 03 [720p].mkv' \
-map 0:a -map 0:v -map 1:s -t 13.84718 -c copy -c:s webvtt shino-dog-s.webm
Видимо, отрицательные значения -itsoffset вызывают сдвиг таймингов всех дорожек так, что в начале файла получается область без кадров.
-itsoffset я применил из-за того, что при -ss на входе сабы резались криво, а кодировать сабы отдельным запуском ffmpeg'а с -ss на выходе было лень.
Бля, не то приклеилось (хотел приклеить shino-dog.webm).
>-itsoffset я применил из-за того, что при -ss на входе сабы резались криво, а кодировать сабы отдельным запуском ffmpeg'а с -ss на выходе было лень
Можно через c:s copy вытащить webvtt (который SRT обычный), пофиксить тайминги и запихнуть обратно.
WebWTT — это не SRT, а несколько другой формат на основе современных web-технологий (а не тех, что были 20 лет назад). За счёт CSS3 он не уступает по фичам ASS/SSA.
> Можно через c:s copy вытащить webvtt (который SRT обычный), пофиксить тайминги и запихнуть обратно.
Ты не указал, каким образом ты предлагашь фиксить тайминги. С этим вполне себе справляется и сам ffmpeg c -ss на выходе, если что.
В аптеку пошли за геморройной мазью.
Жалкий вскукарек спермоватника. Маня, поди антивирус в срачельничьке проверь, да блинов с лопаты пожри.
>WebWTT — это не SRT, а несколько другой формат на основе современных web-технологий
Да ладно.
http://wiki.webmproject.org/webm-metadata/temporal-metadata/webvtt-in-webm#TOC-Why-using-SRT-is-not-a-viable-option
https://en.wikipedia.org/wiki/WebVTT#Main_differences_from_.srt
В SRT тоже какие угодно теги писать можно и после таймштампа дополнительные опции указывать. Чуть-чуть пофиксили SRT по мелочам, это совершенно точно не «другой формат».
>За счёт CSS3 он не уступает по фичам ASS/SSA
Только десктопные плееры это не умеют и вряд ли научатся - CSS3 ты заебёшься реализовывать с нуля, а webkit какой-нибудь для рендера никто встраивать не будет. И редакторов нет.
>Ты не указал, каким образом ты предлагашь фиксить тайминги
Да хоть так:
ts=00:00:05.490
time=`awk -F'[:.]' '{print $13600 + $260 + $3 + $4/1000}' <<< $ts`
offset=10.5
awk -F. '{printf("%02d:%02d:%02d.%d",$1/3600%24,$1/60%60,$1%60,$2)}' <<< $((time+offset))
SRT он тем и хорош, что чем угодно можно тайминг сдвинуть. В общем, я не понял твою проблему и нахрен надо было общую продолжительность корёжить.
https://github.com/cisco/thor
https://tools.ietf.org/html/draft-fuldseth-netvc-thor-00
Сегодня в 16:50 по Москве будут по нему доклад делать.
Вот скрипт на Batch делает так и всё работает: http://pastebin.com/2SQuBzYq
WebVTT, хоть и является потомком SRT, не совместим с ним хотя бы из-за точки вместо запятой в формате времени. Т.е. технически это другой формат.
> В общем, я не понял твою проблему
Потому что не было никакой проблемы, а было только выявление причин сдвига дорожек.
> и нахрен надо было общую продолжительность корёжить.
Исправил:
ffmpeg -hide_banner -i '/mnt/home/download/anime/hello-kiniro-mosaic/[HorribleSubs] Hello!! Kiniro Mosaic - 03 [720p].mkv' -map 0:s -ss 802.5 -t 13.84718 -f webvtt s1.webvtt
ffmpeg -i shino-dog.webm -i s1.webvtt -c copy shino-dog-s1.webm
> кусок кода
Но это же только половина реализации (нет парсинга и вывода сабов), да и кривая, к тому же: в webvtt часы во времени опциональны.
Я бы это делал целиком на awk. Вернее, не делал бы вообще — речь была о том, что ничего придумывать сверх -ss ffmpeg'а не нужно.
>>1300953
Я тебе с самого начала говорил, что нужно резать по ключевым кадрам не источника, а тестового прохода с низким качеством/разрешением. И ещё повторял, когда ты запилил реализацию с нарезкой по GoP'ам источника.
> Можно ведь просто с помощью -ss/-t выбирать части и энкодить их раздельно.
Разрежешь сцену — снизишь эффективность сжатия.
>Т.е. технически это другой формат.
mkv и webm тогда тоже разные контейнеры. Хз нафиг ты к словам придираешься. Фактически WebVTT это тот же SRT с минимальными отличиями. Про то, что отличия есть, я в курсе.
>Я тебе с самого начала говорил
Это не я был.
>нужно резать по ключевым кадрам не источника, а тестового прохода с низким качеством/разрешением
Тут два вопроса:
1) С чего ты взял, что кодек по-другому распределит ключевые кадры, чем в исходном видео?
2) С чего ты взял, что отличия в разрешении/качестве не повиляют на распределение ключевых кадров?
>Разрежешь сцену — снизишь эффективность сжатия.
Эффективность в любом случае теряется. У VP9 8 кадров в буфере и разрезая видео мы их все теряем. То, что придётся ставить ключевой кадр, мелочи по сравнению с этим. У разрезки на равные сегменты свои преимущества — меньше таких склеек хотя бы будет если у тебя ключевые кадры редки в исходнике и нагрузка равномернее по ядрам распределяется. Можно ещё комбинировать, кстати, — 2 треда с помощью tile-columns и использовать две части, например.
>>1301009
mkvmerge прогони поверх файла. Если какая-нибудь метадата/трек внутри ненужные — -map v -map a -map_metadata -1 -c copy. Версии утилит и их названия можно в хекс-редакторе удалить. Можно ещё попробовать что-нибудь затереть, скорее всего плеер чуть-чуть побитый файл осилит. В крайнем случае удали 1/10-1/2 секунды аудио с конца или пару фреймов видео.
>mkvmerge прогони поверх файла
Кстати, ещё у mkvmerge интересная опция --cluster-length. Теоретически может помочь, если туда побольше зафигачить. Ну и всякие дополнительные мелочи вроде --no-cues.
Может кто осилит спеку matroska и скажет что оттуда можно безопасно выкидывать.
> Фактически WebVTT это тот же SRT с минимальными отличиями.
Но не с минимальными же! SRT не может в йоба-трансформации вроде натягивания текста на трёхмерные объекты, например.
> Это не я был.
Думал, что пишет автор того скрипта.
> 1) С чего ты взял, что кодек по-другому распределит ключевые кадры, чем в исходном видео?
Но о том, что за кодек в исходном видео и с какими настройками оно кодировалось, нам вообще неизвестно. VP9 делает GoP'ы длиннее чем большинство остальных кодеков с дефолтными настройками.
> 2) С чего ты взял, что отличия в разрешении/качестве не повиляют на распределение ключевых кадров?
Полагаю, что если отличия и будут, то минимальные. Снижение разрешения/качества никуда не денет смены сцен. Для определения допустимой степени снижения нужны эксперименты.
> Эффективность в любом случае теряется.
Если резать чётко по тем местам, где кодек запилил бы ключевые кадры при кодировании одним куском, никаких потерь от нарезки не будет.
> У VP9 8 кадров в буфере и разрезая видео мы их все теряем.
Так они же теряются на каждом ключевом кадре вне зависимости от того, разрезано на нём видео или нет. Ключевой кадр — потеря всей накопленной инфы, начало воспроизведения с нуля.
> Версии утилит и их названия можно в хекс-редакторе удалить. Можно ещё попробовать что-нибудь затереть, скорее всего плеер чуть-чуть побитый файл осилит.
Для этого нужен редактор EBML, дабы исправлять заголовки блоков (их длину и смещение).
Имеется 50+ коротких видосов с GOPRO, в оригинальном качестве.
Занимают кучу места.
Какой программой можно быстро и просто перекодировать 50 видосов?
>SRT не может в йоба-трансформации вроде натягивания текста на трёхмерные объекты, например
SRT сам по себе ничего не может. Какие теги/атрибуты в плеере реализованы, такие и будут отображаться. Хоть атрибут style с тем же CSS и используй.
>VP9 делает GoP'ы длиннее чем большинство остальных кодеков с дефолтными настройками
Настройки не обязательно дефолтны. Кроме того, при -g 9999 (дефолтном) бывает что вообще ни одного ключевого кадра на минуты воспроизведения на средне-динамичном видео. Как ты из такого видео собрался информацию по сценам доставать?
>Снижение разрешения/качества никуда не денет смены сцен
Для начала надо понять когда вообще ключевой кадр используется. Потому что, как я указал выше, бывает что их вообще практически нет.
>Так они же теряются на каждом ключевом кадре вне зависимости от того, разрезано на нём видео или нет.
Да, здесь протупил. Возможно, кстати, поэтому VP9 не любит ключевые кадры использовать даже при смене сцены. У VP8 буфер кадров гораздо меньше.
>Если резать чётко по тем местам, где кодек запилил бы ключевые кадры при кодировании одним куском
Ну вот что выходит:
1) Идеальный вариант: сделать энкод тем же кодеком, но целиком, и посмотреть в каких местах расставлены ключевые кадры. Фрагменты должны образовать группы по числу тредов с примерно равной суммарной продолжительность каждая. На практике: не имеет смысла.
2) Вариант хуже: кодируем с плохим качеством и меньшим разрешением, используем эту информацию по ключевым кадрам. На практике: у VP9 даже -speed 4 с меньшием разрешением выполняется долго и куски часто очень неравномерны.
3) Компромисс: используем распределение по ключевым кадрам из исходного видео. На практике: у VP9 ключевые кадры всё равно фиг знает где будут.
4) Компромисс 2: режем исходное видео на равные фрагменты. На практике: с -g 9999 вероятно там будет по одному или парочке ключевых кадров в каждом фрагменте, т.е. сильно хуже не стало.
2) может быть чуть эффективнее чем 4) если повезёт с видео (ключевых кадров достаточно и они образуют группы фрагментов со схожей продолжительностью), но 4) будет 100% быстрее. Я скорее сэнкожу просто с tile-columns тогда, чем буду делать лишний проход. Или, если итоговая ширина маленькая, 2 треда с помощью tile-columns + 2 части. Это гораздо практичнее.
>>1301162
Лол, и с битрейтом для видео в 256k, ага.
>SRT не может в йоба-трансформации вроде натягивания текста на трёхмерные объекты, например
SRT сам по себе ничего не может. Какие теги/атрибуты в плеере реализованы, такие и будут отображаться. Хоть атрибут style с тем же CSS и используй.
>VP9 делает GoP'ы длиннее чем большинство остальных кодеков с дефолтными настройками
Настройки не обязательно дефолтны. Кроме того, при -g 9999 (дефолтном) бывает что вообще ни одного ключевого кадра на минуты воспроизведения на средне-динамичном видео. Как ты из такого видео собрался информацию по сценам доставать?
>Снижение разрешения/качества никуда не денет смены сцен
Для начала надо понять когда вообще ключевой кадр используется. Потому что, как я указал выше, бывает что их вообще практически нет.
>Так они же теряются на каждом ключевом кадре вне зависимости от того, разрезано на нём видео или нет.
Да, здесь протупил. Возможно, кстати, поэтому VP9 не любит ключевые кадры использовать даже при смене сцены. У VP8 буфер кадров гораздо меньше.
>Если резать чётко по тем местам, где кодек запилил бы ключевые кадры при кодировании одним куском
Ну вот что выходит:
1) Идеальный вариант: сделать энкод тем же кодеком, но целиком, и посмотреть в каких местах расставлены ключевые кадры. Фрагменты должны образовать группы по числу тредов с примерно равной суммарной продолжительность каждая. На практике: не имеет смысла.
2) Вариант хуже: кодируем с плохим качеством и меньшим разрешением, используем эту информацию по ключевым кадрам. На практике: у VP9 даже -speed 4 с меньшием разрешением выполняется долго и куски часто очень неравномерны.
3) Компромисс: используем распределение по ключевым кадрам из исходного видео. На практике: у VP9 ключевые кадры всё равно фиг знает где будут.
4) Компромисс 2: режем исходное видео на равные фрагменты. На практике: с -g 9999 вероятно там будет по одному или парочке ключевых кадров в каждом фрагменте, т.е. сильно хуже не стало.
2) может быть чуть эффективнее чем 4) если повезёт с видео (ключевых кадров достаточно и они образуют группы фрагментов со схожей продолжительностью), но 4) будет 100% быстрее. Я скорее сэнкожу просто с tile-columns тогда, чем буду делать лишний проход. Или, если итоговая ширина маленькая, 2 треда с помощью tile-columns + 2 части. Это гораздо практичнее.
>>1301162
Лол, и с битрейтом для видео в 256k, ага.
> Хоть атрибут style с тем же CSS и используй.
Формат srt не предусматривает у элементов атрибута style. Это не html.
> Как ты из такого видео собрался информацию по сценам доставать?
Написал же — путём предварительного кодирования с пониженным разрешением и качеством.
> Для начала надо понять когда вообще ключевой кадр используется.
Очевидно же — либо когда в следующий кадр нечего (либо мало чего можно) взять из предыдущего и буферов, либо когда кончается лимит.
> 2) Вариант хуже: кодируем с плохим качеством и меньшим разрешением, используем эту информацию по ключевым кадрам. На практике: у VP9 даже -speed 4 с меньшием разрешением выполняется долго и куски часто очень неравномерны.
То, что куски неравномерны — нормально. Вопрос в том, совпадают ли ключевые кадры с пожатым с полным качеством видео и, если совпадают, можно ли ещё сильнее снижать разрешение/качество.
Есть ещё вариант: брать инфу о смене сцен из лог-файла первого прохода. Но для этого нужно научиться его парсить.
> Лол, и с битрейтом для видео в 256k, ага.
Для x264 при указании crf битрейт вообще не указывается.
Очень. При значении 16 вообще пиздец получается, если использовать битрейт как при 1.
И что?
cpu-used при quality=good влияет на используемые алгоритмы/настройки. Чем он больше, тем хуже качество. В ffmpeg по умолчанию 1 и для VP8, и для VP9. Вот здесь можно посмотреть какие используются алгоритмы для каждого уровня в случае VP9:
https://chromium.googlesource.com/webm/libvpx/+/0fe589f21ea75db7fbee2a84749d24b5666ad232/vp9/encoder/vp9_speed_features.c#118
"Best practices" для борд это speed=1 для VP9 и speed=0 для VP8. Это обычно даёт лучшее качество при разумных ресурсо-затратах на энкод — VP9 тормозной и на speed=0 вообще беда, а VP8 и на speed=0 имеет вменяемую скорость.
>>1301213
>Формат srt не предусматривает у элементов атрибута style
Ссылку на официальную спецификацию формата, откуда ты подчерпнул эти сведения? Перед тем как ты полез в гугль постить мне сюда ссылку на википедию или doom9: официальной спеки нет и по факту теги внутри текста могут использоваться абсолютно любые, главное чтобы плеер умел их отображать. Т.е. например браузер при проигрывании видео с SRT-субтитрами вполне может использовать стилевую информацию из них.
>Написал же — путём предварительного кодирования с пониженным разрешением и качеством
А я тебе написал, что часто бывает всего один ключевой кадр на всё видео или много на первых секундах и на последних. И что ты резать будешь?
>Очевидно же — либо когда в следующий кадр нечего (либо мало чего можно) взять из предыдущего и буферов, либо когда кончается лимит
Да ладно. Ну объясни почему тогда в вебрелейтеде ключевой кадр только один, если совершенно чётко меняется сцена. Или почему здесь >>1270932 в видео с кучей сцен только один ключевой кадр (из /b/ уплыл, к сожалению). Мне вот нихрена не очевидно, я слишком часто видел как libvpx-vp9 не ставил ключевой кадр там, где по всей логике он должен был быть.
>Есть ещё вариант: брать инфу о смене сцен из лог-файла первого прохода
Первых проход в VP9 тоже очень долго выполняется, да ещё и в один поток почему-то.
>Для x264 при указании crf битрейт вообще не указывается
Показалось что там webm на выходе.
>>1301215
>При значении 16
Для VP9 значения за пределами 0..5 не имеют смысла/используются для тестов.
http://www.webmproject.org/docs/encoder-parameters/#2-encode-quality-vs-speed
http://www.webmproject.org/docs/webm-sdk/group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca953ff0eaa2fcdc2ecd627e449b026853
cpu-used при quality=good влияет на используемые алгоритмы/настройки. Чем он больше, тем хуже качество. В ffmpeg по умолчанию 1 и для VP8, и для VP9. Вот здесь можно посмотреть какие используются алгоритмы для каждого уровня в случае VP9:
https://chromium.googlesource.com/webm/libvpx/+/0fe589f21ea75db7fbee2a84749d24b5666ad232/vp9/encoder/vp9_speed_features.c#118
"Best practices" для борд это speed=1 для VP9 и speed=0 для VP8. Это обычно даёт лучшее качество при разумных ресурсо-затратах на энкод — VP9 тормозной и на speed=0 вообще беда, а VP8 и на speed=0 имеет вменяемую скорость.
>>1301213
>Формат srt не предусматривает у элементов атрибута style
Ссылку на официальную спецификацию формата, откуда ты подчерпнул эти сведения? Перед тем как ты полез в гугль постить мне сюда ссылку на википедию или doom9: официальной спеки нет и по факту теги внутри текста могут использоваться абсолютно любые, главное чтобы плеер умел их отображать. Т.е. например браузер при проигрывании видео с SRT-субтитрами вполне может использовать стилевую информацию из них.
>Написал же — путём предварительного кодирования с пониженным разрешением и качеством
А я тебе написал, что часто бывает всего один ключевой кадр на всё видео или много на первых секундах и на последних. И что ты резать будешь?
>Очевидно же — либо когда в следующий кадр нечего (либо мало чего можно) взять из предыдущего и буферов, либо когда кончается лимит
Да ладно. Ну объясни почему тогда в вебрелейтеде ключевой кадр только один, если совершенно чётко меняется сцена. Или почему здесь >>1270932 в видео с кучей сцен только один ключевой кадр (из /b/ уплыл, к сожалению). Мне вот нихрена не очевидно, я слишком часто видел как libvpx-vp9 не ставил ключевой кадр там, где по всей логике он должен был быть.
>Есть ещё вариант: брать инфу о смене сцен из лог-файла первого прохода
Первых проход в VP9 тоже очень долго выполняется, да ещё и в один поток почему-то.
>Для x264 при указании crf битрейт вообще не указывается
Показалось что там webm на выходе.
>>1301215
>При значении 16
Для VP9 значения за пределами 0..5 не имеют смысла/используются для тестов.
http://www.webmproject.org/docs/encoder-parameters/#2-encode-quality-vs-speed
http://www.webmproject.org/docs/webm-sdk/group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca953ff0eaa2fcdc2ecd627e449b026853
Вообще, я не понимаю, что ты пытаешься выиграть.
- Какая ширина у 99% видео? >=512px
- Какая продолжительность видео, при которой паралеллельность больше 2 имеет смысл? От нескольких минут.
- Сколько физических ядер присутствует на 99% десктопных машин максимум? 4.
Таким образом, делим видео меньше 1024 пикселей в ширине на две части и имеет просто один лишний ключевой кадр. При такой длине лишние 10-100кб погоды совершенно не сделают.
Единственное возможное применение, которое я вижу — ускорить энкодинг видео с самыми качественными настройками (-quality best -tile-columns 0 и т.д.). Но для этого надо доказать, что ключевые кадры будут расставлены одинаково для обоих энкодов и что этих ключевых кадров будет достаточно при таких настройках-то. Короче, на практике это всё бесполезно.
Так в два прохода и делаю. Он не дает мне битрейта там, где нужно. Единственное, может быть, я в первом проходе что-то не так делаю? Пишет
>Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
но я так понимаю, что это нормально, т.к. NUL, нет?
Забыл команду
ffmpeg -hide_banner -i video.mkv -ss 00:01.000 -t 89 -pass 1 -threads 4 -pix_fmt yuv420p -map 0:v -vf scale=-1:540 -c:v libvpx-vp9 -b:v 1000k -y -an -speed 4 -f null NUL
Анальные трещины друг дружке зализывают.
>Похоже, вы заблокировали рекламу, поэтому просмотр возможен только в низком качестве.
Как наебать рекламопидоров не отключая адблок?
>на локальном веб-сервере создаешь
я ламер-мимохуй и даже не знаю что это такое, но вангую что это какой-то костыль
Кароч я таки наебал систему просто заменив в трёх строчках hide на show, но я хз как это автоматизировать, может в какой-нибудь ксс засунуть?
А как флэш детектирует адблок?
Рабство ебаное.
>Качает список рекламы в XML c сервера adv.gpm-digital.com
Для этого плагин должен перехватывать эти запросы и подменять их содержимое. Хз, есть ли вообще в фаерфоксовском extensions API такое.
И авторам флэш-плагина легко обойти такие хаки на самом деле - либо зашивать в сам плеер список, либо проверять что отдаваемый XML содержит достаточное количество ссылок, которые также нормально отдаются и имеют правильное разрешение. Тогда в лучшем случае получится подменить только само содержимое картинок. Ещё, чтобы усложнить жизнь, можно использовать айпишник вместо доменного имени, https и какой-нибудь популярный сервер хранения статики. MITM ещё возможен, но усложняется. Короче, будь я автором, я бы придумал дофига разных защит, которые делаются легко, но обходятся костылями вроде кастомного MITM-сервера и т.д.
>но суть-то в том, что SWFDecompiler есть прекрасный, доступный каждому школьнику
Ну раз ты не его сейчас используешь, а MITM, значит не всё так просто. Ну и от декомпиляции свои методы защиты вроде обфускации, расставления ловушек и т.д. Сломать-то можно, конечно, но для этого сервис должен быть достаточно популярным, чтобы кто-нибудь за это взялся. И результат должен того стоить. Профессиональный софт/игры ломают потому что альтернатив нет, а здесь всего-то реклама.
>другое дело что нахуй рутуб не нужен
Помню одно время у них был RTMP (сейчас вроде уже обычный HTTP), и я убил полдня на rtmpdump и подбор параметров, чтобы вытащить поток. Потом оказалось что часть параметров есть в xml-ках с видео-характеристиками, а часть из блог-постов на тему дампа rutube (которые уже устарели к тому времени) взял и всё ок получилось. Иногда на видеохостингах ценные и редкие видео попадаются просто, которых больше нигде не достать.
А вот RTMPE с ютуба пока походу так и не научились дампить: https://github.com/rg3/youtube-dl/issues/343#issuecomment-5720544
Или вот это вообще лол: https://github.com/rg3/youtube-dl/issues/5069#issuecomment-77210998
Или вот: https://adblockplus.org/blog/attention-noscript-users
Очень забавно наблюдать за срачами между блокировщиками и поставщиками рекламы.
https://en.wikipedia.org/wiki/Encrypted_Media_Extensions
https://en.wikipedia.org/wiki/Media_Source_Extensions вот это тоже позволяет неслабо обфусцировать поток, а без него на ютубе только 480p/720p доступны.
Всегда какое-нибудь говно придумают, нельзя просто так взять и отобрать власть у чуваков с деньгами.
>>1301799-кун
С квантизацией, к сожалению, тоже не получается, либо я возвращаюсь к тому же качеству, либо выхожу за лимит. Придется, видимо, резать либо смириться.
>Скрипты пиления webm'ок:
добавь мой что ли
https://github.com/magicgoose/webm-buddy/blob/master/convert-to-webm.py
в 99.9% случаев теперь, так как если в первый раз не попал (по вине ffmpeg), делается по хитрой формуле расчёт нового целевого битрейта на основе получившегося слишком большого битрейта
если зафейлится, можно ещё чуть уменьшить значение коэффициента, но за последние раз 50 мне уже не приходилось так делать
к тому же, я думаю, что будущие версии ffmpeg сами уже не будут так жёстко промахиваться с битрейтом на VP9
>>1302432
веришь или нет, но я ничьи другие скрипты не смотрел, вообще. (поэтому у меня и фич нихуя нет, только те, что для меня самого были мммаксимум необходимые)
>которое до сих пор быстрее всех режет
И чем он быстрее чем -tile-columns 2 или этого >>1300953 ?
И что там вообще плагиатить? Вызов ffmpeg? Ты его запатентовал?
>>1302434
>к тому же, я думаю, что будущие версии ffmpeg сами уже не будут так жёстко промахиваться с битрейтом на VP9
Проблема в libvpx, а не ffmpeg. ffmpeg к кодированию VP9 никакого отношения не имеет.
>на основе получившегося слишком большого битрейта
А как же undershoot? Да и в случае overshoot обычно проще звук переэнкодить, по крайней мере если разница в пределах 0.2-0.5 мб.
>А как же undershoot? Да и в случае overshoot обычно проще звук переэнкодить, по крайней мере если разница в пределах 0.2-0.5 мб.
Не мой вариант, я весьма жёстко отношусь к качеству звука.
В случае undershoot пока не решил, что лучше делать, он встречался лишь на нефотореалистичных видео (скринкасты), их вообще нормально кодировать только в режиме crf пока что можно. в остальных случаях на него можно забить хуй
>Проблема в libvpx, а не ffmpeg. ffmpeg к кодированию VP9 никакого отношения не имеет.
я знаю, имеется в виду, что libvpx-vp9 поставляется вместе с ним
>И что там вообще плагиатить? Вызов ffmpeg?
Вангую, что передачу аргументов через именованные опции
>я весьма жёстко отношусь к качеству звука
И поэтому используешь Vorbis, который на таких битрейтах (-q:a 3 по умолчанию, ~112кбитс) вчистую сливает опусу? Крутая история.
Там обычно требуется всего-то 5-10 кбитс скинуть максимум, чтобы уложиться. Давай лучше будем использовать ABX перед тем как подобные заявления делать?
>он встречался лишь на нефотореалистичных видео (скринкасты)
Не только. На фрагментах из аниме без сложных сцен тоже постоянно undershoot.
обычно ставлю больше, 4 и выше
и там не всё так однозначно
чтобы перейти на опус, мне нужно провести слепые тесты на разных материалах, чтобы оценить его, это долго и пока было лень. ворбис же использую давно в том числе для музыки в плеере и с его особенностями уже знаком
>>1302461
>На фрагментах из аниме
>аниме
догадайся сам, почему этот сценарий я не тестировал и не планирую :з
> обычно ставлю больше, 4 и выше
Я всегда думал, что чем выше значение, тем хуже качество.
>ворбис же использую давно в том числе для музыки в плеере и с его особенностями уже знаком
Ворбис же не лосслес
Мда. Видимо я ошибался.
>Ворбис же не лосслес
отличить от лосслесс-оригинала при кодировании с высоким q (на практике, от 6 и выше) не представляется возможным, это я утверждаю как владелец хороших наушников
>Я всегда думал, что чем выше значение, тем хуже качество.
для звука обычно наоборот, и vorbis в частности традиционно имеет шкалу качества от 0 до 10 (емнип в некоторых модификациях нижняя граница -2, смысл тот же)
при этом, при q от 6 и выше используется "честное" кодирование стереосигнала (то есть с сохранением фазы)
>Я всегда думал, что чем выше значение, тем хуже качество.
Это при квантовании, потому что это знаменатель (чем он больше, тем мы больше теряем, т.к. деление без остатка). А у ворбиса (libvorbis) просто выбор пресета значениями -0.1 до 1.0 с шагом 0.1, всего 12 штук (не для всех дискретизаций и режимов доступны). Вот пресет для 44.1k дискретизации: https://git.xiph.org/?p=vorbis.git;a=blob;f=lib/modes/setup_44.h;h=958e2f8cf8777d043f2d3ccedde88f54a89c234b;hb=HEAD
У libvpx тоже пресеты, но там сделали в обратном порядке — чем больше цифра, тем хуже настройки.
>>1302495
>отличить от лосслесс-оригинала при кодировании с высоким q не представляется возможным
Лосслесс следует использовать всегда если нет жётских ограничений по стораджу и полосе передачи. А в 2015 это выполняется практически всегда и для всего. Дело не в том, что разница слышна, а в том, чтобы не портить файлы и есть много хороших причин их не портить. Monty со мной согласен:
https://xiph.org/~xiphmont/demo/neil-young.html#toc_lf
>>1302552
Но ведь скрипты принципиально разные. У тебя мультитрединг с помощью разделения на части. Пока только одна альтернатива на Batch есть для такого режима (см. ссылку выше).
А простых обёрток и так навалом притом гораздо лучше написанных, потому что webm-buddy это, честно говоря, быдлокод.
Ты там напился что ли? У него первый коммит в репе на полгода раньше, чем у тебя.
>Лосслесс следует использовать всегда если нет жётских ограничений по стораджу и полосе передачи. А в 2015 это выполняется практически всегда и для всего. Дело не в том, что разница слышна, а в том, чтобы не портить файлы и есть много хороших причин их не портить. Monty со мной согласен:
Чувак, я всегда храню лося дома на диске. А в дорогу в плеере лося брать не обязательно.
>>1302552
>-bash: ./convert-to-webm.py: /usr/local/bin/python3: плохой интерпретатор: Нет такого файла или каталога
Установи python 3, или можешь вручную запустить, передав скрипт питону как аргумент. Охуеть проблему нашёл.
>>1302568
>А простых обёрток и так навалом притом гораздо лучше написанных, потому что webm-buddy это, честно говоря, быдлокод.
лол, извини, не знаю я питон. я хз просто, на чём ещё скрипты писать, на баше даже при умении получится нечитаемая хрень, ибо write-only язык>>1302641
>У него первый коммит в репе на полгода раньше, чем у тебя.
если ты про меня, то это не показатель, так как я постоянно клал хуй на этот скрипт, дел как бы других много в жизни. я бы вообще не стал бы его писать, если б не тотальная безысходность в этой теме.
>А в дорогу в плеере лося брать не обязательно
Я когда sansa clip использовал, его flac'ом и кормил. А Rockbox так вообще что угодно вроде APE и ALAC умеет. Sansa поддерживает SD карточки, а они сейчас очень дешёвые. Огромный плюс в том, что ничего переконвертировать не надо. Разве что копировать на карточку дольше.
>Установи python 3
Ты неправильный путь к интерпретатору написал потому что, мало у кого он будет именно в /usr/local/bin. Правильно так: #!/usr/bin/env python3
>если б не тотальная безысходность в этой теме
А чем https://pypi.python.org/pypi/webm не устраивает?
Ну или десяток других: https://github.com/Kagami/webm.py/wiki/Related-links#cli
>я хз просто, на чём ещё скрипты писать
Питон самый практичный в данном случае, я не спорю.
>на баше даже при умении получится нечитаемая хрень, ибо write-only язык
Вот на баше: https://paste.installgentoo.com/view/150c531f Вполне чисто получилось, как по мне. Чище чем у тебя на питоне, стыдись :3
это риторический вопрос?
вангую, у них всё как всегда: нет шелла, нет пакетного менеджера, … нихуя нет.
>Огромный плюс в том, что ничего переконвертировать не надо. Разве что копировать на карточку дольше.
Ну мне один хрен конвертировать, т.к. прогоняю через ReplayGain и кроссфид, т.к. плеер это не умеет сам, а слушать без этого — боль и унижение. И время копирования в случае использования лося как раз решает, т.к. я обычно в последний момент перед выходом закидываю в плеер что-то.
> Чище чем у тебя на питоне, стыдись
мне не стыдно, я прекрасно знаю, что не знаю пистон и прочие скрипты, и в ридми я так и написал, что это быдлокод. мне пох, зато работает.
>А чем https://pypi.python.org/pypi/webm не устраивает?
>Ну или десяток других: https://github.com/Kagami/webm.py/wiki/Related-links#cli
это надо ещё разобраться — к тому же, чет не помню, чтобы в момент начала моей писанины они были. ну или не нашёл тогда.
> Ты неправильный путь к интерпретатору написал
возможно — я не парился вообще, у меня просто homebrew все ссылки в /usr/local/bin делает
>Вполне чисто получилось, как по мне
если язык не знать, то нихуя не понятно, инфа 100%
а пистон, как ни крути, есть исполняемый псевдокод, если уж совсем не извращаться
>если язык не знать, то нихуя не понятно, инфа 100%
Ну давай проведём эксперимент. Новичку или не знающему ни одного языка программирования покажем оба скрипта и попросим примерно объяснить что происходит в обоих и какой из них более понятен.
Ставлю на то, что из-за обилия комментариев, приятного форматирования, консистентных и полных названий функий/переменных и легко прослеживаемой точки входа/ветвления скрипт на баше без всяких сомнений выиграет. При том что делает он больше.
>а пистон, как ни крути, есть исполняемый псевдокод
Это если уметь. В твоём случае написано совсем плохо и непонятно.
>Это если уметь. В твоём случае написано совсем плохо и непонятно.
ладно, не бейте, лучше обоссыте
Да это я же и был, ёпт, свою же программу и обсирал - толку с неё, если она не работала...
Ну да ладно - отставить панику - пофиксил баги: https://github.com/anonymous2ch/2ch-webm-resizer/commit/fea0ff5524df9b8e4335448db8eb0d2a8e36221e
По-ходу надо засесть за чтение доков опять, cpu-used реально портил качество в полное говно почему-то...
Ну к примеру что аргумент в -threads рассчитывается как квадрат логарифма ширины видео/256 по основанию два. Ещё можно добавить врубание/вырубание AQ метода для vp9.
>для vp9 в сети уже есть конкретная более актуальная инструкция
Какая еще инструкция в сети, ёпт?
man ffmpeg-codecs же почитай - там наиболее актуальная инфа, которой нигде в сети больше нету:
libvpx
VP8/VP9 format supported through libvpx.
Requires the presence of the libvpx headers and library during configuration. You need to explicitly
configure the build with "--enable-libvpx".
Options
The following options are supported by the libvpx wrapper. The vpxenc-equivalent options or values are listed
in parentheses for easy migration.
To reduce the duplication of documentation, only the private options and some others requiring special
attention are documented here. For the documentation of the undocumented generic options, see the Codec
Options chapter.
To get more documentation of the libvpx options, invoke the command ffmpeg -h encoder=libvpx, ffmpeg -h
encoder=libvpx-vp9 or vpxenc --help. Further information is available in the libvpx API documentation.
b (target-bitrate)
Set bitrate in bits/s. Note that FFmpeg's b option is expressed in bits/s, while vpxenc's target-bitrate
is in kilobits/s.
g (kf-max-dist)
keyint_min (kf-min-dist)
qmin (min-q)
qmax (max-q)
bufsize (buf-sz, buf-optimal-sz)
Set ratecontrol buffer size (in bits). Note vpxenc's options are specified in milliseconds, the libvpx
wrapper converts this value as follows: "buf-sz = bufsize 1000 / bitrate", "buf-optimal-sz = bufsize
1000 / bitrate 5 / 6".
rc_init_occupancy (buf-initial-sz)
Set number of bits which should be loaded into the rc buffer before decoding starts. Note vpxenc's option
is specified in milliseconds, the libvpx wrapper converts this value as follows: "rc_init_occupancy 1000
/ bitrate".
undershoot-pct
Set datarate undershoot (min) percentage of the target bitrate.
overshoot-pct
Set datarate overshoot (max) percentage of the target bitrate.
skip_threshold (drop-frame)
qcomp (bias-pct)
maxrate (maxsection-pct)
Set GOP max bitrate in bits/s. Note vpxenc's option is specified as a percentage of the target bitrate,
the libvpx wrapper converts this value as follows: "(maxrate 100 / bitrate)".
minrate (minsection-pct)
Set GOP min bitrate in bits/s. Note vpxenc's option is specified as a percentage of the target bitrate,
the libvpx wrapper converts this value as follows: "(minrate 100 / bitrate)".
minrate, maxrate, b end-usage=cbr
"(minrate == maxrate == bitrate)".
crf (end-usage=cq, cq-level)
quality, deadline (deadline)
best
Use best quality deadline. Poorly named and quite slow, this option should be avoided as it may give
worse quality output than good.
good
Use good quality deadline. This is a good trade-off between speed and quality when used with the cpu-
used option.
realtime
Use realtime quality deadline.
speed, cpu-used (cpu-used)
Set quality/speed ratio modifier. Higher values speed up the encode at the cost of quality.
nr (noise-sensitivity)
static-thresh
Set a change threshold on blocks below which they will be skipped by the encoder.
slices (token-parts)
Note that FFmpeg's slices option gives the total number of partitions, while vpxenc's token-parts is given
as "log2(partitions)".
max-intra-rate
Set maximum I-frame bitrate as a percentage of the target bitrate. A value of 0 means unlimited.
force_key_frames
"VPX_EFLAG_FORCE_KF"
Alternate reference frame related
auto-alt-ref
Enable use of alternate reference frames (2-pass only).
arnr-max-frames
Set altref noise reduction max frame count.
arnr-type
Set altref noise reduction filter type: backward, forward, centered.
arnr-strength
Set altref noise reduction filter strength.
rc-lookahead, lag-in-frames (lag-in-frames)
Set number of frames to look ahead for frametype and ratecontrol.
error-resilient
Enable error resiliency features.
VP9-specific options
lossless
Enable lossless mode.
tile-columns
Set number of tile columns to use. Note this is given as "log2(tile_columns)". For example, 8 tile
columns would be requested by setting the tile-columns option to 3.
tile-rows
Set number of tile rows to use. Note this is given as "log2(tile_rows)". For example, 4 tile rows
would be requested by setting the tile-rows option to 2.
frame-parallel
Enable frame parallel decodability features.
aq-mode
Set adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3: cyclic refresh).
colorspace color-space
Set input color space. The VP9 bitstream supports signaling the following colorspaces:
rgb sRGB
bt709 bt709
unspecified unknown
bt470bg bt601
smpte170m smpte170
smpte240m smpte240
bt2020_ncl bt2020
For more information about libvpx see: <http://www.webmproject.org/>
>для vp9 в сети уже есть конкретная более актуальная инструкция
Какая еще инструкция в сети, ёпт?
man ffmpeg-codecs же почитай - там наиболее актуальная инфа, которой нигде в сети больше нету:
libvpx
VP8/VP9 format supported through libvpx.
Requires the presence of the libvpx headers and library during configuration. You need to explicitly
configure the build with "--enable-libvpx".
Options
The following options are supported by the libvpx wrapper. The vpxenc-equivalent options or values are listed
in parentheses for easy migration.
To reduce the duplication of documentation, only the private options and some others requiring special
attention are documented here. For the documentation of the undocumented generic options, see the Codec
Options chapter.
To get more documentation of the libvpx options, invoke the command ffmpeg -h encoder=libvpx, ffmpeg -h
encoder=libvpx-vp9 or vpxenc --help. Further information is available in the libvpx API documentation.
b (target-bitrate)
Set bitrate in bits/s. Note that FFmpeg's b option is expressed in bits/s, while vpxenc's target-bitrate
is in kilobits/s.
g (kf-max-dist)
keyint_min (kf-min-dist)
qmin (min-q)
qmax (max-q)
bufsize (buf-sz, buf-optimal-sz)
Set ratecontrol buffer size (in bits). Note vpxenc's options are specified in milliseconds, the libvpx
wrapper converts this value as follows: "buf-sz = bufsize 1000 / bitrate", "buf-optimal-sz = bufsize
1000 / bitrate 5 / 6".
rc_init_occupancy (buf-initial-sz)
Set number of bits which should be loaded into the rc buffer before decoding starts. Note vpxenc's option
is specified in milliseconds, the libvpx wrapper converts this value as follows: "rc_init_occupancy 1000
/ bitrate".
undershoot-pct
Set datarate undershoot (min) percentage of the target bitrate.
overshoot-pct
Set datarate overshoot (max) percentage of the target bitrate.
skip_threshold (drop-frame)
qcomp (bias-pct)
maxrate (maxsection-pct)
Set GOP max bitrate in bits/s. Note vpxenc's option is specified as a percentage of the target bitrate,
the libvpx wrapper converts this value as follows: "(maxrate 100 / bitrate)".
minrate (minsection-pct)
Set GOP min bitrate in bits/s. Note vpxenc's option is specified as a percentage of the target bitrate,
the libvpx wrapper converts this value as follows: "(minrate 100 / bitrate)".
minrate, maxrate, b end-usage=cbr
"(minrate == maxrate == bitrate)".
crf (end-usage=cq, cq-level)
quality, deadline (deadline)
best
Use best quality deadline. Poorly named and quite slow, this option should be avoided as it may give
worse quality output than good.
good
Use good quality deadline. This is a good trade-off between speed and quality when used with the cpu-
used option.
realtime
Use realtime quality deadline.
speed, cpu-used (cpu-used)
Set quality/speed ratio modifier. Higher values speed up the encode at the cost of quality.
nr (noise-sensitivity)
static-thresh
Set a change threshold on blocks below which they will be skipped by the encoder.
slices (token-parts)
Note that FFmpeg's slices option gives the total number of partitions, while vpxenc's token-parts is given
as "log2(partitions)".
max-intra-rate
Set maximum I-frame bitrate as a percentage of the target bitrate. A value of 0 means unlimited.
force_key_frames
"VPX_EFLAG_FORCE_KF"
Alternate reference frame related
auto-alt-ref
Enable use of alternate reference frames (2-pass only).
arnr-max-frames
Set altref noise reduction max frame count.
arnr-type
Set altref noise reduction filter type: backward, forward, centered.
arnr-strength
Set altref noise reduction filter strength.
rc-lookahead, lag-in-frames (lag-in-frames)
Set number of frames to look ahead for frametype and ratecontrol.
error-resilient
Enable error resiliency features.
VP9-specific options
lossless
Enable lossless mode.
tile-columns
Set number of tile columns to use. Note this is given as "log2(tile_columns)". For example, 8 tile
columns would be requested by setting the tile-columns option to 3.
tile-rows
Set number of tile rows to use. Note this is given as "log2(tile_rows)". For example, 4 tile rows
would be requested by setting the tile-rows option to 2.
frame-parallel
Enable frame parallel decodability features.
aq-mode
Set adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3: cyclic refresh).
colorspace color-space
Set input color space. The VP9 bitstream supports signaling the following colorspaces:
rgb sRGB
bt709 bt709
unspecified unknown
bt470bg bt601
smpte170m smpte170
smpte240m smpte240
bt2020_ncl bt2020
For more information about libvpx see: <http://www.webmproject.org/>
ага, просто перечислены все параметры без объяснения их практических эффектов. скажи ещё пойти исходный код почитать и выучить матан до 80лвл.
>slices (token-parts)
>Note that FFmpeg's slices option gives the total number of partitions, while vpxenc's token-parts is given
По-ходу не нужны слайсы моим уже, пускай вон школьник читает доки и переписывает со слайсами, лол, а то в 2 раза дольше кодируется (но приличнее чем раньше, когда раз в 7 дольше ждать приходилось)...
> без объяснения их практических эффектов
Там написано что они делают. Да и большинство параметров унифицированные и их значения можно посмотреть из доков x264
>man ffmpeg-codecs же почитай - там наиболее актуальная инфа, которой нигде в сети больше нету
ffmpeg всего лишь враппер для передачи параметров libvpx. Самая актуальная информации в исходниках libvpx и мэйлинг-листах. Например, такая:
http://permalink.gmane.org/gmane.comp.multimedia.webm.devel/2359
Всё это постилось и не один раз в этом треде, кстати.
>>1302790
>скажи ещё пойти исходный код почитать и выучить матан до 80лвл
Да, только так и никак иначе. Иначе будешь бездумно копировать чужие инструкции с ошибками, что ты и сделал, включив frame-parallel, например.
>>1302796
Слайсы только в VP8 есть. В VP9 тайлы.
>Там написано что они делают
> tile-columns
> frame-parallel
Там написано только прямой эффект, а как это сказывается на результате с точки зрения качества — хуй проссышь.
> Там написано только прямой эффект, а как это сказывается на результате с точки зрения качества — хуй проссышь.
Попробуй и узнаешь к примеру. Или ты любишь читать чужие тесты?
>я не шарю в разработке видеокодеков, а ты?
У тебя какой-то очень странный способ ведения диалога. Вначале явно заявляешь о своём дилетанстве, а зачем пытаешься что-то доказать при этом. Не шаришь, ну так изучай, в этом треде было приведено много ссылок на информацию и книжки по основам видеокодирования и всего прочего. Какой смысл в твоих априори дилетанских высказываниях? Здесь в треде принято делиться проверяемой информацией и систематично подходить к изучению новых вопросов.
>ну если инфа на wiki.webmproject.org — хуйня
Она неточна и устарела. Для тебя это неожиданность? Ты думал что раз размещено на поддомене официального сайта, то это даёт какие-то гарантии? Слово вики ни на что не намекает?
На самом деле хуже всего не пердолик и не спермач, а ватник. Ну это, это хуже всего в общем
Так что дополняющий вопрос.
Чо там у спермоватников?
Хуже всего на свете это хохол. Это хуже чем пиндос, черножопый хач-грузин или желтолицый. Хохломразь это вид диградировавшего человека.
Но даже у нормальных людей может оказаться ген хохломрази, ведь все люди произошли от одной обезъяны. Но каким то чудом в ген хохлов затесался ген свыни.
на правах просвещения
Пускай. Я буду называть тебя спермохохлом, ведь тебе съебать на пенду это вопрос времени.
Ты небось еще Киселева смотришь, пуская пузыри и самоподдувая срачло? Смешной ты хохол.
Ты не пидораха, ты хуже. Ты — пердоватник.
Как всегда — переустанавливают Microsoft Ширпотреб ОС™, пердолятся в реестор и поворачивают в своем срачле антивирусы.
Ничего нового.
Пердоля, зачем ты комментируешь свои действия? Скажи Пердоля, ты шизофреник?
Пердоля, у тебя все каникулы пройдут под девизом ни дня без перефорса?
если ты не пердоля тебя это не должно ебать. НО ВЕДЬ ТЫ ПЕРДОЛЯ! Ты ни один пост о себе не оставишь без внимания.
Пердоля, у тебя кроме детского перефорса вообще ничего нет.
Пердоля, перестань себя консолькой в срачло любить и говорить о себе во множественном числе.
>ВРЁТИ1!!
>ваши пруфы не пруфы
>ссылочку на rt пожалуйста
Лол. У Пердоли жопу защипало от бессилия.
Так это оба явления являются следствием друг друга. Попердолится консолькой в срачник - и начинает сам с собой разговаривать. Поговорит сам с собой - и консолью в сракотан наяривает. Замкнутый цикл выходит.
http://my.mail.ru/mail/chens/photo/58
Че ж хорошего-то, тебя сейчас опять аминазином обколют и оставят слюни пускать.
> продолжает форсить свое порванное очко
Ну нахуя ? Сказали же тебе, что тебя никто ебать не будет.
Пердоля, перестань других выдавать за себя.
Целый тред вон создали >>1303416, видать пукан от антивируса в срачельничке совсем разметало.
Копирасты или что? Там из не-RF вроде только декодеры были, не похоже на вменяемую причину для блокировки.
Олсо, вот ещё живой: https://github.com/Wsheerio/webmConverter
Хотя, вроде говорят что из-за слова Retards в названии. Страннота, ведь DICSS так и не был заблокирован.
нахуя ты ежедневно срешь в прикрепленном треде, пидор? лулзов никаких, одно уныние, даже хохлы не те
Для поддержания баланса.
Ютуб блокируют.
>Тред про кодирование вебмок. Слепые спермобляди, ищущие прикреплённый «основной» тред, проходят мимо.
Очередной слепошарый подросток из вкудахта.
Съеби быдло. Ты заслужил терпеть измены бляди.
>This repository has been disabled.
Косули сосули, а Xmedia Recode-боги продолжают клпать свое говно в обычном режиме.
Я видеочасть так делал, получается компактно, как лучше — хз.
[code]
#!/bin/bash
ffmpeg -loop 1 -i "$1" -vf "scale=-1:min(ih\,720)" -pix_fmt yuv420p -vcodec libvpx-vp9 -lossless 1 -speed 4 -lag-in-frames 1 -threads 8 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 0 -r 1 -g 9999 -to "$2" pic.webm
[/code]
у тебя проблема в том, что на входе гиф, он трактуется как видео, а не картинка, и для видео ффмпег не умеет опцию loop (что есть довольно говняно, да)
Пердоля - местный шизик, психически невменяемый баклофеновый объебос. Страдает расстройством самоидентификации, любит пердолиться консолью в жопу и разговаривать сам с собой. Регулярно устраивает антифорсы, перефорсы, анально-консольную клоунаду и семенство. По непроверенным сведениям, Пердоля протащил в срачле мобильник и капчует из дурки.
если кому делать нечего, можете каких-нибудь охуительных советов дать кроме очевидного "пошёл нахуй пидарас"
Можешь ворбис выкидывать, опус его полностью заменяет на всей шкале битрейта. Разве что в целях совместимости. Вот официальное мнение разработчиков и Vorbis, и Opus:
https://wiki.xiph.org/OpusFAQ#Will_Opus_replace_Vorbis_in_video_files.3F
16:14 < q> Are there any disadvantages of using Opus for high bitrates compared to Vorbis, in terms of quality?
16:17 < ron_> aside from "maybe a few things that support vorbis still don't support opus yet", not really.
16:18 < ron_> once you're at a high enough bitrate for it to be transparent, it's transparent. and opus should generally get there at a lower bitrate than vorbis.
16:19 < ron_> there's might be some outliers to that, but they're probably good candidates for further tuning of opus :)
Ну и нафиг ещё один скрипт, лучше бы существующие дописывал.
>once you're at a high enough bitrate for it to be transparent, it's transparent. and opus should generally get there at a lower bitrate than vorbis
вот эта часть сомнительна, но для типичных use case (вписаться в лимит сосача) возможно он и ни к чему
>Ну и нафиг ещё один скрипт, лучше бы существующие дописывал.
просто так, развлечение типа такое, заместо игор и троллинга сосача
есть столько способов, что даже лень писать
но главное, использовать для этого программу lame с параметрами -q 0 -V 0
а ещё лучше — сначала задуматься, нахрен тебе именно mp3, ведь он самый неэффективный из популярных lossy форматов
Пердоля плиз.
а если я хочу только ffmpeg'ом без посторонних программ?
>нахрен тебе именно mp3
а что же еще? он самый популярный, его везде используют, пусть и у меня тоже будет.
Написал им в саппорт, пока молчат.
Поговаривают что из-за слова Retards в названии, но ни одного пруфа не видел. Ещё вероятно овнеров оригинала/форков можно попытаться по мылу/в ирце половить, но из саппорта гитхаба должны и так ответить.
установил ffmpeg из последнего коммита, указываю опцию -undershoot-pct 5, а ему похуй — битрейт всё равно получается раз в 6 меньше, чем целевой, и качество говно.
речь о двухпроходном кодировании с целевым битрейтом в vp9
при этом, если использовать всё те же параметры, но вместо целевого битрейта использовать crf, то нормального качества и размера добиться легко.
что можно ещё сделать, чтобы битрейт получался какой надо, а не какой попало?
Сделал все как в видео. Единственно что хочу по другому это звук в вебэмках. Но миксер выдает траблу пикрелейтед. В чем может быть проблема?
А собственно не у кого ее нету? Можете залить на рыгыхост?
И в чем хуйня? Тут нет твоей любимой консолечки красноглазик? Зато тут есть твои любимые консоле проги. И даже скрипт. Ты сможешь понять что в нем не так?
Показать полный вывод ты не хочешь?
короче, написал упоротый код, который просто за несколько проходов угадывает нужное значение crf
но, разумеется, не тупым поиском, а похитрее, так что хорошее значение за 2-4 прохода получается найти, как правило.
отсюда можешь спиздить: https://github.com/magicgoose/TotalShrinker
(прога ужимает все png и jpeg в указанной директории, но там ещё код не причёсанный, некогда было нормально сделать)
на шелле не умею писать, написал по-быстрому на том, что знал
и там ещё всякая поебень есть, которая тебе, вероятно, не нужна, поэтому и много кода
ffmpeg -i audio.m4a -c:a pcm_s16le audio.wav
Я при этом теряю в качестве или нет?
Нет, хуже чем есть не станет, но при повторном сжатии в lossy потеряешь.
теряешь, так как необходимо ещё под целые 16битные числа семплы подгонять, а это квантование, клиппинг, гроб, кладбище, пидор. а вот если pcm_f32le, то уже можно считать, что не теряешь
хотя и в этом случае преобразование, в общем случае, необратимое — уже не сможешь сделать в точности тот файл, что был
Работает - и хорошо, хуле доебался?
Сделал webm на сайте http://video.online-convert.com/ru/convert-to-webm.
Как убрать превью в webm (черный экран)?
Почему на всех нормальных видеохостингах и имиджбордах вроде 8chan превью делается из кадра, находящегося посередине видео, а на 2ch.hk берётся первый фрейм, который почти всегда чёрный или белый?
Всем сисек
>на древнем говнокомпе в мусарне воспроизвести без танцев с бубном
>>1307279
>с минимальной потерей качества или вовсе без нее
взаимоисключающие параграфы
ну то есть если у тебя место на диске не особо ограничено, то можно и в хуёвый формат перевести, но соотношение качество/размер будет неизежно проёбано
скорее всего самый дубовый вариант — это mpeg1, для всего остального в теории могут быть проёбаны кодеки у них
я бы на твоём месте сделал его, используя ffmpeg вот такими параметрами:
ffmpeg -i (input) -c:v mpeg1video -q:v 6 -b:a 224k output.mpg
так получается на мой взгляд толковый компромисс между размером и качеством, если что-то не норм — надо менять число после -q:v, чем больше оно, тем сильнее сжатие видео
>>1307279
разумеется, вместо (input) подставить путь к входному файлу
короч тут нужно использовать консоль, чтобы получить годный результат, а если вдруг консоли боишься, то можешь попытаться сделать то же самое в avidemux, но я не рекомендую, так как это забагованное нестабильное говно. лучше научиться пользоваться консолью
Лол, Пердоле пригорело. Зачем сам с собой разговаривать начал, убогий?
А нахуя? Из консоли проще. Если только это не винда, конечно — там cmd/powershell вместо нормальной консоли, и там будут все сорта виндопроблем типа кодировкопроблем и т.д. Но нахуя сидеть на винде? Ради игр и 1С? Пожалей себя, жизнь всего одна и слишком коротка, чтобы ебаться с этим всем.
1С давно есть под прыщи, большинство игр — тоже (либо нативно, либо работают под вайном).
Сперму используют только привыкшие к ней и к софту под неё утята, которые патологически не могут осилить консоль.
но если нужен фотошоп, лично я бы скорей добился установки и работы хакинтоша, чем сидел на винде. к счастью, сейчас это не нужно делать, так как Бог наградил яблоноутом.
Проиграл.
https://appdb.winehq.org/objectManager.php?bShowAll=true&bIsQueue=false&bIsRejected=false&sClass=version&sTitle=&sReturnTo=&iId=25607
>не работает: Opening PSD Files
в арче:
> Installs? No, but has workaround
на некоторых дистрах вообще не работает
>куча зарепорченных не решённых багов
это если не считать самого факта, что не нативное приложение будет работать и выглядеть коряво.
охуенная поддержка, чо
> не работает: Opening PSD Files
Читал жопой:
> Opening PSD Files ( Fix: winetricks atmlib )
> winetricks atmlib
> Everything works.
"ffmpeg -i x.mp4 x.flac"
x.mp4 весит 3.2 мегабайта, а x.flac 43 мегабайт. ЧЯДНТ?
кекнул с тебя
> ЧЯДНТ?
Конвертируешь из lossy-формата в lossless. Лучшее, что можно сделать — оставить дорожку в исходном формате, и при необходимости сменить контейнер:
ffmpeg -i in.mp4 -map 0:a -c copy out.m4a
Кодируешь из lossy-формата в lossless
У тебя двоеточие и бэкслэш не экранированы. Кури в вики про экранирование спецсимволов.
Мой тебе совет. Кидай сабы в ffmpeg/bin и пиши -vf subtitles="sub.ass"
Пердолиться намного меньше будешь
Детектор в порядке: только пердоля может из одной команды в консоли устраивать пердолинг.
> я пердолюсь — значит и остальные пердолятся
Пердолик, смирись уже с тем, что прыщи не для тебя.
лол, оперативно потёрли тот высер
Что делать?
Примерный шаблон кодирования:
- ffmpeg -i rawoutput.avi -c:v vp9 -qmin 12 -crf 16 -qmax 40 -b:v 700k -lag-in-frames 25 -c:a libopus -b:v 96k -vbr on -y -an pass 1 output.webm
- ffmpeg -i rawoutput.avi -c:v vp9 -qmin 12 -crf 16 -qmax 40 -b:v 700k -lag-in-frames 25 -c:a libopus -b:v 96k -vbr on -y pass 2 output.webm
Может нужно что-нибудь добавить?
qmin и qmax не нужны, алгоритм лучше знает, какие значения использовать, достаточно выбрать crf и b:v
и, не понятно, нахрен тебе одновременно crf и b:v в двух проходах
>алгоритм лучше знает, какие значения использовать
Ничего что алгоритм далеко не идеален с учётом временных рамок, которые на него накладываются? Я б ещё понял при -quality best, но и там автоматика может допустить высокий фактор квантования в некоторых сценах, т.к. алгоритмы оценивания важности сохранения деталей в конкретном кадре весьма приближённые.
>достаточно выбрать crf
Разброс QP будет слишком маленьким, далеко от заданного параметра энкодер отходить не будет, даже на простых сценах, где отсутствие CQ сэкономило бы битрейт.
>нахрен тебе одновременно crf и b:v в двух проходах
Он, вероятно, опечатался, там -b:a должно было быть. Ну и звук на первом проходе не нужен, да.
>>1311071
https://ffmpeg.org/ffmpeg.html#Advanced-Video-options
>на простых сценах, где отсутствие CQ сэкономило бы битрейт
простые сцены при постоянном Q как раз и будут меньше места занимать
у него и сначала b:v, там 700k, это точно не аудио (опус в принципе больше 510 не допускает)
>простые сцены при постоянном Q как раз и будут меньше места занимать
Это как? При одинаковом факторе (параметре) квантования (QP) один и тот же блок весит одинаковое число байт. Суть же в том, что при VBR у тебя разброс QP какой угодно (от 0 до 63, если не указаны qmin/qmax), а при CRF только в небольших окрестностях заданного значения. При CQP вообще для всех кадров применяется одинаковый фактор квантования: http://slhck.info/articles/crf (при одном проходе в libvpx будет как раз CQP).
>у него и сначала b:v, там 700k, это точно не аудио (опус в принципе больше 510 не допускает)
Я про тот, который после libopus.
>При одинаковом факторе (параметре) квантования (QP) один и тот же блок весит одинаковое число байт
нет, совсем не так
размер блока = сложность блока / фактор квантования
можешь сам убедиться в этом, сжав несколько разных видео с одинаковым разрешением и одинаковым Q
Спасибо.
Ну смотри. Допустим есть группа кадров, которые выглядят хорошо для человека при QP=30. А ты, например, указал CRF=15 и это укладывается в target bitrate, соответственно, кодек выберет QP=15. Зачем тратить лишний битрейт на эту сцену, если она уже выглядит хорошо?
При VBR на первом месте максимальное качество при заданном размере, при CQ заданное качество с ограничением по размеру (или без если -b:v 0). По крайней мере как я это понимаю. Надо бы будет получше в http://www.webmproject.org/docs/encoder-parameters/ вчитаться.
>Суть же в том, что при VBR у тебя разброс QP какой угодно
ровно настолько>>1311298
>Ну смотри. Допустим есть группа кадров, которые выглядят хорошо для человека при QP=30. А ты, например, указал CRF=15 и это укладывается в target bitrate, соответственно, кодек выберет QP=15. Зачем тратить лишний битрейт на эту сцену, если она уже выглядит хорошо?
но ты не можешь вручную отдельным кадрам ограничить QP до 30+
и жёсткое ограничение как раз уменьшает способность кодера выбирать разные QP на разную "чувствительность к качеству" кадра.
>При VBR на первом месте максимальное качество при заданном размере, при CQ заданное качество с ограничением по размеру (или без если -b:v 0)
CQ и CRF не надо путать, CQ — это использование тупо одного и того же Q везде. Что не есть оптимально, так как кадры с быстрым движением можно сшакалить чуть больше, как правило.
при VBR на первом месте вписаться в битрейт (впрочем vp9 адово фейлит эту задачу даже при двух проходах), при этом по возможности иметь постоянное визуальное качество на протяжении всего видео.
при CRF на первом месте сохранить одинаковое визуальное качество на протяжении всего видео, эффективность кодирования при этом лучшая, но размер файла заранее неизвестен.
CQ — по сути как CRF, но более тупоголово, без учёта разной восприимчивости к деталям в зависимости от движения и прочих факторов, поэтому эффективность кодирования хуже, если оценивать по визуальному качеству, а не всяким метрикам.
в идеале всё, кроме CRF, не нужно вообще. можно выбрать минимальный CRF, ниже которого уже не видно разницы, и пытаться "угадать" значение CRF ≥ минимального, при котором размер файла не больше приемлемого — это будет работать всегда, но это сложно.
но на эту тему ведутся работы, можно за 3-4 раза весьма точно угадать CRF, беря результаты сделанных проходов и решая систему уравнений из предположения, что размер файла = A * (B ^ CRF), где A и B — некие неизвестные числа.
бля, в начале поста какой-то треш вставился
>CQ и CRF не надо путать, CQ — это использование тупо одного и того же Q везде
Это ты путаешь. CQP это один и тот же QP, CQ это CRF с ограничением на битрейт. Смотри статью выше и документацию libvpx. Большую часть твоего поста комментировать не буду, т.к. предпоссылки неверные.
>при VBR на первом месте вписаться в битрейт (впрочем vp9 адово фейлит эту задачу даже при двух проходах), при этом по возможности иметь постоянное визуальное качество на протяжении всего видео
Это откуда ты вообще взял? В зависимости от кадра/кадров у тебя влияние QP на качество разное. Задача VBR иметь не постоянное, а лучшее качество. При CRF качество (QP) тоже варьируется, но в более жёстких пределах, чтобы для человека выглядело получше и более-менее одинаково.
>Скорость борды: 408 п./час
Блять, вк/б/ыдло засирает наш уютный /s/. Что делать будем?
Читаешь документацию @ устанавливаешь.
Можно проще: грузишь юзерфриндли-дистр с лайвсиди и тыкаешь кнопки. Установить какую-нибудь убунту таким способом обычно получается, но потом бывает что приходится собирать ошмётки пердака по всей доске. Это путь пердоликов, не следуй им.
Перекатываться на нормальную борду.
>Можно проще: грузишь юзерфриндли-дистр с лайвсиди и тыкаешь кнопки. Установить какую-нибудь убунту таким способом обычно получается, но потом бывает что приходится собирать ошмётки пердака по всей доске
А что там будет не так-то?
> А что там будет не так-то?
Знаний не будет. Будешь действовать согласно спермонавыкам — например, скачаешь дрова на видеокарту с сайта производителя и поставишь мимо пакетного менеджера, а потом при обновлении иксы отвалятся.
В прыщедистрибутивах есть механизмы вроде того же пакетного менеджера, отсутствующие в сперме или реализованные в ней кардинально иначе. Если не понимать принципов их работы, то, сунувшись администрировать систему, запросто можно схлопотать граблями по ебалу. Что, впрочем, справедливо для любого сложного механизма, спроектированного в расчёте на грамотного пользователя.
Олсо, прыщетред был где-то чуть ниже.
>Потренируйся на виртуалке
Не получается там разрешение поставить, 640х480 и все, дрова вирт машины ставил все перепробовал, видимо о линуксе тут и говорить нечего
а ты через ssh подключайся
> Не получается там разрешение поставить, 640х480 и все
В kvm/spice всё нормально.
Олсо, если это шелл для кодирования webm, то без виртуального дисплея вообще можно обойтись, либо использовать его только для конфигурации сети и ssh.
Вот такая вот хуита в оверчане
>>1315616
http://developer.android.com/guide/appendix/media-formats.html
Обновляйтесь до 5.0.
Когда вышла 5.0 я глянул обзоры, и там много где используется светлая тема оформления, включая меню настроек
Потому что этой микрописькой пользуются. И это самая функциональная микрописька в природе. Так-то.
упитанно
Ну а в тематике 6
>>не постоянное, а лучшее качество
>деление на ноль же
Нет у тебя. Если, например, поставлены жёсткие ограничения по размеру, то нафига делать видео с плохим, но равномерным качеством на всей его продолжительности? Да и даже если нет ограничений, зачем тратить битрейт на сцены, которые выглядят хорошо при большем QP, чем который ты указал? Лучше использовать больший QP на простых сценах, а меньший на сложных. При CRF у тебя по определению далеко QP отходить от указанного не станет, при VBR он выберет минимальный, укладывающийся в битрейт и зависящей от сцены. Также не следует путать наблюдаемое человеком качество картинки и QP. Ты между ними зачем-то поставил знак равенства.
Вообще, может я и пизжу, но пока никто убедительно не доказал обратное. В рассылке у них спросить что ли как на самом деле CRF/rate control работают.
>делать видео с плохим, но равномерным качеством на всей его продолжительности
если где-то сделать лучше, оставив тот же размер, то в остальных местах станет совсем пиздец
Бля, так я тебе уже 3 раза сказал, что можно сэкономить битрейт, сделав некоторые простые сцены с QP побольше. В общем, если не лень будет, то сэнкожу группу разных изображений с разным QP и посмотрим, везде ли наблюдаемое качество изменяется пропорционально QP или нет.
Короче, я понял кто это в >>1306775 был. Это та же мелкобуква-питонокодер, которая вначале втирала охуительные истории про ворбис, затем переключилась на видео.
Можешь отдельно разные участки видео кодировать: динамичные и статичные, чтобы сэкономить битрейт, например.
Можешь играться со значениями qmin, crf, qmax.
Охуительные истории.
Родина дала технологии, но нет, хочу заниматься ручной работой с очень сомнительным профитом.
Пердоликами не рождаются
так эти дебилы теперь заменили retard на git и радуются.
А что, когда-то было слышно?
Зависит от конкретного видео, нужен индивидуальный подбор фильтров. Интерлейс бывает разный, и универсальные фильтры вроде yadif не всегда дают хороший результат.
Какой ты оригинальный
зависит от того, что именно за интерлейс
бывает, что можно вытянуть по кадру с каждого поля, а бывает, что нельзя. в первом случае частота кадров кагбэ в джва раза больше, и проебать их было бы глупо. во втором, напротив, делать дубли было бы нежелательно.
а ещё бывает так называемый telecine — это полная пизда, долго объяснять. короч надо анализировать сперва, и читать матчасть, много её
> telecine — это полная пизда, долго объяснять
А ты не объясняй, а покажи. И напиши, что это способ сделать из четырёх кадров пять, да так, чтобы не проебать плавность.
Каждая опция описана, приведены примеры, что там непонятно может быть?
conemu, cygwin
Шок @ паника. Как бы оно не загнулось, проект-то отличнейший.
http://superuser.com/questions/713633/ffmpeg-add-new-audio-in-video-mixing-2-audio
I need to insert audio from 2nd input file too but WITHOUT cutting first audio stream. I need them to actually overlap in this short fragment.
Tried to apply -itstimeoffset to 2nd input but it fails.
ffmpeg -y -i 1.aac -itsoffset 00:00:13.90 -i 2.aac -filter_complex "[0:0][1:0] amix=inputs=2:duration=longest" -c:a libmp3lame outputnow.mp3
Try asetpts filter:
ffmpeg -i 1.aac -i 2.aac -lavfi '[1:0]asetpts=PTS+13.90/TB,[0:0]amix' out.mp3
Another way to solve this is padding stream with silence:
ffmpeg -i 1.aac -i 2.aac -lavfi 'anullsrc,atrim=end=13.90[sil],[sil][1:0]concat=v=0:a=1,[0:0]amix' out.mp3
Зависит от того, хочешь ли ты разрезать видео на две полосы и проебать возможную от их кодирования вместе выгоду.
Такой же проц на десктопе, манал я на нём кодировать что-то сложное в VP9.
Ну незнаю у меня недолго vp9 кодируется, 4 минуты буквально за 15-20 минут проходит
> незнаю
Раздельно + пропущена запятая.
> 4 минуты буквально за 15-20 минут проходит
Проходят.
Ну да, с несложным видео в 540p получается 4-6 fps. А ты попробуй пожать что-то вроде вебмрелэйтеда — оно такой fps на хасвелле даёт.
Потому что не умеет, очевидно же. Смотри последний абзац оп-поста — вроде все скрипты оттуда это умеют.
Да я вот все пытаюсь вникнуть во все это, читаю гайды, а ничего в голове не откладывается.
Просто у тебя нет пердолепредрасположенности. Ты нормальный парень, с тобой в баню можно ходить.
Поясни, я все правильно сделал?
ffmpeg -ss 25:25 -i -t 186 E:\Yoba.mkv c:a libopus c:v vp9 -map -6:a -map 0:v Е:/End.webm
Надо было обрезать видео с 25:25 до 28:31, взять 0:0 дорожку видео и 0:6 дорожку аудио и сделать вебм.
Очень плох в этом всем
Видимо нет
ffmpeg -ss 25:25 -i E:\Yoba.mkv -t 186 -c:a libopus -c:v vp9 -map 0:6 -map 0:0 -y Е:/End.webm
Ну и в один проход будет плохое качество, тем более с дефолтным битрейтом 256к.
Ты это у пердоли спрашиваешь?
Понял ошибки, исправил, вроде все заскрипело и пошло. Если есть время, поясни за проходы няша, в гайде пункт "Сжатие двумя проходами" - это оно?
ffmpeg -i hard.mp4 -ss 00:11 -to 03:28 -pix_fmt +yuv420p -map 0:v -c:v libvpx-vp9 -b:v 400k -vf scale=-1:520:flags=lanczos -frame-parallel 0 -threads 8 -speed 4 -pass 1 -f null NUL
ffmpeg -i hard.mp4 -ss 00:11 -to 03:28 -pix_fmt +yuv420p -map 0:v -c:v libvpx-vp9 -b:v 400k -vf scale=-1:520:flags=lanczos -frame-parallel 0 -threads 8 -speed 1 -pass 2 finrezult.webm
Делаю в таких случаях дополнительно -qscale:v 2 и как бабушка отшептала.
Почему при кодировании двенадцати видео с обрезкой -ss 31 -t 178 с одинаковым ABR на выходе получается двенадцать файлов размерами от 7 до 11 Мб, хотя расчет был попасть между 8.5 и 9 Мб? ffmpeg в хуй не ставит что ли значение команды -b:v ? Нет, -crf не использовал.
Полная команда вида:
ffmpeg -i IN.MP4 -ss 31 -t 178 -map 0:v -c:v vp9 -b:v 400k -vf ass=IN.ASS -threads 0 -pass 2 -auto-alt-ref 1 -lag-in-frames 25 OUT.WEBM
Алсо, проблема была решена кодированием без -ss, кодируются ненужные 31 секунда, зато при их последующей обрезке все файлы были в пределах между 8 и 9 Мб, что уже допустимо.
А в режиме CRF тоже такая хуйня есть?
Вообще, залей куда-нибудь исходник, интересно взглянуть.
>проблема была решена кодированием без -ss, кодируются ненужные 31 секунда
WAT?
с хуя ли они кодируются?
вот декодируются они зря — это да, лучше -ss ставить перед взодным файлом, тогда будет оптимизированно это.
> Нет, -crf не использовал.
А ты попробуй использовать. С -crf включается режим constrained quality, при котором кодек лучше держит потолок битрейта.
Предположим, что я сделал некую вебмку, используя режим CRF (с двумя проходами, чтобы работал auto-alt-ref) и получился ровно тот размер, что нужен. Возможно ли, что будет получено лучшее качество при таком же размере при использовании "обычного" способа с указанием среднего битрейта и двумя проходами? Если да, то благодаря чему?
(подразумевается, что опции, которые так или иначе задают баланс между скоростью кодирования и качеством, в обоих случаях одинаковые)
Возьми да сравни, у ffmpeg'а для этого есть фильтр psnr.
Без crf больше битрейта тратится на сцены с низкой динамикой, где это не нужно, и меньше на динамичные, т.к уже потрачено на статику. Так что должно быть лучше с crf.
Проблема в том, что PSNR — плохая метрика для оценки качества с точки зрения человека. Она не учитывает особенности зрения и восприятия. Даже если PSNR у кого-то хуже, это ещё ничего значить не будет.
http://forum.doom9.org/archive/index.php/t-138275.html
Если бы было легко сравнить, я бы сравнил.
Пока вижу лишь такую разницу — в режиме с целевым битрейтом и двумя проходами ffmpeg на некоторых видео очень сильно "недостреливает", файл получается меньше в несколько (до 6) раз, но качество при этом тоже соответствующее (говно). Если же угадать нужный CRF, такой проблемы не возникает. И я написал скрипт, который за мало проходов весьма точно определяет нужный CRF, исходя из размера файла. Вопрос в том, есть ли какие-то причины всё-таки использовать другой режим, если этот не фейлит. Разницу в качестве я не углядел пока, но из моих предположений CRF должен быть лучше.
2. Гроб гроб кладбише рассинхрон при concat. Делаю стандартно ffmpeg -f concat -i 1.txt -c copy 1.webm
С чем может быть связано?
п.1: как я понимаю, первому проходу похуй на параметры crf и битрейта, он тупо анализирует файл и всё
crf и 2 прохода - бессмысленное сочетание.
При crf кодек не смотрит на собранную первым проходом статистику вообще.
http://wiki.webmproject.org/ffmpeg/vp9-encoding-guide
Тогда чому здесь в секции Constant Quality Recommended Settings прохода два?
Это для x264 только, у libvpx end-usage=cq с одним проходом будет работать как CQP.
Вообще, хуею с советчиков итт. То PSNR для сравнения, то куда-то битрейта больше тратится, то потолок битрейта лучше держится, хотя всё это было обсуждено в этом самом же треде постов 1000 назад. И ещё обязательно надо постоянно путать терминологию. Документацию, конечно же, никто не читает, тогда как там по режимам всё достаточно чётко расписано.
Вот раз:
>CQ mode is available for one-pass encodes, but is generally intended for two-pass. For one-pass, CQ applies the user cq-value, but can't adapt to a higher value if the clip is difficult.
Вот два:
>In CQ mode the encoder will try to encode normal frames (all frames apart from key frames, golden frames and alternative reference frames) at a quantizer / quality level of --cq-level, provided that this does not cause the bitrate to rise above the target maximum value. Key frames, golden frames and alt ref frames may be coded at a lower "q" value, but the minimum is still linked to the user-selected value, and in all cases --min-q and --max-q are treated as hard limits. In practice this means that easy clips may undershoot the target maximum bitrate, because they are constrained by the CQ level, but harder clips will be bounded by the target maximum data rate and will increasingly revert to standard VBR behavior.
Вот три:
>In the two-pass variant of CQ mode there is a further refinement. If the first pass analysis suggests that a clip is too difficult to be encoded at the user-selected --cq-level, then rather than code part of the clip at this level and the rest at a much lower quality, it tries to pick a sustainable "auto-cq" level. Under no circumstances will this "auto-cq" value drop below the user-selected value.
И что здесь непонятного? Зачем спрашивать одно и то же? Зачем задавать вопросы типа >>1327344 которые также уже тысячу раз были отвечены прямо здесь же?
> 1. Первый проход зависит от crf или b:v?
При первом проходе rate control не ипользуется.
> 2. Гроб гроб кладбише рассинхрон при concat.
> С чем может быть связано?
С разными timebase и sample rate дорожек, например. Что ты там соединяешь?
Кодированный видеопоток и аудиопоток из оригинала, таймин правильный задаю, без превью все отлично, с ним - рассинхрон
Ничего что аудио-дорожки (в частности vorbis/opus) нельзя через concat соединять? И это обсуждалось всего постов 100 назад. Ничего не читай @ вопросы задавай.
С ним же хуй угадаешь, какое значение ставить, чтобы он именно заданного значения держался. Как-то помню, хотел вырезать кусок в лослессе, задал -crf 0, так этот ублюдок накодил мне с битрейтом в районе 20-30 Mbit/s, у меня 3 минуты весили как пол-исходника длиной в 2 часа.
Нельзя. У меня от этого почему-то сабы съезжают, даже когда -ss после ввода. Вернее даже не так, они почему-то сперва правильно накладываются, а поверх них накладываются снова, но уже с 0 секунды.
> 3 не воспроизводится в хроме
В dwb (вимоподобный браузер на webkit) воспроизводится. Хромопроблемы какие-то.
Все, анон. Разобрался с сабами. Я не заметил, как он при просмотре подгружал внешний .ass, из которых я, собсна, и брал сабы. Ладно хули, буду дальше колдовать, всем спасибо за внимание.
ffmpeg -i input.mp4 -ss 00:11 -t 03:00 -pix_fmt +yuv420p -map 0:v -c:v libvpx-vp9 -b:v 400k -vf scale=1:520:flags=lanczos -frame-parallel 0 -threads 8 -speed 4 -pass 1 -f null NUL
ffmpeg -i input.mp4 -ss 00:11 -t 03:00 -pix_fmt +yuv420p -map 0:v -c:v libvpx-vp9 -b:v 400k -vf scale=-1:520:flags=lanczos -frame-parallel 0 -threads 8 -speed 1 -pass 2 outnosound.webm
Audio
ffmpeg -ss 00:11 -i amv.mp4 -i mf.webm -t 03:00 -map 0:a -c:a libopus -b:a 64k -map 1:v -c:v copy finale.webm
Превью
ffmpeg -i preview.png -c:v vp9 -crf 0 -pix_fmt +yuv420p preview.webm
ffmpeg -itsoffset 0.01 -i finale.webm -f concat -i files.txt -map 1:v -map 0:a -c copy mf.webm
В files.txt :
file 'preview.webm'
file 'finale.webm'
Поправлю
Audio
ffmpeg -ss 00:11 -i input.mp4 -i outnosound.webm -t 03:00 -map 0:a -c:a libopus -b:a 64k -map 1:v -c:v copy finale.webm
Может быть аппаратное ускорение не работает. Сходи в тред, посвященный твоему браузеру, и спроси там.
>Попробуй добавить превью к outnosound.webm и на результат наложить звук
Дич ровно такая же, уже пробовал
Попробуй сделать то, что делал ранее, но с кодеком звука libvorbis
При помощи чего открываешь? Открой с помощью VLC, firefox, например, и чекни как программу по умолчанию.
Кстати, k-lite часто крашится, если запустить одновременно с firefox. Только не помню, это кажется только на встройках intel.
>Кстати, k-lite часто крашится
Че бля?
Ты о наборе кодеков говоришь?
Что, весь набор крашиться?
Спермопроблемы.
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 46.100 / 56. 46.100
libavformat 56. 40.100 / 56. 40.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 19.100 / 5. 19.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
For help run: ffmpeg -h
For formats run: ffmpeg -formats | more
For codecs run: ffmpeg -codecs | more
Current directory is now: "e:\ffmpeg\bin"
The bin directory has been added to PATH
>
>ffmpeg -i source/RRM.mp4 -acodec copy -vcodec copy -ss 03:17:00 -to 04:03:00 result/RRM_resize.webm
ffmpeg version N-73361-g03b2b40 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 46.100 / 56. 46.100
libavformat 56. 40.100 / 56. 40.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 19.100 / 5. 19.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'source/RRM.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.100
Duration: 00:06:48.50, start: 0.036281, bitrate: 2575 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2442 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
[webm @ 0000000004dc9ea0] Codec for stream 0 does not use global headers but container format requires global headers
[webm @ 0000000004dc9ea0] Codec for stream 1 does not use global headers but container format requires global headers
[webm @ 0000000004dc9ea0] Only VP8 or VP9 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.
Output #0, webm, to 'result/RRM_resize.webm':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.100
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 2442 kb/s, 25 fps, 25 tbr, 1k tbn, 12800 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Что ему нужно этому пидарасу ебаному, какой блять инвалид кодек парметр, все по-умолчани.
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 46.100 / 56. 46.100
libavformat 56. 40.100 / 56. 40.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 19.100 / 5. 19.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
For help run: ffmpeg -h
For formats run: ffmpeg -formats | more
For codecs run: ffmpeg -codecs | more
Current directory is now: "e:\ffmpeg\bin"
The bin directory has been added to PATH
>
>ffmpeg -i source/RRM.mp4 -acodec copy -vcodec copy -ss 03:17:00 -to 04:03:00 result/RRM_resize.webm
ffmpeg version N-73361-g03b2b40 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 46.100 / 56. 46.100
libavformat 56. 40.100 / 56. 40.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 19.100 / 5. 19.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'source/RRM.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.100
Duration: 00:06:48.50, start: 0.036281, bitrate: 2575 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2442 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
[webm @ 0000000004dc9ea0] Codec for stream 0 does not use global headers but container format requires global headers
[webm @ 0000000004dc9ea0] Codec for stream 1 does not use global headers but container format requires global headers
[webm @ 0000000004dc9ea0] Only VP8 or VP9 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.
Output #0, webm, to 'result/RRM_resize.webm':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.100
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 2442 kb/s, 25 fps, 25 tbr, 1k tbn, 12800 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Что ему нужно этому пидарасу ебаному, какой блять инвалид кодек парметр, все по-умолчани.
потому что webm - говно, очевидно же.
Не знаю, о чём, может о плеере, может о кодеках, но виснет и перезагружается графическая подсистема, попутно цепляя за собой firefox. Такие дела.
>Укажи ему кодек, а не копируй, очевидно же.
Ну а если я хочу, чтобы он его скопировал ? Другие копирует, а этот блять не копирует, хуерга какая-то
Ты зачем h264 в webm пытаешься поместить?
проиграл с этих видео ы
только не качайте "чин воздвижения креста.mp4", это дубль другого файла в меньшем качестве
не знаю, почему автор раздачи так тупо зделал
Залил весь пак в формате webm под лимит /b, держи: https://ovrload.ru/f/57491_%D1%80%D0%BF%D1%86.zip
Отмена, в четвёртом посте же.
Как приклеить видеопоток к аудиопотоку, без перекодирования чего бы то ни было. (Прилепить видео с Youtube, к аудио с того же Youtube)
В гайде не нашел, а ведь это популярная операция. Пробовал ffmpeg -i i_video.webm -i i_audio.webm o_video.webm
FFMPEG начинает перекодировку видео в VP8, а мне нужно просто сплит потоков в один контейнер сделать.
Это возможно без перекодирования?
Так половина сделана - ffmpeg -i i_video.webm -vcodec copy o_video.webm
Осталось присобачить к нему аудио.
Хочешь чтоб я её угадал?
Короче получилось вот так - ffmpeg -i i_video.webm -i i_audio.webm -vcodec copy o_video.webm
Если просить копировать звуковую дорожку (без конвертации), то выдает ошибку пикрела.
В принципе, и так сойдет.
Ага, получилось с еще одним параметром! Завершенный вариант - ffmpeg -i i_video.webm -i i_audio.webm -vcodec copy -acodec copy -strict -2 o_video3.webm
У тебя ffmpeg протух. Свежий вставляет опус в вебм без дополнительных параметров.
Раньше я качнул webmforretards конвертер. и в нем когда конвертировал, если в исходном файле было 2 звуковых дорожки, то появлялось окошечко выбора с какой конвертировать. резал вебмки и горя не знал. а потом у меня наебнулся винт и пришлось все переставлять. и конвертер тоже заново искать ставить.
Но теперь в нём нет выбора дорожки. качал с разных родных источников. Но нет. просто по умолчанию хватает и конвертирует. Печалька.
Подскажите какая версия Конвертера с той самой функцией выбора дорожек и где её взять?
На кой он тебе сдался? Возьми ffmpeg и делай как люди.
Дорожки выбираются параметром -map, подробнее см. в вики.
Ты превью без звука пытаешься сконтачить с видео со звком.
Контач превью к вебмке без звуковой дорожки, а звук добавляй потом.
> Возьми ffmpeg и делай как люди.
там нихуя не понятно.. скачал с ссылки в треде а там даже ехе файла нет. издеваются над людьми тока красноглазые
Неточно сказал - склеиваю с видео превью
Ну клепай кривопиксельное говно в гуипараше, оно того не стоит
>Ты что-то перепутал подобно предыдущему поциенту, очевидно же
Все строго по вики делал, перепроверил уже много раз одна и та же хуита
Показывай тогда.
Ты на шрифты не гони. В OS X единственный самый лучший в мире рендеринг шрифтов, остальные все сосут, запомни это.
пидор не палится.
Про -cpu-used вообще в документации не нашёл.
А выпирающее местами кривое мыло — это у вас такой фирменный стиль, и без него никак нельзя?
>>1333151
> Можно ли сделать так, чтобы ffmpeg не использовал сразу все 100% ЦП?
Выставь приоритет простоя: тогда он будет использовать только свободное от других задач процессорное время.
man nice
nice ffmpeg …
> Про -cpu-used вообще в документации не нашёл.
Это вообще не про использование процессора, а про лимит времени на кодирование одного кадра при одном проходе или про выбор профиля из best/good/realtime при двух.
https://github.com/pituz/webm-thread/wiki/webm-encoding#Управление-соотношением-скоростькачество
>>1333176
У тебя PTS фрейма в превью отрицательный. Хуйня какая-то.
Проще добавить превью отдельной видеодорожкой с большим разрешением.
Есть один некроноут, шибко греется. Думаю, поможет ли, если ЦП не сильно нагружать.
>>1333320
>Выставь приоритет простоя: тогда он будет использовать только свободное от других задач процессорное время.
Но если других задач нет, то всё равно будет на полную использовать, впрочем, всё равно на всякий случай запомню.
>Это вообще не про использование процессора
Просто на картинке не очень понятно написано, как будто бы именно то, что нужно.
В интернетах поискал, вроде можно прописать параметр -threads, чтобы не все ядра использовать, но думаю, греться так же будет.
Если ноут сильно греется, его нужно чистить с заменой термопасты, а не кодировать на нём видео, иначе убьёшь его совсем.
Если он греется не из-за пыли, то снижай частоту проца, в прыщах для этого есть cpufreq-set.
Пфф, я ещё 3 месяца назад 10бит yuv444p энкодил. Тогда даже ffvp9 их играть не умел.
Но теперь-то их даже спермобляди могут в браузере смотреть. Если плагин конуса установят, конечно — в самих браузерах это пока далеко за горизонтом: https://bugzil.la/1175876
У этих слоупоков просто libvpx без --enable-vp9-highbitdepth собран, фигли там уметь. Декодеры видео браузеры чужие используют.
Firefox 37 и в profile 1 цвета корёжил, хотя он в 1.3.0 ещё был (2013-ый год).
Проще добавить превью отдельной видеодорожкой с большим разрешением
Ну это разве не отдельная видеоодорожка?
Пытаюсь это сделать в Openshot, вижу Track 1 и Track 2, но отображается или один или другой, как сделать чтобы Title отображался поверх видео?
Или любой другой легкий способ.
ffmpeg -i in.mkv -vf drawtext=text=надпись -c:a copy -qscale 1 out.mkv
https://ffmpeg.org/ffmpeg-filters.html#drawtext-1
>Это вообще не про использование процессора,
Да ладно? Документацию мы, конечно же, не читаем, хотя уже свою пишем. А это что http://www.webmproject.org/docs/encoder-parameters/#2-encode-quality-vs-speed ?
>Real-time mode allows the encoder to auto adjust the speed vs. quality trade-off in order to try and hit a particular cpu utilisation target. In this mode the --cpu-used parameter controls the %cpu target as follows
Я уже не говорю, о том, что при quality=good всего 6 градаций cpu-used (0..5). Даже ссылку на исходники привёл, а сам не прочёл.
Инфу про режим reatltime я совсем упустил, да. Не увидел ему применения в задаче кодирования вебмок и читал про него по диагонали.
Надо будет перепилить статью, указав её узкую специализацию и оставив отличия назначения параметров при одном проходе только в виде сносок.
>
>ffmpeg -i source/RRM_resize.webm -c:a libopus -b:a 128k -c:v vp9 -b:v 800k -ss 03:17:00 -to 04:03:00 result/out.webm
ffmpeg version N-74202-g336822e Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 29.100 / 54. 29.100
libavcodec 56. 56.101 / 56. 56.101
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 30.100 / 5. 30.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, matroska,webm, from 'source/RRM_resize.webm':
Metadata:
encoder : Lavf56.40.101
Duration: 00:06:48.38, start: 0.007000, bitrate: 803 kb/s
Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv), 1280x720, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
[libvpx-vp9 @ 0000000004e79980] v1.4.0
Output #0, webm, to 'result/out.webm':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: vp9 (libvpx-vp9), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 800 kb/s, 25 fps, 1k tbn, 25 tbc (default)
Metadata:
encoder : Lavc56.56.101 libvpx-vp9
Stream #0:1(eng): Audio: opus (libopus), 48000 Hz, stereo, flt, 128 kb/s (default)
Metadata:
encoder : Lavc56.56.101 libopus
Stream mapping:
Stream #0:0 -> #0:0 (vp9 (native) -> vp9 (libvpx-vp9))
Stream #0:1 -> #0:1 (opus (native) -> opus (libopus))
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=0.0 size= 1kB time=00:00:00.00 bitrate=N/A
>
Анончики, чому у меня падает ffmpeg ?
>
>ffmpeg -i source/RRM_resize.webm -c:a libopus -b:a 128k -c:v vp9 -b:v 800k -ss 03:17:00 -to 04:03:00 result/out.webm
ffmpeg version N-74202-g336822e Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 29.100 / 54. 29.100
libavcodec 56. 56.101 / 56. 56.101
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 30.100 / 5. 30.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, matroska,webm, from 'source/RRM_resize.webm':
Metadata:
encoder : Lavf56.40.101
Duration: 00:06:48.38, start: 0.007000, bitrate: 803 kb/s
Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv), 1280x720, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
[libvpx-vp9 @ 0000000004e79980] v1.4.0
Output #0, webm, to 'result/out.webm':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: vp9 (libvpx-vp9), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 800 kb/s, 25 fps, 1k tbn, 25 tbc (default)
Metadata:
encoder : Lavc56.56.101 libvpx-vp9
Stream #0:1(eng): Audio: opus (libopus), 48000 Hz, stereo, flt, 128 kb/s (default)
Metadata:
encoder : Lavc56.56.101 libopus
Stream mapping:
Stream #0:0 -> #0:0 (vp9 (native) -> vp9 (libvpx-vp9))
Stream #0:1 -> #0:1 (opus (native) -> opus (libopus))
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=0.0 size= 1kB time=00:00:00.00 bitrate=N/A
>
Анончики, чому у меня падает ffmpeg ?
если делаю вот так -
ffmpeg -i source/RRM_resize.webm -acodec copy -vcodec copy -ss 03:17:00 -to 04:23:00 result/rr.webm то получается вообще какая-то ебола -
Аж трисет блять
>
>ffmpeg -i source/RRM_resize.webm -acodec copy -vcodec copy -ss 03:17:00 -to 04:23:00 result/rr.webm
ffmpeg version N-74202-g336822e Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 29.100 / 54. 29.100
libavcodec 56. 56.101 / 56. 56.101
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 30.100 / 5. 30.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, matroska,webm, from 'source/RRM_resize.webm':
Metadata:
encoder : Lavf56.40.101
Duration: 00:06:48.38, start: 0.007000, bitrate: 803 kb/s
Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv), 1280x720, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
[webm @ 00000000052f0700] Codec for stream 0 does not use global headers but container format requires global headers
[webm @ 00000000052f0700] Codec for stream 1 does not use global headers but container format requires global headers
Output #0, webm, to 'result/rr.webm':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: vp9, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo (default)
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=-1.0 Lsize= 1kB time=00:00:00.00 bitrate=N/A
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
если делаю вот так -
ffmpeg -i source/RRM_resize.webm -acodec copy -vcodec copy -ss 03:17:00 -to 04:23:00 result/rr.webm то получается вообще какая-то ебола -
Аж трисет блять
>
>ffmpeg -i source/RRM_resize.webm -acodec copy -vcodec copy -ss 03:17:00 -to 04:23:00 result/rr.webm
ffmpeg version N-74202-g336822e Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 29.100 / 54. 29.100
libavcodec 56. 56.101 / 56. 56.101
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 30.100 / 5. 30.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, matroska,webm, from 'source/RRM_resize.webm':
Metadata:
encoder : Lavf56.40.101
Duration: 00:06:48.38, start: 0.007000, bitrate: 803 kb/s
Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv), 1280x720, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
[webm @ 00000000052f0700] Codec for stream 0 does not use global headers but container format requires global headers
[webm @ 00000000052f0700] Codec for stream 1 does not use global headers but container format requires global headers
Output #0, webm, to 'result/rr.webm':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: vp9, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo (default)
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=-1.0 Lsize= 1kB time=00:00:00.00 bitrate=N/A
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
intentionally
Охуеть, SJW уже во всех областях успели мозги промыть.
https://en.wikipedia.org/wiki/Lenna#Controversy
tldr; феминисткам не нравится картинка очень широко применяемая в обработке изображений. Раньше мне казалось это приколом, т.к. вроде как все продолжали её использовать, но выше отрывок диалога с канала Daala.
Ну всё правильно же, ни к чему эта сексуальная объективация. Есть достаточно изображений нейтрального характера.
>ни к чему эта сексуальная объективация
В каком месте? Сам используемый отрывок не содержит никаких непристойностей.
>нейтрального характера
В Лене ненейтралено только то, что о ней думают, т.е. мыслепреступления. SJW плевать хотели и на науку, и на алгоритмы, и на профессиональный жаргон/обычаи (вспоминаем master/slave у Django, ага), им главное зацепиться за какую-нибудь ерунду, в очередной раз продемонстрировав своё влияние. Ломание устоев — очень эффектный способ заявлять о себе, знаешь ли.
Она показана, как сексуальный объект. Приветливое выражение лица как бы говорит: я дам тебе, сладкий. И одета вызывающе.
Ты хоть погугли, что такое объективация, для начала.
Это что за говно из тумблера протекло в мой уютный webm-тред?
Мань, не маяврируй. От тебя SJW-гнильцой за версту несет. Давай-ка разберем по частям тобою написанное:
>Она показана, как сексуальный объект
Да хоть как кусок мяса. Твое какое дело, выблядок? Как захотела, так и показалась.
>погугли, что такое объективация, для начала.
Погуглил - нашел кучу демагогии от разнообразного закомплексованного говна, которое пытается уничтожить свободу слова, потому что им НЕПРИЯТНО СВЕРБИТ в заднем проходе.
Почему так делать нельзя? c -loop 1 и -r 1 кодит пиздец как долго.
>ffmpeg -i C:\1.jpg -i C:\2.wav -c:v libvpx-vp9 -b:v 420K -c:a libopus -b:a 48k -threads 7 -map 0:0 -map 1:0 C:\12332231.webm
>которое пытается уничтожить свободу слова
Но ведь они уже уничтожили. Да и была ли она когда-нибудь, полноценно? Какая бы ни была демократия, обязательно найдётся список из «стоп-слов», которые злят либо власть-имущих, либо значимую и шумную прослойку социума. У одних религия, у других политика, у третьих дети, у четвёртых женщины.
у меня работает нормально
только режим у тебя дурной выбран, нахуй битрейт указывать? картинку надо кодить в crf или lossless, также надо уменьшить частоту кадров до минимума — заодно и кодировать быстрее так
то есть -r 1
Ну ок.
Вот получилось как хотел. Кодит молниеносно, работает в хроме.
>ffmpeg -i C:\1.jpg -i C:\2.wav -c:v libvpx-vp9 -vf fps=1\600 -g 1 -c:a libopus -b:a 48k -threads 7 -map 0:0 -map 1:0 C:\12332231.webm
Почему такое хуёвое качество кадра? на -crf чтоугоднодаже0 ноль эмоций. -lossless 1 раздувает слишком сильно.
А где запрос подтверждения отправки репорта в спермософт? Теперь дампы памяти молча отправляются?
Невобразно срёт в реестре, засирает папку шиндошс с подпапками говном, после чего даже игоры начинают глючить.
Про то, что некоторые видеофайлы начинают проигрываться с артефактами или вообще не проигрываться я уже молчу.
Можешь не откатывать. Кому с к-лайтом и багами норм. Может и тебе понравится?
Хотя засирать Десятку этими говнокодеками, нонсенс.
Пока семёрка, но засирать всё равно не хочется
Проиграл с этого КОМПЬЮТЕРНОГО ДОКТОРА.
Небось ты еще реестр чистишь и переустанавливаешь Шиндовс при любой проблеме.
Кодеки у него засирают систему, вообще охуеть.
Любитель засрать Шинду говном от Васяна закукарекал.
Ты наверное ещё вагон писек понаставил, уёба.
Нахуй ты из-под администратора запускаешь? Совсем ебан?
>DirectShow это стандартное API Windows
которое при этом есть говнище, и поэтому нормальные люди не используют его
DirectShow прикольная технология (у линукса есть аналог, кстати — gstreamer), не спорю, но очень многие популярные плееры под Windows (вроде MPC-HC, KMplayer, PotPlayer) несут кодеки с собой. Как думаешь, почему? Может потому что разгребать возможные проблемы от гигантского графа фильтров это не самое приятное занятие?
Если ты умеешь пользоваться GraphEdit, то и последствия установки самого идиотского кодек-пака можно починить, конечно. Только вот про него мало кто знает из обычных пользователей и поставщики ПО предпочитают перестраховаться. Это аналог таскания за собой всех DLL зависимостей. Ты не возмущаешься, что у тебя каждая вторая программа имеет в своём системного каталоге гору библиотек, которые пересекаются друг с другом? А между тем, это точно такой же метод предотвратить возможные поломки в силу отсутствия штатного механизма установки и доставки обновлений (вроде пакетного менеджера), неопытных пользователей и огромного количества кривого софта, которое обязательно найдёт с чем ему поконфликтовать. В Линуксе это решается централизованно в рамках одного дистрибутива, но тоже часто косяки и конфликты встречаются, в виндоузе же все эти шоколатки это не более чем припарка сверху (у Cygwin кучу лет как такая же штука была, никто не носился с этим как с пакетным менеджером почему-то), т.к. большая часть софта его использовать всё равно не будет. Посмотри и на то, как всякие rvm (и прочие язычковые велосипеды, в каждом языке по одному, а то и два) установку зависимостей производят. Назвать такое пакетным менеджером язык не повернётся.
Если аккуратно, то и виндой, и DirectShow можно пользоваться вполне успешно. Только во-первых, для этого надо знать внутренности системы, а не просто реестр чистить, а, во-вторых, зачем нужны паки в таком случае? Поставил ffdshow-tryouts (которые угадай порт кодеков какого проекта, м?) и ещё какой хаали-сплиттер/рендерер субтитов и достаточно для работы в программах, использующих DirectShow.
Лол, кстати:
>PS:\>iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
Троллинг офигенный, проиграл.
Потому что ты криворукое хуйло не можешь выставить нормальное разршение в своем говногуе.
Но это не моя вебка. Подозреваю, что некоторые аутисты, так делают специально, чтобы нельзя было проскроллить парашу.
Потому что у тебя сперма вместо ОС, это же очевидно.
Может из-за кодеков.
Бля не туда
Вот в этой строчке:
https://github.com/FFmpeg/FFmpeg/blob/n2.7.2/libavfilter/vf_subtitles.c#L374
Второй параметр заменить на путь до дефолтного шрифта. Дока по функции:
https://github.com/libass/libass/blob/0.12.3/libass/ass.h#L387
А смысл? Спермобляди всё равно не соберут ffmpeg из исходников, а у прыщеблядей fontconfig работает искаропки.
Мне для специфичного использования нужно. fontconfig тащить не хочу.
Олсо, можно бинарный патч сделать, лол.
Там всего-то путь положить в дата-секцию куда-нибудь и адрес в вызове на стэке поменять.
Точнее не совсем так.
Если libass собран с fontconfig, то он пытается вначале загрузить дефолтную конфигурацию. fontconfig проверяет по дефолтным путям и переменным окружениям и возвращает ошибку, если ничего не нашёл. Тогда libass использует "fallback" FcInitLoadConfig, который походу пустой или никаких шрифтов не содержит. Соответственно, поэтому в случае mkv с прикреплёнными шрифтами, будут доступны только они.
Если же libass без fontconfig, то всегда используется дефолтный шрифт. По крайней мере так указано в ворнинге. Но вот судя по этому https://github.com/libass/libass/issues/89 логика несколько иная (и запутанная) и шрифты из файла (memory fonts) по идее и без fontconfig, но с дефолтным шрифтом должны работать. Надо будет потестить, пока только работу патча с дефолтным шрифтом проверил, всё ок.
>Если же libass без fontconfig, то всегда используется дефолтный шрифт
Таки в fonts ветке это работает. Норм, fontconfig не нужен.
Кстати, я тут нашёл виновника чудовищно неудобной и нелогичной опции stream_index у subtitles фильтра. Кто бы вы думали?
https://github.com/FFmpeg/FFmpeg/commit/7a0e689c4517d8e6ccec6027354bd827965a9ba2
Нихуя блядь. 4,45 МБ (4 673 536 байт) не пропускает. Мне уже некуда жать, какой лимит-то ?
Даже 1 мегабайт не принимает, совсем ебанулись блядь.
Запускается новое окно, программа загружается, окно закрывается.
Хей гайз, как заставить usb модем работать с йотой? Гугление дало мне понимание того, что нужно сменить имей, но как это сделать? Попробовал прошить, но похоже он сломался. Заранее целую ваши волосатые длани
Например, нужно перекодировать 2.5 секунды от 00:04.5 до 00:07. Есть два варианта:
1) 00:04.5÷00:05.5 + 00:05.5÷00:07
2) 00:04.5÷00:06 + 00:06÷00:07
Второй вариант кажется надежнее, но я не уверен, что границы кадров всегда лежат по границам целых секунд.
Мне в скрипте надо.
Впрочем, в чатике ffmpeg сказали, что при реенкоде это не важно, т.к. GOP формируется заново. Я и сам так думал, просто хотелось уточнить.
Кстати, в webm.py это всё удобнее :3 Ничего копировать руками не надо. Можешь прицепить в свой WebMaster кусок скрипта на Lua.
AVIDEMUX новый версий (из гита, под прыщи) держит VPX9 искоробки!
Такая-то простота:
http://paste.ubuntu.com/12027254/
Такая-то VERBOSITY:
http://paste.ubuntu.com/12030210/
Лучшая автоматизация конвертирования на свете!
!!!!!!!1111
Он же говнища в систему лепит лишнего немерено. Есть более щадящие варианты?
Кстати да, наткнулся на нее, и что странно, ОНО ЗАРАБОТАЛО. Спасибо, анон.
> Можешь прицепить в свой WebMaster кусок скрипта на Lua.
Но я на десктопе кодирую только мелочи. Тогда придётся прикручивать ещё поддержку ssh с прокидыванием файлов туда и обратно — из скрипта получится ёбаный комбайн.
MAKEOPTS+=-s
Прикрутил из SMB + VPN, работает как часы (монтируешь виндовскую шару с входящими файлами, монтируешь папку исходящих, кодируешь на ксеонах, результат получаешь на домашнем)
Так твой вариант тоже mpv с локальными файлами. Что-то не понимаю проблемы.
> Прикрутил из SMB + VPN
У меня и безо всяких smb и vpn всё смонтировано, только средствами ssh (sshfs-fuse).
Выполнять команду запуска энкода на удалённом хосте всё равно как-то придётся. И хотелось бы ещё при этом иметь возможность указывать дополнительные параметры, заворачивать её в однострочкики, етц.
Да и вообще вариант с запуском mpv из скрипта кодирования мне не нравится, скрипт на mpv должен быть доступен постоянно. Чаще всего кодирование вебмки у меня начинается с обычного просмотра чего-нибудь, в процессе которого я внезапно детектирую ололо, нажимаю пару клавиш и забираю из терминала команду для его вырезания. Запускать ещё раз плеер ради точного выделения фрагмента было бы неудобно.
>Чаще всего кодирование вебмки у меня начинается с обычного просмотра чего-нибудь, в процессе которого я внезапно детектирую ололо, нажимаю пару клавиш и забираю из терминала команду для его вырезания
У тебя файл-менеджера нет, ты всегда из консоли запускаешь mpv? В таком случае да, вывод команды удобней. Ещё лучше гуишка Zehkul, чтобы не пердолиться без необходимости. Залезать в нужный терминал, копировать оттуда команду — слишком хреновый интерфейс.
> У тебя файл-менеджера нет
Есть, dolphin на десктопе и pcmanfm на ноуте. Использую для навигации по дебрям вебмок, для остального в большинстве случаев хватает консоли.
> ты всегда из консоли запускаешь mpv?
Да, привык так. Исключение — просмотр вебмок, но с ними обычно ничего больше делать не надо.
> Ещё лучше гуишка Zehkul
Вводить параметры через гуевые диалоги? Нет, спасибо.
Кстати, вот эту штуку ещё посмотри: https://github.com/deterenkelt/watchsh
Я не пользуюсь, но выглядит неплохо.
Интересная штука, да. Но мне почему-то лень с ней разбираться, реорганизовывать библиотеку в соответствии с её требованиями и запиливать синхронизацию между хостами.
>в новой версии игровой прошивки
Вангую, что это их реакция на консольное приложение. Они запускают его короче без параметров, открывается консоль, ffmpeg-у нечего выполнять, и консоль закрывается.
Т.е. в видео изначально очень низкая громкость, и когда я делаю вебмку, то она такая же тихая, а с помощью какой проги можно повысить громкость?
https://ffmpeg.org/ffmpeg-filters.html#volume , очевидно же.
Ещё вероятно, что в исходнике просто 5.1 какой-нибудь. -ac 2 это фиксит.
Использовал РЕЛИЗ-СТАБИЛЬНО-НАДЁЖНО libvpx 1.4.0, скомпиленный под нестандартную архитектуру, и наблюдал артефакты в виде белых квадратиков, рандомно появляющихся в разных частях кадра (с самыми низкими -crf в том числе). В процессе отладки дошёл до использования vpxenc + y4m видео и один хрен. Долго пытался выявить проблему, пока не собрал из гита и, о чудо, теперь всё ок!
Это такой мегасборник костылей "все-в-одном" для работы с мультимедиа посредством команд в консольке.
в шапке куча какой-то хуйни и разных вариантов программ, какую мне качать?
тебе надо анлокнуть а потом через AT команды сменить имей на любой телефонный.
На 4пда глянь в треде своего устрйоства
https://kagami.github.io/webm.js/
На больших файлах не тестировал и пока всё сыровато, но на небольших видео всё ок. Пока только VP8+Opus.
Принимаю критику/баг-репорты/фич-реквесты.
>we have some performance degradation here. Not that drastical though—I had numbers like 8x worse than native
>Not that drastical though
>8x worse
Okay...
Для VP8 это терпимо, т.к. он сам по себе быстр. А вот что с VP9 делать — пока не придумал. Есть надежда на SIMD, но в libvpx inline asm вместо интринсиков, так что поебаться придётся.
И ты не забывай что это corei7-avx таргет (SSE до 4.1 и 256-битный AVX). На процах попроще, вероятно, разница будет ещё меньше.
Идеальная платформа же. Ничего ставить не надо, браузер есть даже на стиралке. Просто зашёл по URL и получаешь приложения по качеству и сложности практически на уровне с нативными.
Ну и здесь основная движуха сейчас идёт. WebAssembly и SIMD.js явно дают понять, что в веб хотят перенести в том числе мощнейшие десктопный софт уровня игр и видео-обработки. Я здесь чуть выше уже писал: >>1292362
>Идеальная платформа же.
Это недоязычок JS-то, состоящий из костылей чуть более чем полностью? Который создавался вообще максимум для показа менюшек на страницах, а не того, для чего его сейчас пытаются использовать.
>Просто зашёл по URL и получаешь приложения по качеству и сложности практически на уровне с нативными.
А заодно кучу дырявых костылей в браузере для ускорения всего этого говна, чтоб работало хотя бы в 8 раз медленнее нативного кода. Уязвимости в PDF.js ничему не учат. Современные браузеры уже по сложности превратились черт знает во что из-за этого. И главное ради чего столько титанических усилий? Чтобы "просто зашёл по URL" вместо "просто установил приложение"?
>направление развития и отрасли максимального вложения сил, в том числе и крупнейших компаний, отлично прослеживаются.
Ну для отрасли не впервой нажраться говна. Плохо только что страдать от этого будут не крупнейшие компании, а пользователи, у которых браузеры на Core i7 тормозят.
>Это недоязычок JS-то, состоящий из костылей чуть более чем полностью
>Уязвимости в PDF.js ничему не учат
>Ну для отрасли не впервой нажраться говна
Лол, эксперт с опеннета в треде, все в машину!
Ну бугурть, JS-макака.
ШРЕВТЫ
Зачем такой говношрифт, когда есть няшный Consolas?
я сейчас покопался, вроде могет. но с размерами туговато.
nado pisati skochati ffmpeg bez platno i bez sms
>Олсо webm.js тоже крашит
В какой момент происходит крэш? Сделай скриншот.
Какая версия хрома? Попробуй на последнем/на бете. И в другом браузере на всякий случай.
А эти 10-битные просто. Такое у всех, насколько я знаю, только если плагин отдельный не ставил.
Точнее некоторые ещё с профилем первым (дискретизации отличные от yuv420p). Это нормально в общем для хрома падать на таких.
Просто >>1335889 моя вебмка. И я сижу уже 3-ий час ебусь не могу сделать именно vp9 видео которое не крашит хром.
ffmpeg -i D:\3.avi -i D:\3.wav -c:v libvpx-vp9 -crf 40 -b:v 760k -vf "scale=960:540,fps=30" -r 30 -c:a libopus -b:a 48k -threads 7 -map 0:0 -map 1:0 C:\12332231.webm
Видео в Lagarith 60 422
-pix_fmt +yuv420p попробуй добавить.
У тебя там на входе yuv444p небось, раз кодек без потерь.
Пиздец я мудак. Спасибо.
Либо >>1275470 (режет после лимита), либо https://github.com/pituz/webm-thread/blob/master/tools/mkvsplit (обёртка для mkvmerge, режет до лимита).
>mkvmerge --split 6000k in.webm -o out.webm
Это в ффмпег?
У меня видео есть допустим 30 сек длинной, как его порезать?
Что указывает 6000к - килобайт?
> mkvmerge
> Это в ффмпег?
Сам-то как думаешь? Олсо, у тебя какая-то каша в голове: использовать предлог «в» по отношению к неинтерактивным программам некорректно, т.к. они не являются средой, в которой можно находится.
Средой является командный интерпретатор (или шелл).
> Что указывает 6000к - килобайт?
Да.
>Сам-то как думаешь?
Не знаЮ, знаю что ффмпег сборник костылей для медиа, может там и мквмерж есть?
>по отношению к неинтерактивным программам некорректно
Но ведь проект FFmpeg это действительно сборник программ (ffmpeg, ffprobe, ffescape, qt-faststart и многих других, сделай equery f ffmpeg | grep bin и офигей), а также библиотек вроде libavcodec и libavresample.
Если имеется в виду «mkvmerge находится в (пакете) ffmpeg?», то вопрос действительно корректен. Но мне показалось, что >>1347342 спрашивал что-то вроде «это писать в (программе) ffmpeg?».
>>1347386
mkvmerge (а также mkvinfo и ещё пара программ) поставляется в пакете mkvtoolnix. Олсо, это гуглится парой кликов мыши.
Кстати, этот сраный mkvtoolnix собирается пиздец сколько (без гуишки), хотя кода там кот наплакал.
Понапихали бустовских шаблонов, я ебу.
Ничего не добавляется, она пустая вообще, а раньше там папочки были.
Я ничего не делала, как поставила так и стоит, только обновления какаие-то качаються постоянно.
Тебе в соседний тред, дурачок
Гореть вам в аду мрази.
> почему в мозиле звук в полтора раза тише на этих двух вебмках
Тише чем где?
Олсо поддержка браузера Mozilla Suite была прекращена задолго до появления формата WebM.
Куклоскрипт.
У libvpx-vp9 kf_max_dist=9999 по умолчанию. И в условиях маленьких лимитов на размер это более чем практично. То, что твой плеер не умеет exact seek, никого не волнует.
Говори как починить или альтернативу, иначе сам идешь нахуй с таким конструктивом.
Сам найдёшь. С таким-то мокрописечным рылом он ещё будет мне указывать!
Ну тогда успехов тебе в поисках неработающего куска в этой куче говна. Для верности можешь винду переустановить.
> везде
Везде не получится, тот же вп9 харварно не декодится почти везде. Ты когда видос запускаешь, в трее появляются иконки Lav-фильтров, там можно выбрать хардварный декодер (nvidia cuvid например). Ну или в k-lite codec config tool'е.
Сфигали никак? Декодишь каждый N-ый кадр, пытаешься найти известные паттерны. А ещё лучше звук анализировать, будет намного быстрее и эффективнее.
Лучше звук, чтобы находить все сорт оф скриммеры.
>Сфигали никак?
Пока никто не написал такую опердень с возомжностью интегрировать в двач, то никак. Кукаретики нинужны.
Кукаретик здесь только ты. Заявляешь о том, чего не знаешь. Большинство популярных аудио-декодеров давно портировали на JavaScript, см. проект audiocogs хотя бы. Я уже даже не говорю о том, что портирован даже ffmpeg, поддерживающий все мыслимые и немыслимые форматы.
Соответственно, твой пост >>1352227 содержит ложное и дилетанское высказывание. Из браузера это прекрасно возможно сделать, необходимо лишь дописать небольшую прослойку бизнес-логики в виде детектора определённых звуковых/видео-паттернов, используя существующие браузерные библиотеки и инструменты.
То, что тебе в голову такая возможность не приходила, указывает лишь на твою недальновидность при дачи ответа, да и только. А сейчас ты включил задний ход и начал мне доказывать, что всё прекрасно знал, просто имел ввиду, что нельзя, раз готового однокнопочного скрипта нет. Типичный аргумент демагога. Тогда уж расскажи как не из браузера. Что, уже есть программа, делающая именно это?
>Соответственно, твой пост >>1352227 содержит ложное и дилетанское высказывание.
Теперь, когда известно, что я имел ввиду, пост вполне приличный.
>Кукаретик здесь только ты.
>Типичный аргумент демагога
Это меня повеселило. Мог бы сам воздержаться от использования приёмов демагога: переходы на личность, утверджения без доказательств. Кто из нас тут еще демагог?
>тебе в голову такая возможность не приходила
1. Откуда тебе это знать? 2. Неправда. Анончики тут интересные ссылочки постили, например, ссылка на JS-based Webm энкодер >>1342770. 3. Раз предпоссылка ложная, то и логический вывод тоже.
>А сейчас ты включил задний ход и начал мне доказывать
Нет, я раскрыл предпоссылку, которую опустил в первом посте. То, что тебе в голову такая возможность не приходила, указывает лишь на твою недальновидность при даче ответа, да и только. Шучу-шучу.
А про звук - это к тому, что Джон Сина не всегда сопровождается шаблонным видеорядом, может быть вообще только звук.
>просто имел ввиду, что нельзя, раз готового однокнопочного скрипта нет
Именно, чувак! Я это и имел ввиду почти, лучше бы скрипт, который сразу пишет в хидере поста "ДЖОН СИНА ИНСАЙД" красными буковками.
>Что, уже есть программа, делающая именно это?
Вероятность существования такой программы крайне мала. Думаю, ты понимаешь почему так, раз написал "именно это".
>Тогда уж расскажи как не из браузера
Нерелейтед контент, ибо считаю свою предпоссылку верной. А я разве говорил, что можно не из браузера? Утверждения "Из браузера никак" и "Можно не из браузера" логически никак не связаны.
>это прекрасно возможно сделать, необходимо лишь дописать небольшую прослойку
Неужели все так прекрасно? Нам нужно мнение эксперта. Тебе я не доверяю.
>>1342770
Можно ли сделать js-скрипт, чтобы он мог распознать в webm на дваче Джон Сину по шаблону (звук), и при этом достаточно быстро (не более 5 секунд после нажатия волшебной кнопочки)?
>Соответственно, твой пост >>1352227 содержит ложное и дилетанское высказывание.
Теперь, когда известно, что я имел ввиду, пост вполне приличный.
>Кукаретик здесь только ты.
>Типичный аргумент демагога
Это меня повеселило. Мог бы сам воздержаться от использования приёмов демагога: переходы на личность, утверджения без доказательств. Кто из нас тут еще демагог?
>тебе в голову такая возможность не приходила
1. Откуда тебе это знать? 2. Неправда. Анончики тут интересные ссылочки постили, например, ссылка на JS-based Webm энкодер >>1342770. 3. Раз предпоссылка ложная, то и логический вывод тоже.
>А сейчас ты включил задний ход и начал мне доказывать
Нет, я раскрыл предпоссылку, которую опустил в первом посте. То, что тебе в голову такая возможность не приходила, указывает лишь на твою недальновидность при даче ответа, да и только. Шучу-шучу.
А про звук - это к тому, что Джон Сина не всегда сопровождается шаблонным видеорядом, может быть вообще только звук.
>просто имел ввиду, что нельзя, раз готового однокнопочного скрипта нет
Именно, чувак! Я это и имел ввиду почти, лучше бы скрипт, который сразу пишет в хидере поста "ДЖОН СИНА ИНСАЙД" красными буковками.
>Что, уже есть программа, делающая именно это?
Вероятность существования такой программы крайне мала. Думаю, ты понимаешь почему так, раз написал "именно это".
>Тогда уж расскажи как не из браузера
Нерелейтед контент, ибо считаю свою предпоссылку верной. А я разве говорил, что можно не из браузера? Утверждения "Из браузера никак" и "Можно не из браузера" логически никак не связаны.
>это прекрасно возможно сделать, необходимо лишь дописать небольшую прослойку
Неужели все так прекрасно? Нам нужно мнение эксперта. Тебе я не доверяю.
>>1342770
Можно ли сделать js-скрипт, чтобы он мог распознать в webm на дваче Джон Сину по шаблону (звук), и при этом достаточно быстро (не более 5 секунд после нажатия волшебной кнопочки)?
Каким ключом указывается размер выходщего файла? Хочу уменьшить разрешение на выходе
:: скрипт для простейшего создания webm
:: хавает любые форматы (надеюсь)
:: сохраняешь как ffmpeg-drag-n-drop.bat
:: суешь рядом с ffmpeg.exe
:: создаешь ярлык батника на рабстоле
:: кидаешь нужное видео на ярлык
:: оно само кодириуется и кладется в директорию исходного файла
:: настройки сам поменяешь
:: https://github.com/pituz/webm-thread/wiki/
echo off
title ffmpeg drag'n'drop
cd /d "%~dp0"
ffmpeg -i "%~f1" -b:v 0 -crf 20 "%~dpn1.webm"
echo.
pause
Чего смешного-то? Плакать надо.
Люди не понимают как устроены вещи их окружающие, не понимают даже базовых принципов работы инструментов, которые они пользуются каждый день, при этом, судя по всему, считая себя вполне компетентными, раз вон человек решил даже нам сообщить о серьёзной проблеме.
Потом такие нас лечат или, допустим, пишут софт, который убивает людей из-за race conditions: https://en.wikipedia.org/wiki/Therac-25#Root_causes
Это как я пришёл бы на форум строителей со скриншотами доказывающими, что дом развалится. Или как всяческие фрики регулярно отсылают свои варианты доказательства теоремы Фрема и решения открытых математических/физических проблем.
Суть в том, что мы можем резать видеофайлы по GOP, и кодировать эти небольшие части на разных серверах одновременно, а потом склеить их, и получим практически такой же видеофайл, как если бы мы его кодировали обычным способом, только получается заметно быстрее.
Сейчас вот достал свой PoC, который писал год назад (https://github.com/ValdikSS/distvidc), проверил — работает, у меня получился видеофайл, у которого визуально не видно провалов битрейта на стыке кусков. Этот PoC состоит из server, worker и client. Server раздает видеофайлы worker'ам, разбивает видеофайлы на сегменты с помощью mpvmerge и собирает их обратно, как только все сегменты скодировались. Worker подключается к server и кодирует сегменты с помощью ffmpeg, а client позволяет передать настройки кодирования для файла на server.
PoC написан с использованием сокетов, которые передаются на stdin и stdout ffmpeg. Сделано это для того, чтобы worker не скачивал сегмент, затем кодировал, затем загружал на сервер, а кодировал бы видеоданные сразу по мере скачивания, тут же отправляя скодированное на сервер. Получается минимальное потребление RAM и HDD.
Сумбурно как-то написал, хочу спать. Прикрепляю скодированный файл, получившийся из AVI wmv3. Размер между файлом, скодированным нормальным образом и распределенно, отличается всего на 40 кб, визуально провалов качества на стыке сегментов не видно.
Они не настолько медленные, мы же не декодированные кадры отдаем на worker.
Какое практическое применение-то? Думаешь найдётся достаточно добровольцев для формирования сети обмена ресурсами (аля ты предоставлял свой процессор определённое количество дней и теперь можешь скодировать определённое количество минут видео)? Сомневаюсь как-то. Ставить кусок какой-то непонятной питонятины, без нормальных пакетов (которые, ясное дело, фиг знает когда появятся) себе на сервер для чего? Чтобы раз в год сделать какой-нибудь рип? Для тех, кто регулярно энкодит и у кого больше одной машины, такое не нужно.
Разве что весело было бы прицепить что-нибудь подобное в webm.js через WebRTC (например, открыл вкладку дома на десктопе, потом с мобильника подключился на секретный URL и скодировал, всё без серверов). Но это так, в порядке наркомании.
Добавь -threads 4 (или 8, сколько там у тебя)
Практическое применение — быстрое кодирование видео с любыми фильтрами ffmpeg, с наложением субтитров, например, любым кодеком, поддерживаемым ffmpeg. Все будет происходить на серверах, а не на клиентских машинах (я знаю, где можно взять достаточно крутые Xeon за $0.01-$0.03 в час).
Уже вот-вот наступит эра 4K-видео, и вполне кому-то нужно будет перекодировать 10-минутный H.265 3840×2160 в vp9 в таком же разрешении. На обычном компьютере это очень нетривиальная задача, но если распараллелить ее на 16 компьютеров, получится значительно (в 10-14 раз) быстрее с результатом чуть-чуть хуже, чем если бы кодировали на одном компьютере.
Снял видео на телефон, телефон снимает в H.265 4K, посмотреть на компьютере не могу, т.к. тормозит, а железного декодирования H.265 нет.
А кусок этой питонятины — proof of concept. Я и ищу заинтересованных людей для того, чтобы мне помогли написать это все нормально.
>Все будет происходить на серверах, а не на клиентских машинах (я знаю, где можно взять достаточно крутые Xeon за $0.01-$0.03 в час)
Всё равно не понял. Если кто-то может взять крутые зеоны, зачем ему какие-то левые тулзы, если параллельный энкодинг делается примитивным шелл-скриптом на коленке? Какая модель коммьюнити предполагается? Или ты просто хочешь красиво оформить однострочник в энтерпрайз-аппликуху, которую каждый будет сам ставить на свои зеоны?
>Уже вот-вот наступит эра 4K-видео
Она уже наступила. Все новые кодеки сделаны с рассчётом на 4К и больше. Это уже можно сказать мейнстрим, сейчас над 8К думают.
>На обычном компьютере это очень нетривиальная задача
Ой да ладно. Я несколько минут 8К на домашнем компьютере энкодил в VP9 и ничего, в районе часа было. VP9 с версии 1.4.0 достаточно неплохо ускорили, если что. И его модель tile-columns multithreading как раз на широкие видео и рассчитана. Тут один зеон с большим числом ядер очень хорошо смотрится.
>а железного декодирования H.265 нет
А VP9 есть?
>Я и ищу заинтересованных людей для того, чтобы мне помогли написать это все нормально
А где революционность идеи-то? К тому же, что это и зачем, ты так пока и не объяснил.
>Какая модель коммьюнити предполагается? Или ты просто хочешь красиво оформить однострочник в энтерпрайз-аппликуху, которую каждый будет сам ставить на свои зеоны?
Это будет просто сервис, куда люди смогут загружать свои видео, указывать параметры кодирования и получать скодированное видео быстро.
>Она уже наступила. Все новые кодеки сделаны с рассчётом на 4К и больше. Это уже можно сказать мейнстрим, сейчас над 8К думают.
Кодеки-то понятно, я имел ввиду, что обычному пользователю уже сегодня-завтра придется работать с 4K-видео, даже телефоны уже умеют снимать.
>Ой да ладно. Я несколько минут 8К на домашнем компьютере энкодил в VP9 и ничего, в районе часа было.
Ну, у тебя, вероятно, какой-то 4-6 ядерник, а есть еще лаптопы.
>А VP9 есть?
Ну это был просто пример. VP9 тоже нет.
>А где революционность идеи-то? К тому же, что это и зачем, ты так пока и не объяснил.
Сейчас есть куча коммерческих сервисов по перекодировки видео, которые ограничены в возможностях (только определенные кодеки и профили на выходе, малое количество фильтров), и которые берут дохрена денег, особенно за кодирование 4K-видео. Я хочу сделать подобный сервис, который если и будет коммерческим, то получится куда более дешевле и функциональней конкрентов.
Лол, так ты разделом ошибся. Это в /biz/.
Я-то думал ты модель volunteer computing для энкодинга хочешь реализовать. А ты оказывается компаньонов на типичный облачный стартап ищешь.
Он походу хочет чтобы ему тут накодили стартап забесплатно, который он затем поставит на свои машины и будет продавать как SaaS. Судя по
>Я и ищу заинтересованных людей для того, чтобы мне помогли написать это все нормально
Только фиг знает, кто в таком проекте может что интересное для себя найти. Да и как только наберётся достаточно популярности (если наберётся), всё это очень быстро станет нерентабельно. Т.е. единственная стоящая проблема перед таким сервисом — заработать достаточно бабла или хотя бы окупиться перед тем как он загнётся. С технической точки зрения всё уныло, никакой новизны. Нет бы действительно стоящим проектам помогать, которые пытаются двигаться в сторону ухода от облаков.
Красиво оформленная аппликуха с веб-интерфейсом (аля фронтенд к compute-нодам, на которых крутится ffmpeg, что-то вроде OpenStack), которую можно поставить себе, ещё куда бы ни шло. Или какой P2P прикрутить.
Как в нём видео добавлять в свои плейлисты? Никак разобраться не могу.
>т.к. на входе ты соснёшь передавать незжатый поток
Что ты конкретно имеешь ввиду под несжатым потоком? RAW-видео? А зачем мне его декодировать перед передачей через интернет?
>когда изначально записанное пользовательским устройством видео прекрасно будет проигрываться на всех железках (уж производители об этом позаботятся).
Мой лаптоп не может в реалтайме декодировать H.265 3840×2160 30 fps на CPU, а GPU без поддержки декодирования H.265. Телефон снимает именно такое видео. Конечно же, на телефоне оно воспроизводится нормально.
Идея не в самом «сервисе» (зря я вообще употребил это слово), а в создании ПО для такого распределенного кодирования, с каким-либо интерфейсом, хоть с браузерным, хоть с враппером над ffmpeg, который бы кодировал распределенно, чтобы каждый мог запустить его на своих серверах, как >>1356450 и говорит.
У меня есть, скажем, 700-мегабайтный видеофайл в H.265 3840×2160 60 fps, который идет 3 с половиной минуты. На моем лаптопе он транскодируется в H.264 1920×1080 с preset=faster 9 fps, т.е. потребуется минут 25. Даже если передавать этот видеофайл не в локальной сети, а на удаленные серверы через интернет, то получится быстрее, чем мне кодировать его на моем лаптопе, ведь мы можем начинать разделять файл на сегменты для отправки их на кодировние воркерам еще во время загрузки файла, не дожидаясь его полной загрузки. Я сам часто пользуюсь своим костылем, когда нужно перекодировать 10-битное аниме для телефона (телефон не умеет такое декодировать) быстро, запускаю кодирование на 4 серверах одновременно и через 10 минут у меня уже 5 скодированных серии.
>ну то есть речь идет об однопоточном кодировании, ты понимаешь, да?
Нет, не понимаю. Почему?
>и "своими" серверами, читай для админоблядей
У меня интернет 50 мегабит в секунду на отдачу, сейчас использую xeon'ы со slicify за $0.01 в час. Так что насчет использования казенного имущества в личных целях ты ошибся.
И нет, я не хочу использовать браузер, я хочу как раз враппер над ffmpeg, но веб-интерфейс тоже приемлем.
А утилита тупая, моя чуть умнее, но все такая же тупая. Нет ни очереди кодирования, ни возможности вшить субтитры в видеопоток (т.к. разделение происходит через ffmpeg, а он не умеет нарезать на сегменты, оставляя attachements).
По сути, мне хочется иметь вот такую утилиту как по твоей ссылке, только чтобы серверная часть умела очередь с приоритетами, чтобы можно было кодировать, скажем, две очереди одновременно, высокоприоритетную и низкоприоритетную, в зависимости от текущей нагрузки без выбора конкретных серверов, какую-никакую статистику, ну и всякие прочие удобства.
Я знаю этот проект, он завязан на сервисы Amazon. Самое, пожалуй, главное — очередь, реализуется именно на стороне Amazon.
А нафиг нарезать? Локалка у большинства нормальных хостеров быстрая и практически бесплатная. Скачиваем файл на сервер, между зеонами NFS-шара. На каждом запускаем одну и ту же команду с нужными значениями во флагах -ss и -t. Затем муксим. И никаких скриптов для этого не надо.
Ну и да, это забава для админоблядей в чистом виде. 4к можно энкодить в 16 потоков на одном сервере вообще без каких-либо ухищрений. Куда больше-то? Те, кто постоянно и много энкодят и у кого свой парк серверов, уже скрипты написали (было б что писать там).
ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB" -map 0:1 -map 0:2 -map 0:3 -c:v libx264 -profile:v high -level 4.1 -preset slow -crf 18 -vf yadif=0 -aspect 16:9 -c:a copy out.mkv
я нигде не сосну? Megui добавляет пачку параметров на вывод сам, в ффмпеге их надо прописывать, или там дефалтные сойдут?
>рипнуть двд
DVDFab - снятие защиты.
PgcDemux - демукс видео и аудио.
VSRip - демукс субтитров.
ffmpeg - создание рипа.
И зачем мне это все? Мне нужна помощь по параметрам.
>будут либо повторы либо пропущенные кадры
Не будут. При перекодировании seek работает с точностью до кадра.
>инфа соточка
Ну да, куда уж разработчикам с канала ffmpeg до авторитетного мнения посетителя двача, которые подтвердили, что этот метод работает верно.
>вон тебе способ определения оставшегося времени до конца кодирования даже есть
Ты типо нас здесь хочешь удивить умением вбивать фразу в гугль? Я уже не говорю о том, что ты даже гуглить не умеешь, т.к. этот метод херня и не работает при первом проходе (там N/A в поле времени). Надо использовать кадры. Только вот зачем ты сюда это запостил если задача примитивна даже для первого курса гуманитарного вуза — я не понял.
>мало того что ты угробишь железо читая файл 200 раз вместо одного
Во-первых, seek целиком файл с диска не читает, а только хидеры фреймов, всё остальное пропускает.
Во-вторых, мы получаем офигенную выгоду от дискового кэша.
Во-третьих, раз уж заговорили про ограничения железа, то разбитие каждого файла на сегменты и запись их на каждой машине убьёт его гораздо быстрее, чем залить один раз файл на хранилку и дальше только читать.
>по причине пропускной способности того же самого железа
Никогда не слышал что такое SAN, как они работают и каие там ограничения? Ну, с твоей квалификацией-то понятно.
>Это уж не говоря о лишних ключевых кадрах
В каком месте? Выше сто раз обсуждалось, что тот же libvpx ключевые кадры ставит вовсе не в тех местах, где они были в источнике. И ты своим разбитием по GOP оригинала только хуже делаешь.
>Говнопроектировщик уровня /s/
И это мне заявляет автор быдлокода на перле, который постом выше жаловался, что его метод не работает с приаттаченными шрифтами.
Что там искать? Любой человек, хоть немного знакомый с проектированием ПО, слышал про AMQP/ZeroMQ и популярные серверы, их реализующие. RabbitMQ хотя бы.
Его нельзя распространять, т.к. он nonfree. Только если кто может полулегально выложил.
Варианта два:
1) Собрать самому. Ничего особо сложного в этом нет, гайдов в том числе под винду куча.
2) Использовать свободный энкодер https://github.com/mstorsjo/vo-aacenc , он входит в состав тех же билдов Zeranoe.
3) Не использовать AAC, Opus лучше.
>При перекодировании seek работает с точностью до кадра.
Даже если -ss перед -i? Надо проверить, спасибо.
>>1358243
>И это мне заявляет автор быдлокода на перле, который постом выше жаловался, что его метод не работает с приаттаченными шрифтами.
Ты путаешь людей, про шрифты я жаловался, автор быдлокода на питоне.
Все очень просто, не надо этой хрени что написана у анимепидоров
ах да, VP9, ffmpeg наш свободный и могучий
Я серьезно спрашиваю, у тебя хоть одна версия ffmpeg'a или программы на его основе может больше одного потока при кодировании VP9 ?
in b4 обновить драйверы видеокарты
2500к
>При перекодировании seek работает с точностью до кадра.
Да, действительно, все хорошо работает, спасибо!
Есть одна amv и есть sony vegas. В сони вегасе я ньюфаг ебаный, а мне нужно из амв удалить титры, которые над самим видео постоянно показывают соус на тот или иной отрезок. Так как я накладываю свою аудио дорогу, то эти титры собственно надо выпилить. Помогите пожалуйста.
> я ньюфаг ебаный
Оно и видно. Данные по амв где?
> удалить титры
Тут был анон, который собирался захуячить мега убиратель хардсаба на основе анализа предыдущих/последующих кадров и каких-то ещё (недоступных моему разуму) приёмов. Можешь попросить у него о прогрессе его разработки.
Да уже решил проблему, я просто в видео евент фх сместил камеру, убрав горизонт соусы, благо автор амв их пилил на черном фоне и видео это не затрагивало. Сейчас у меня пердолинг с кодированием в вебм.
> я просто в видео евент фх сместил камеру, убрав горизонт соусы, благо автор амв их пилил на черном фоне и видео это не затрагивало
Это ты так обозвал кроп чёрной полосы? И зачем для этого вегас?
> Сейчас у меня пердолинг с кодированием в вебм.
Вангую распидорашенное говно в VP8 с анаморфом.
>И зачем для этого вегас?
Так я вегас использовал, чтобы удалить оригинальную дорожку и поставить на ее место свою, а черные полосы с соусами уже как дополнение.
>Вангую распидорашенное говно
Да, так и есть, я уже на стену лезу блять, квадратов просто дохуища. Пытаюсь последний вариант попробовать, если и он провалится, то хуй знает как вообще делать тогда. В плеере то нормально выглядит. Вот собственно пикрил проблемы, спрашивал в треде, мне один анон ответил "Делай двойной проход", я и так собирался его делать, но это не помогло хотя бы близко сохранить качество.
Алсо, я сейчас даже попробовал в 1М битрейт и -crf 10, как на трак.ффмпеж писали, это помогает сохранить качество, чем меньше значение, тем лучше. Я попробовал со стандартного, написанного в 10, вышло тоже самое говно, да еще и в 14 мб и это только 1:50мин.
Короче нихуя не выходит. Попробовал даже по 1.2к битрейт на фрейм - все равно квадраты ебаные. Почему их нет в плеере, при просмотре мп4, а когда делаешь вебм, то квадраты? Помогите криворукому.
1. Никогда не кодируй в один проход
2. Ты зачем его в mp4 отрендерил? Рендерь в AVI без потерь (с отключенным ресемплированием, если частота кадров не исходная)
3. Тебе нужно что-то вроде, чтобы в один поток и два прохода:
1 проход
ffmpeg -i video.avi -c:v vp9 -pix_fmt +yuv420p -passlogfile temp001 -y -an -pass 1 AMV.webm
2 проход
ffmpeg -i video.avi -metadata title="AMV by Vasyan666" -c:v vp9 -q:a 4 -pix_fmt +yuv420p -passlogfile temp001 -auto-alt-ref 1 -lag-in-frames 25 -y -qmin 8 -crf 12 -qmax 30 -y -quality good -pass 2 AMV.webm
Запускаешь, смотришь на битрейт через секунд 10-20, если битрейт слишком высокий, то жмешь q и делаешь значения параметров -qmin -crf -qmax выше, а если битрейт слишком низкий, то меньше.
А у тебя еще и скейл есть, тогда добавь в первый и второй проход:
-vf scale=720:-1:flags="lanczos"
>Ты зачем его в mp4 отрендерил
Да я в вегас работал даже меньше чем в ффмпеж, хотя заменил звуковую дорожку на свою на удивление ловко.
>-passlogfile temp001
За что это отвечает?
>:flags="lanczos"
И вот это.
Блин, анон, ты тоже охуенен. Мне вот недавно тоже объяснили, пробовал, вышло намного лучше + еще твое объяснение. Теперь я стану СУПЕР ПЕРДОЛИКОМ. Спасибо большое!
Дедлайн 0 при 100% использовании процессора кодирует двухминутный ролик уже 18 часов и в ролике еще 15 секунд закодировать осталось.
Можно ли как-нибудь установить качество на ступеньку ниже, чем дедлайн 0, но чтобы при этом не зависило от процессора?
Я, конечно, понимаю, что по смыслу нельзя, но все же.
4 дня опыта, гайд в шапке читал и понял
>За что это отвечает?
По умолчанию ффмпег сохраняет лог первого прохода в файл с названием ffmpeg2pass-0.log
Допустим ты кодируешь одновременно две вебм в двух консольках, то тебе нужно сохранить их логи первого прохода разные файлы. Пишешь для первой вебм -passlogfile temp001, для второй -passlogfile temp002 и никаких конфликтов. Просто, чтобы ты уже знал.
>И вот это.
Так при скейле будет использоваться алгоритм lanczos, а по умолчанию алгоритм выбирается автоматически из списка. Мне он еще приглянулся, когда я в гимпе работал.
Пиздец, сколько всего, чего не узнаешь из вики. Это совершенно другой уровень. Сейчас я рендерю в ави 720 50p и еще раз попробую сделать. Буду 2 варианта клепать: в 2 куска и целый. Начну с целого. Ууух бля, я весь пылаю!
> Так я вегас использовал, чтобы удалить оригинальную дорожку и поставить на ее место свою
Что помешало сделать это тем же ffmpeg'ом? Единственное, для чего вегас действительно может понадобиться — сложный монтаж видео со всякими спецэффектами, вроде создания тех же amv. В твоём же случае это как фотошопом картинки масштабировать.
>>1360339
> Я тут путем несложных логических заключений понял, что качество/размер при -quality good зависит от процессора.
Только при одном проходе: однопроходное кодирование предназначено для потокового вещания.
Не знаю, попробуй через -crf
Выше значение crf - ниже детализация, возможно, и меньше время на кодирования.
Я до сего момента даже не догадывался, что такое возможно через ffmpeg.
> Если для кого-то это слишком сложно, то можно взять гуй с минимумом кнопок для умственно отсталых (сперма-only): https://github.com/nixxquality/WebMConverter
Почему она не может в многопоточность? Зачем тогда там этот ползунок?
Добавил кучу разных фич, более-менее пофиксил среднего размера файлы (у меня 600M+ файлы достаточно свободно открываются и энкодятся). Также запилил софтварный проигрыватель в зачаточном состоянии. Теперь оно, пожалуй, ещё сырее, чем было, поэтому было бы хорошо, если кто помог потестить на разных файлах и браузерах.
А в каком коде кодирует? А сколько потоков? А на сколько производительность меньше нативного?
>А в каком коде кодирует?
Не понял вопроса.
>А сколько потоков?
Сколько поставишь. Значение по умолчанию зависит от числа физически доступных ядер.
>А на сколько производительность меньше нативного?
libopus очень быстрый, на уровне натива, всякие прочие сервисные операции/декодинг тоже быстро. libvpx-vp8 у меня в 8 раз медленнее натива, но мой процессор с кучей расширенных векторных инструкций, так что YMMV.
В моих тестах SD видео кодируется примерно 5x от продолжительности. HD ~8x. Для небольших клипов, я думаю, более чем вменяемо, правда, это VP8, к сожалению. Других репортов пока никто не приводил.
Это не проблема. В JS сейчас оно недоступно (только short SIMD собираются в ближайшее время добавить), оттого разница более значительная. Если процесс похуже, то, возможно, будет разница 3-6x, но я не проверял.
>>1360667
Слишком медленно будет. Но как только хоть какой-нибудь SIMD в стабильных версиях браузеров можно будет использовать, потестирую получше.
>но я не проверял
То есть один раз проверил. Собрал libvpx вообще без всех SIMD оптимизаций, скорость сразу в 5 раз упала и приблизилась к JS.
[CODE][18:57:30] Spawning jobs:
[18:57:30] 4 video threads
[18:57:30] 1 audio thread
[18:57:30] Video 1 started first pass
[18:57:30] Video 2 started first pass
[18:57:30] Video 3 started first pass
[18:57:30] Video 4 started first pass
[18:57:30] Audio started
[18:57:32] Fatal error at Video 4: Uncaught RangeError: Invalid array buffer length[/CODE]
???
Видос полтора гига
Ты его целиком стал энкодить? Если попробовать поменьше продолжительность или поменьше файл?
Впрочем, я на первом попавшемся фильме такого же размера не смог воспроизвести, начало нормально энкодиться. Какой браузер/версия?
win10 x64/chrome Версия 44.0.2403.155 m
Сейчас вырезал минуту из видео, кодировал больше часа лол
Как-то очень медленно
[19:07:15] Spawning jobs:
[19:07:15] 4 video threads
[19:07:15] 1 audio thread
[19:07:15] Video 1 started first pass
[19:07:15] Video 2 started first pass
[19:07:15] Video 3 started first pass
[19:07:15] Video 4 started first pass
[19:07:15] Audio started
[19:07:28] Audio finished (00:00:12.8)
[19:25:58] Video 4 finished first pass (00:18:43.4)
[19:25:58] Video 4 started second pass
[19:28:09] Video 3 finished first pass (00:20:54.2)
[19:28:09] Video 3 started second pass
[19:28:24] Video 1 finished first pass (00:21:08.0)
[19:28:24] Video 1 started second pass
[19:29:43] Video 2 finished first pass (00:22:28)
[19:29:43] Video 2 started second pass
[20:07:34] Video 2 finished second pass (00:37:50.0)
[20:14:12] Video 4 finished second pass (00:44:29.3)
[20:21:22] Video 1 finished second pass (00:51:39.3)
[20:22:38] Video 3 finished second pass (00:52:54.6)
[20:22:38] Muxer started
[20:22:43] Muxer finished (00:00:04.9)
==================================================
All is done in 01:15:27.6
Output duration: 00:01:00
Output file size: 14589495 B, 14247.55 KiB, 13.91 MiB
Output video bitrate: 755k
Output audio bitrate: 64k
win10 x64/chrome Версия 44.0.2403.155 m
Сейчас вырезал минуту из видео, кодировал больше часа лол
Как-то очень медленно
[19:07:15] Spawning jobs:
[19:07:15] 4 video threads
[19:07:15] 1 audio thread
[19:07:15] Video 1 started first pass
[19:07:15] Video 2 started first pass
[19:07:15] Video 3 started first pass
[19:07:15] Video 4 started first pass
[19:07:15] Audio started
[19:07:28] Audio finished (00:00:12.8)
[19:25:58] Video 4 finished first pass (00:18:43.4)
[19:25:58] Video 4 started second pass
[19:28:09] Video 3 finished first pass (00:20:54.2)
[19:28:09] Video 3 started second pass
[19:28:24] Video 1 finished first pass (00:21:08.0)
[19:28:24] Video 1 started second pass
[19:29:43] Video 2 finished first pass (00:22:28)
[19:29:43] Video 2 started second pass
[20:07:34] Video 2 finished second pass (00:37:50.0)
[20:14:12] Video 4 finished second pass (00:44:29.3)
[20:21:22] Video 1 finished second pass (00:51:39.3)
[20:22:38] Video 3 finished second pass (00:52:54.6)
[20:22:38] Muxer started
[20:22:43] Muxer finished (00:00:04.9)
==================================================
All is done in 01:15:27.6
Output duration: 00:01:00
Output file size: 14589495 B, 14247.55 KiB, 13.91 MiB
Output video bitrate: 755k
Output audio bitrate: 64k
Проясни за опции которые жирным.
ffmpeg.exe -i test.mp4 -threads 4 -c:v libvpx -b:v 755k -speed 1 -auto-alt-ref 1 -lag-in-frames 25 -sn -c:a libopus -b:a 64k -ac 2 test.webm
Лол, жесть у тебя тестовые файлы, конечно. 350 метров на минуту видео это даже для 8K дохрена. Поставил энкодить, но раз 720p это примерно 8x от продолжительности, то 1080p будет, вероятно, в районе 30 минут.
>>1361245
speed=cpu-used=сложность используемых алгоритмов. 0 самый лучший, используем чуть похуже чтобы было быстрее при сравнимом качестве.
auto-alt-ref и lag-in-frames включает AltRef кадры.
sn игнорирует встроенные субтитры, ac 2 кодирует стерео аудио.
Сильно на время энкода влиять не должно, видео в любом случае переводится в несжатый формат изначально. Я просто удивился такому дикому битрейту. Влияет здесь больше всего разрешение 1080p.
Кстати, какой битрейт нормальный для шаудоуплей? По умолчанию оно пишет в 50мбит лол
Для H.264 1080p@60fps я бы в районе 10-20 мбитс ориентировался. Впрочем, я в H.264 мало энкожу.
Кстати, только сейчас посмотрел, у тебя ж ещё 60fps. У обычного видео ~24, т.е. это как 2.5 минуты. На таких сложных энкодах я пока особо не гоняю, без SIMD это будет печально.
Вот что-нибудь простенькое вроде вембрелейтед — очень даже ок. Средне-простое 720p, статистика:
All is done in 00:03:57.6
Output duration: 00:00:23.2
Output file size: 6021166 B, 5880.04 KiB, 5.74 MiB
Output video bitrate: 2757k
Output audio bitrate: 64k
Обычно майнтейнеры и ffmpeg, и libvpx компилируют с runtime-cpu-detect, так что здесь проблем быть не должно. Гораздо хуже что в бинарных дистрах всякое nonfree и патентнованное отключают, да и всё древних версий к тому же.
Спасибо.
Firefox 43
[18:45:29] Spawning jobs:
[18:45:29] 4 video threads
[18:45:29] 1 audio thread
[18:45:29] Video 1 started first pass
[18:45:29] Video 2 started first pass
[18:45:29] Video 3 started first pass
[18:45:29] Video 4 started first pass
[18:45:29] Audio started
[18:45:42] Audio finished (00:00:12.7)
[19:07:18] Video 4 finished first pass (00:21:48.5)
[19:07:18] Video 4 started second pass
[19:10:05] Video 1 finished first pass (00:24:35.6)
[19:10:05] Video 1 started second pass
[19:10:11] Video 3 finished first pass (00:24:42.1)
[19:10:11] Video 3 started second pass
[19:11:34] Video 2 finished first pass (00:26:04.0)
[19:11:34] Video 2 started second pass
[19:49:28] Video 2 finished second pass (00:37:53.9)
[19:54:59] Video 4 finished second pass (00:43:24.4)
[20:01:03] Video 1 finished second pass (00:49:28.5)
[20:02:42] Video 3 finished second pass (00:51:07.5)
[20:02:42] Muxer started
[20:02:43] Muxer finished (00:00:01)
==================================================
All is done in 01:17:13.7
Output duration: 00:01:00
Output file size: 14430555 B, 14092.34 KiB, 13.76 MiB
Output video bitrate: 1028k
Output audio bitrate: 64k
Интересно, я думал что быстрее будет. Ну, хотя бы хром не отстал. Позже на своём хроме попробую.
Натив с точно теми же настройками:
Output duration: 00:01:00
Output video bitrate: 1028.0k
Output audio bitrate: 64k
Output file size: 17195104 B, 16792.09 KiB, 16.40 MiB, OVERWEIGHT: 8806496 B
Overall time spent: 00:07:58.6
Чуть менее чем в 10 раз.
В общем, спасибо за статистику. Кстати, у тебя какой процессор?
Firefox 43
[18:45:29] Spawning jobs:
[18:45:29] 4 video threads
[18:45:29] 1 audio thread
[18:45:29] Video 1 started first pass
[18:45:29] Video 2 started first pass
[18:45:29] Video 3 started first pass
[18:45:29] Video 4 started first pass
[18:45:29] Audio started
[18:45:42] Audio finished (00:00:12.7)
[19:07:18] Video 4 finished first pass (00:21:48.5)
[19:07:18] Video 4 started second pass
[19:10:05] Video 1 finished first pass (00:24:35.6)
[19:10:05] Video 1 started second pass
[19:10:11] Video 3 finished first pass (00:24:42.1)
[19:10:11] Video 3 started second pass
[19:11:34] Video 2 finished first pass (00:26:04.0)
[19:11:34] Video 2 started second pass
[19:49:28] Video 2 finished second pass (00:37:53.9)
[19:54:59] Video 4 finished second pass (00:43:24.4)
[20:01:03] Video 1 finished second pass (00:49:28.5)
[20:02:42] Video 3 finished second pass (00:51:07.5)
[20:02:42] Muxer started
[20:02:43] Muxer finished (00:00:01)
==================================================
All is done in 01:17:13.7
Output duration: 00:01:00
Output file size: 14430555 B, 14092.34 KiB, 13.76 MiB
Output video bitrate: 1028k
Output audio bitrate: 64k
Интересно, я думал что быстрее будет. Ну, хотя бы хром не отстал. Позже на своём хроме попробую.
Натив с точно теми же настройками:
Output duration: 00:01:00
Output video bitrate: 1028.0k
Output audio bitrate: 64k
Output file size: 17195104 B, 16792.09 KiB, 16.40 MiB, OVERWEIGHT: 8806496 B
Overall time spent: 00:07:58.6
Чуть менее чем в 10 раз.
В общем, спасибо за статистику. Кстати, у тебя какой процессор?
пкм - сохранить файл
i7-2600@4.6Ггц
В Edge так и не дождался окончания по итогу полутора часов, там еще косяк есть не показывает прогрессбар вверху и на вкладках воркеров пусто, хотя он что-то энкодит и пишет в общий лог.
> Overall time spent: 00:07:58.6
У меня такое не показывает, как включить?
Еще посмотри мои настройки, пожалуйста:
> ffmpeg.exe -ss 00:00:00 -t 00:00:00 -i in.mp4 -threads 4 -c:v libvpx-vp9 -crf 32 -b:v 1000k -fs 6M -pass 1 -auto-alt-ref 1 -lag-in-frames 25 -c:a libopus -b:a 96k -f null -y NUL
> ffmpeg.exe -ss 00:00:00 -t 00:00:00 -i in.mp4 -threads 4 -c:v libvpx-vp9 -crf 32 -b:v 1000k -fs 6M -pass 2 -auto-alt-ref 1 -lag-in-frames 25 -c:a libopus -b:a 96k -y out.webm
-b:v я считаю через CalcFX v3.2.3, а вот -crf 32 взял с webmforretards, но там для vp8, а я юзаю vp9, качество вроде ок, стоит ли менять на большее число для уменьшения размера? Какое оптимальное у vp9 для 1080? Что еще можно добавить/убрать?
>i7-2600@4.6Ггц
Лол, разогнан что ли? Тогда понятно почему у тебя чуть быстрее вышло. По инструкциям у меня то же самое, только кэша побольше.
>там еще косяк есть не показывает прогрессбар вверху и на вкладках воркеров пусто
Да, известная проблема, пока не смог отладить. Хоть в виртуалку венду ставь. Но за исключением этого вроде всё остальное должно работать.
>У меня такое не показывает, как включить?
Я через это кодировал: https://pypi.python.org/pypi/webm
>Что еще можно добавить/убрать?
Для VP9 я что-то вроде этого обычно использую: >>1263221
Ещё пикрелейтед можешь посмотреть, он up-to-date с парой неточностей. Ну и в вики этого треде вроде не так плохо было.
>стоит ли менять на большее число для уменьшения размера
Я constant/constrained quality включаю только в специфических случаях. Например, при undershoot или если видео простое. Большую часть времени просто VBR (-b:v без -crf).
Спасибо, потестю.
ffmpeg -i input.mkv -cpu-used 16 -vf scale=160:120 -c:a libvorbis -q:a 0 -vcodec libx264 -crf 63 -vcodec libvpx -acodec libvorbis -b 500 output.webm
Как я вышел сухим из воды при критической ситуации угрозы жизни.
Суть была токова. Дело было давнее, 1942г, ВОВ, битва при Сталинграде. Товарищь Сталин вызывает мне к себе ставку и назначает задачу:"Есть один ебучий шакал.Нужно его как можно сильнее сжать без уменьшения разрешения меньше чем 160x120 (4:3)." Время на все про все дает он мне 2 часа, 3дж не работает, провод кабеля скоростного BOD-интернета обрезан клятыми хохлами-бандеровцами. Но задачу надо выполнить любой ценой, от этоо заисит жизнь полуторамиллионной ударной танковой группировки. Значит я беру телевизор плоского изображения и вывожу на него 160x120 (4:3). Потом беру айфон 6 и снимаю прямо с экрана видеоряд с высоким сжатием. Через 2 часа задача полностью выполнена, тов Сталин был осне доволен и дал мне покурить свою трубку. Это был уникальный случай, когда Верховный главнокомандущне дал пососать свою трубку.
-c:v vp9 -r 10 -auto-alt-ref 1 -lag-in-frames 25 и в два прохода раз-раз-раз
Зависит от формата. С некоторыми форматами вроде mpg сработает простое склеивание файлов на входе (>>1362100), для других вроде mkv/webm нужен плэйлист и специальный демуксер concat; если форматы дорожек не совпадают, то нужен фильтр concat и перекодирование (хотя можно перекодировать только один файл и слепить одним из предыдущих способов).
См. https://trac.ffmpeg.org/wiki/Concatenate
В смысле, Win7?
Я открываю так. Иду до папки ffmpeg/bin и там внутри бин папки прописываю cmd.exe, все, ффпмеж работает и не крашится.
а есть гуй на сперму, что бы просто склеить видео со звуком и выложить как вебМ? я так сильно не хочу пердолиться, но мне кажется уже проще эти команды освоить, чем что-то годное найти.
Алсо, есть ли гайд как это использовать на сперме, где нет консоли?
>Алсо, есть ли гайд как это использовать на сперме, где нет консоли?
Используй webm.js! Впрочем, там пока нет возможности добавить внешнюю дорожку, но думаю сделать. Подобные операции очень быстро будут работать, не хуже натива.
так мне собственно внешнюю дорожку и надо добавить, остальное на данном этапе не важно
нет, лучше так
Не нужно. Я ещё несколько месяцев назад в прошлом треде давал ссылку на workaround же.
https://trac.ffmpeg.org/ticket/2067#comment:15
Бамп. А еще вопрос возник. Я скачал Libx264 для ffmpeg, а как ее установить лол? Я не пойму. Ее разархивировать просто или в папку с ffmpeg кинуть?
Зачем тебе что-то устанавливать, если там все уже собрано и есть? Если ты на винде, конечно. Как оно выглядит на никсах я не представляю.
Да, я уже заметил, извиняюсь. До этого видел только 256. А вот такой вопрос, какой профит в тройном и более кодирование? Я почитал английские источники, насколько мне позволяет знание языка, так так пишут, что более двух проходов используется как раз в этом 264, что позволяет более лучше обрабатывать видео в hd, но для новичков это очень трудно. Как примерно проходит тройной проход?
ffmpeg -i video.mkv -pass 1 (2-3-...) video.webm и добавляя в каждом проходе необходимые параметры? Или в третьем проходе другое пишется?
Но зачем тебе x264 в webm? Её далеко не каждый сможет проиграть.
У меня есть mkv, длительностью 01-57, с такими показателями 1920x1080 23.976fps [V: h264 high 10 L4.0, yuv420p10le, 1920x1080 [default]] и я вот пердолюсь с превращением ее в вебм без потери качества и в высоком разрешении.
Щиндовс. Началось с форса >>1363106, потом распространилось со спермёрки на остальные версии.
>>1363199
В bourne shell это подстановка значения переменной ($variable_name), либо результата выполнения команды ($(command)), либо результата арифметической операции (только bash/zsh, $((2+2))).
>>1363148
Норкоман, в PATH путь до ffmpeg пропиши.
>>1363209
> а есть гуй на сперму
> я так сильно не хочу пердолиться
Поделил на ноль. Ты именно пердолиться и хочешь — ищещь программу, которая позволит тебе решить задачу методом тыка.
> на сперме, где нет консоли?
Есть консоль на сперме, только очень убогая. Ссылки на гайды и нормальную документацию есть в оп-посте.
>>1363418
> Что такое "/TB"?
Timebase, длина условной удиницы времени в секундах. При помощи этой единицы указывается время отображения кадра (PTS).
>>1363424
В случае с x264 два прохода нужны для подгонки видео под определённый объём. С libvpx ещё для чего-то, см. вики по ссылке в оп-посте.
А какой командой можно поставить лимит вебм? Чтобы консоль сама останавливалась, когда до лимита доходила?
-ffmpeg [всякая хуита для пердолинга] -pass 1 -f webm NUL пробовал -f webm NUL менять на -pass 1 test.webm, та же самая ошибка. ЧЯДНТ?
А, все. Сам разобрался. В той самой хуите было -an, а я указал вебм, вместо ogg
Допустимые в webm кодеки трёхпроходного режима не имеют.
>>1363638
Если вебм нужна под лимиты сосача, то это невозможно: VP9 без потерь будет весить слишком много (если это не статичная картинка, конечно).
Олсо, yuv420p10le не умеют играть браузеры, т.е. придётся снизить глубину цветопередачи до yuv420p.
>>1363845
Можно «-f null -»: всё равно ничего не выводится.
>>1363855
Что ты собрался выводить на первом проходе?
>>1363740
> А какой командой можно поставить лимит вебм?
Читай вики @ считай битрейт.
> Чтобы консоль сама останавливалась, когда до лимита доходила?
Проиграл. Обрезка по достижении размера — параметр выходного файла -fs.
>VP9 без потерь будет весить слишком много
А как же это? https://2ch.hk/b/src/100566397/14403595550180.webm
>Что ты собрался выводить на первом проходе?
Хуй знает, я у мамы дебил.
>Читай вики @ считай битрейт.
А вот касательно подсчета битрейта. Я подсчитал его, но под конец выходит за лимит, оставляя 30 секунд где-то видео. Почему так?
Блять, сука. Только сейчас еще раз сверился с кулькулятором, там я делал под 12 мб. Екарный бабай.
Какие-то формулы. Скачай битрейт калькулятор, введи разрешение, фпс, время, и крути битрейт\бит-пиксель пока не достигнет цели в 9.7мбайт или сколько там тебе надо. И сделай чуть ниже, ибо оно любит разбухать.
Проиграл с пердолика. И каким образом битрейт у тебя зависит от разрешения и фпс?
>А как же это?
Ты серьезно? Там куча микроартефактов от снижения детализации. Неплохо, но не стоит называть это без потерь
У меня никаким. А у тебя каким, раз такие вопросы странные задаешь? Может человек знает, что такое Bits/(Pixel*Frame) или узнает об этом в процессе, и не будет делать вебм с 0.2, чтобы въебать под лимит, когда хватает 0.05, например.
>Неплохо
Так там сорец простейший — это даже не аниме. И количество деталей в кадре минимальное + везде сраное мыло, а VP9 (и H.265, кстати) как раз любит мылить. Неудивительно что оно хорошо сжимается. Я и часовые шоукасты в 8 мб ужимал, хуйли теперь.
>>1364031
>и не будет делать вебм с 0.2, чтобы въебать под лимит
Для ограничения по битрейту сверху есть qmin (или CQ). Нафиг что-то считать? И, самое главное, нахрена нужны какие-то специальные программы для этой операции? Ты уже одно число на другое разделить не можешь?
Помню такой хуйнёй страдал в 9-ом классе. Надо аудио обрезать, значит ставлю с пиратского диска Cubase и день с ним ковыряюсь. Ведь если есть крутая программа, то надо обязательно использовать её. Редактирование автозагрузки, реестра, графа кодеков DirectShow — всё тоже через отдельные программы, ещё и shareware зачастую. Даже сам писал мокрописьки уровня редактирование m3u плэйлиста через гуёвину или парсинг лог-файлов с выводом результата в гуи.
>Нафиг что-то считать?
Я ничего не считаю, за меня это делает программа. Ввел время, ввел размер, посмотрел, какое число получается, если исходник не требует такого большого, снижаю до нужного, копирую битрейт. Мне норм. Как ты там выбираешь себе битрейт меня не ебет.
>Ты уже одно число на другое разделить не можешь?
Зачем, если это успешно делает программа?
>сли исходник не требует такого большого, снижаю до нужного
Рейтконтроль нужен как раз для того, чтобы уложиться в заданный лимит. Если тебе это не важно, то следует использовать CRF. x264, например, для CRF больше одного прохода не требует. В libvpx для энкода вида «не больше заданного размера, но с заданным качеством» есть режим CQ, либо можно просто указать, что ты не хочешь QP меньше заданного числа через qmin. Таким образом ты используешь инструменты не по назначению и, что гораздо хуже, советуешь это другим. Свои какие-то плацебо-эвристики, не подкреплённые ABX, пытаешься применять к энкодингу (типа «вот это видео вроде бы больше 0.01 bpp не требует, поставлю-ка я ему итоговый размер на 15% меньше») вместо специально сделанных для этого опций и пытаешься выдать за абсолютно рабочие рецепты аргументами вида «а мне норм».
Ты, видимо, форумом ошибся. Здесь тебе не doom9 и не аудиофилия, любые советы должны подтверждаться официальной документацией и теорией кодекостроения.
>Зачем, если это успешно делает программа?
Чтобы понимать что ты делаешь хотя бы. Ты вот дальше вбивания магических циферок в окошечки в понимании основ, похоже, не продвинулся.
Я посоветовал человеку простой путь подобрать битрейт. Тебе это не понравилось, написал на мой пост "это хуйня", посоветовал ему то, что считаешь нужным. Все. Зачем ты мне все это пишешь, что тебе от меня нужно? Мы обсуждаем ебучие вебм для /б/, ты это понимаешь?
Спасибо за то, что не оставили в беде, все заскриню ща и в папку с вебм гайдами кину, где у меня различные скриншоты по вебм. И не надо сраться пожалуйста. Войдите в мое положение. Я спросил совета, а он начинает раздуваться до критической отметки. Спасибо.
Какого хуя я устанавливаю программы, а они после установки не видны нихуя? Даже в установке и удалении программ их нет. Но через обзор установщика папка программы видна.
КАКОГО ХУЯ БЛЯДЬ? Дело не в TC, в проводнике тоже нихуя не видно.
Укажи тогда fps как у видеодорожки. И вообще показывай все команды, вывод и результат.
Вот так делал. В итоге выходит и качество хуже и музыка спешит.
Раньше фиолетовый был, но он надоел. А желтый хорошо сочетается с моим новым рабочим столом.
>>1361422
Мой хром 34.
[19:02:49] Spawning jobs:
[19:02:49] 4 video threads
[19:02:49] 1 audio thread
[19:02:49] Video 1 started first pass
[19:02:49] Video 2 started first pass
[19:02:49] Video 3 started first pass
[19:02:49] Video 4 started first pass
[19:02:49] Audio started
[19:03:14] Audio finished (00:00:25.1)
[19:25:24] Video 4 finished first pass (00:22:35)
[19:25:24] Video 4 started second pass
[19:27:57] Video 3 finished first pass (00:25:07.9)
[19:27:57] Video 3 started second pass
[19:28:23] Video 1 finished first pass (00:25:34.2)
[19:28:23] Video 1 started second pass
[19:29:24] Video 2 finished first pass (00:26:35.4)
[19:29:24] Video 2 started second pass
[20:14:55] Video 2 finished second pass (00:45:30.3)
[20:20:48] Video 4 finished second pass (00:51:23)
[20:28:12] Video 1 finished second pass (00:58:47.2)
[20:29:33] Video 3 finished second pass (01:00:08)
[20:29:33] Muxer started
[20:29:37] Muxer finished (00:00:04.8)
==================================================
All is done in 01:26:48.4
Output duration: 00:01:00
Output file size: 14430555 B, 14092.34 KiB, 13.76 MiB
Output video bitrate: 1028k
Output audio bitrate: 64k
Немного медленнее моего фаерфокса, но в целом нормально. На сэмпле у меня он примерно на минуту отстал (6:25 против 5:25). Хром 36 чуть быстрее (буквально на 5-10 секунд на сэмпле). Сейчас буду смотреть что там с эдге.
Кстати, интересную фишку нашёл. Два энкода байт-в-байт одинаковы за исключением 16 байт ID сегмента:
-| + Segment UID: 0xac 0x6b 0xf3 0x61 0xc5 0x99 0x4d 0x62 0x07 0x29 0xfb 0x84 0x1b 0x40 0xd4 0x2c
+| + Segment UID: 0x96 0x8d 0xea 0x13 0xa2 0x80 0x36 0x57 0xc1 0xcb 0x06 0xd1 0x7a 0x91 0x87 0x74
Луна в matroska следит, вдруг там фингерпринт какой!
>>1361422
Мой хром 34.
[19:02:49] Spawning jobs:
[19:02:49] 4 video threads
[19:02:49] 1 audio thread
[19:02:49] Video 1 started first pass
[19:02:49] Video 2 started first pass
[19:02:49] Video 3 started first pass
[19:02:49] Video 4 started first pass
[19:02:49] Audio started
[19:03:14] Audio finished (00:00:25.1)
[19:25:24] Video 4 finished first pass (00:22:35)
[19:25:24] Video 4 started second pass
[19:27:57] Video 3 finished first pass (00:25:07.9)
[19:27:57] Video 3 started second pass
[19:28:23] Video 1 finished first pass (00:25:34.2)
[19:28:23] Video 1 started second pass
[19:29:24] Video 2 finished first pass (00:26:35.4)
[19:29:24] Video 2 started second pass
[20:14:55] Video 2 finished second pass (00:45:30.3)
[20:20:48] Video 4 finished second pass (00:51:23)
[20:28:12] Video 1 finished second pass (00:58:47.2)
[20:29:33] Video 3 finished second pass (01:00:08)
[20:29:33] Muxer started
[20:29:37] Muxer finished (00:00:04.8)
==================================================
All is done in 01:26:48.4
Output duration: 00:01:00
Output file size: 14430555 B, 14092.34 KiB, 13.76 MiB
Output video bitrate: 1028k
Output audio bitrate: 64k
Немного медленнее моего фаерфокса, но в целом нормально. На сэмпле у меня он примерно на минуту отстал (6:25 против 5:25). Хром 36 чуть быстрее (буквально на 5-10 секунд на сэмпле). Сейчас буду смотреть что там с эдге.
Кстати, интересную фишку нашёл. Два энкода байт-в-байт одинаковы за исключением 16 байт ID сегмента:
-| + Segment UID: 0xac 0x6b 0xf3 0x61 0xc5 0x99 0x4d 0x62 0x07 0x29 0xfb 0x84 0x1b 0x40 0xd4 0x2c
+| + Segment UID: 0x96 0x8d 0xea 0x13 0xa2 0x80 0x36 0x57 0xc1 0xcb 0x06 0xd1 0x7a 0x91 0x87 0x74
Луна в matroska следит, вдруг там фингерпринт какой!
У тебя с таймингами кадров видеодорожки какая-то дикая хуйня. Как ты её делал?
С какими таймингами кадров видеодорожки? Как я делал вебм, в которую превью вставить хочу?
Я просто не очень шарю в этом, точнее вообще не шарю. Я применяю разные команды на практике и оставляю те, что приносят больший результат, поэтому я не очень понимаю, что значит тайминг кадров видеодорожки.
> С какими таймингами кадров видеодорожки?
PTS кадров, т.е. записями со временем их отображения.
> Как я делал вебм, в которую превью вставить хочу?
Да. И запости её, вечером посмотрю.
Там может быть, например, начало воспроизведения не с начала GoP'a — так получается, если обрезать начало без перекодирования не по ключевому кадру.
Вот, залил в /медиа, там не пропадет вебм.
https://2ch.pm/media/src/16501/14404972153010.webm
Алсо, пасс 2 так же делал.
> -r 24 23.976 name.webm
Что?
Олсо, нахуя вообще менять фпс?
И желательно было бы видеть вывод.
>менять фпс?
В мкв столько же фпс.
И это, я с колумносом обосрался, там не 9, а 0. Ну я ща вобью все и выход первого и второго прохода заскриню.
Николай, у вас завышен какой-то из параметров, скорее всего это -crf
Блять лол, сделал так же и вышло 10437кб, хотя я и заранее понизил битрейт с 636 до 630.
Командую:
ffmpeg -ss 1:36:18 -i "[HorribleSubs] Tsukimonogatari - (01-04) [720p].mkv" -c:v libvpx -b:v 0 -c:a libvorbis -t 3 -crf 10 0s.webm
, вебмрелейтед.
Вот, первый и второй проход итоги. Оказывается не 630, а до целых 600 урезал.
Эти опции в about:flags включены? У меня Edge кодирует чуть медленнее, чем Firefox (12 минут против 11 соответственно)
Ага, по-всякому пробовал. И одну, и обе, и без них. И кэш чистил, и перезапускал и т.д. Скорость колеблется от 3-х до 6-ти минут на энкодинг 0.1 секунды видео.
>12 минут против 11 соответственно
Да ладно? Сэмпл? Целиком? На Edge? Версия webm.js с гитхаба?
Неужели я и вправду такой криворукий. Можешь рассказать какая точно версия венды и Edge в таком случае? Может там в обновлении последнем какие-то фиксы прилетели? Я пробовал и их билд Edge с десяточкой для виртуалки от 1-го августа, там такая же хрень была.
Сэмпл с гитхаба (ed.webm), дефолтные настройки. Стоят все обновления, бинарники edgehtml.dll и MicrosoftEdge.exe от 11 августа.
Спасибо, а то я уже и не надеялся. Буду пробовать с апдейтами.
Анон, представляешь, вроде помогло, чернота исчезла после добавления ключа -sn
фикс
и скрипт.bat
ffmpeg -ss 1:36:18.9 ^
-i "[HorribleSubs] Tsukimonogatari - (01-04) [720p].mkv" ^
-b:v 0 ^
-c:v libvpx ^
-c:a libvorbis ^
-t 2 -crf 10 -sn -y 0s.webm
0s.webm
>за что отвечает
Внезнапно, за добавление метаданных в файл
>нахера он нужен
написать -metadata title="Название видео"
>но в гайде ни слова
Он не особо и нужен, метадату будут читать 3,5 анона.
>Он не особо и нужен
Для музыки со статичной картинкой очень даже нужен, чтобы потом не спрашивали соус по сто раз. И вообще, это правила хорошего тона, точно такое же, как и письмо без ошибок.
>>1365795
Оказывается я действительно мудак. Неоптимально настроил виртуалку. Кто ж знал, что в популярных гипервизорах SMP реализован через жопу и thread affinity никто почему-то не делает, что вызывает лютый cache trashing. Поставил 1 vCPU, сразу залетало. На 0.1 теперь примерно 15 секунд, с учётом погрешности измерения, более чем достойно.
Таким образом в webm.js сейчас полноценно поддерживается три браузера: FF, Chrome, Edge. Баг с промежуточными репортами в Edge я починил. (Как ни старается Microsoft исправиться, а много чего до сих пор пролезает, в этот раз Performance в контексте воркеров почему-то забыли запилить, в самом распоследнем Edge.)
>>1361516
Попробуй, пожалуйста, ещё раз в Edge (не забудь только asm.js в about:flags включить). Ну или пусть дойдёт до 50% хотя бы. Я полноценно затестить не могу — только одно ядро получается нормально перекинуть в виртуалку. (Хотя есть надежда, что в qemu-kvm SMP может быть побыстрее.)
>чтобы потом не спрашивали соус по сто раз
Но его спрашивают по сто раз даже когда название и исполнитель висит в начале видео в течении 3 секунд.
А ты про какую-то метадату, которую еще и читать из файла мокрописечкой надо.
Кароч говно без задач.
Edge хороший браузер, получше Сафари. А глюков и несовместимостей и в фф/хроме полно. Ты ещё спроси зачем всякие гну утилиты имеют порты под виндоуз.
Я знаю, что уже охуел рекламировать своё говноподелие.
Ну давай другой швободный сорец тогда.
Big Buck Bunny я терпеть не могу, идиотский мультик.
Sintel не смотрел, хз.
Tears of Steel не хочу, туда толерастии понапихали.
И как бы это сэмпл, от которого нужно только две вещи:
1) что б он был (в качестве примера/сравнения производительности на разных системах)
2) подходящая лицензия
Ты охуенен.
Любой динамический видеоряд из любого трейлера, любого фильма, анимации. Вообще из аллаха!
Поехавший штульман, блять!
И что это даст кроме возможных проблем по DMCA? Чем это лучше мультиков от проекта Blender?
>Edge хороший браузер, получше Сафари. А глюков и несовместимостей и в фф/хроме полно.
Спермодебил, плиз.
Охуенный спермо-пердолик в треди, все в Билла Штульмановича Балмера!
Потсоны, подскажите, а можно ли с помощью ffmpeg делать какие-нибудь эффекты с затемнением, затуханием или наростанием звука?
Ладно, вебм с кодеком vp9 лагают при воспроизведении на ведре. А кодирую я их на компуктере.
ffmpeg c поддержкой всех мыслимых форматов, кодировщиков, в том числе аппаратных на nvenc, intel quick sync и прочих в виде т.н. «бинарного пакета», содержащего все зависимости, который нужно распаковать в корень системы /.
Из штеудов в VP9 могут только Braswell и Skylake. По крайней мере через VA API.
Под шиндовс будет?
Анон, объясни, что не так с моим видео? И так, и сяк переделывал, в плеерах видеопоток не определяется, после заливки сюда - браузером читается, но при скачивании обратно - снова нет. Все, что помимо этого кодировал с теми же параметрами, прекрасно пашет. И нет, от источника не зависит, это перекод из 720р без потерь, потом уже пережатый с потерями ффмпегом. Тот же метод со всеми другими видосами дает прекрасный результат.
Строка ffmpeg -i "%~f1" -b:v 0 -crf 20 -fs 10000k -c:v vp9 "%~dpn1.webm"
Битрейт, кодек и fs не влияют на баг.
Обновился, спасибо, заработало.
ffmpeg -ss -254 -i /Vidos.avi -t 85 -pass 1 /Vidos.webm
Да, я даун и не понимаю что делаю, но дауны тоже хотят делать смешные видосики
блин, пик забыл
Браузеры по-прежнему не могут в превью для этого файла. Или мне всю систему перезагружать?
Мне похуй на твой хром. Браузер у тебя кривой и не умеет.
frame= 18 fps=1.5 q=0.0 size= 87kB time=00:00:00.32 bitrate=2231.9kbits/s
frame= 19 fps=0.9 q=0.0 size= 95kB time=00:00:00.32 bitrate=2422.2kbits/s
frame= 20 fps=0.6 q=0.0 size= 101kB time=00:00:00.32 bitrate=2586.2kbits/s
frame= 20 fps=0.5 q=0.0 size= 101kB time=00:00:00.34 bitrate=2419.8kbits/s
frame= 22 fps=0.4 q=0.0 size= 115kB time=00:00:00.81 bitrate=1158.7kbits/s
frame= 23 fps=0.3 q=0.0 size= 122kB time=00:00:00.81 bitrate=1228.4kbits/s
frame= 24 fps=0.3 q=0.0 size= 128kB time=00:00:00.81 bitrate=1284.4kbits/s
frame= 25 fps=0.3 q=0.0 size= 133kB time=00:00:00.81 bitrate=1335.0kbits/s
frame= 26 fps=0.3 q=0.0 size= 133kB time=00:00:00.81 bitrate=1338.6kbits/s
frame= 27 fps=0.2 q=0.0 size= 162kB time=00:00:00.81 bitrate=1629.9kbits/s
frame= 28 fps=0.2 q=0.0 size= 166kB time=00:00:00.81 bitrate=1663.7kbits/s
frame= 29 fps=0.2 q=0.0 size= 169kB time=00:00:00.81 bitrate=1696.5kbits/s
frame= 30 fps=0.2 q=0.0 size= 173kB time=00:00:00.81 bitrate=1732.4kbits/s
-quality best убери.
Это у тебя какая-нибудь хрень от видеодрайвера пишет, в mpv такого функционала нет.
Предположим, но какая? И почему только в MPV?
Понимаю, экстрасенсы в отпуске, но ванганите хоть что-нибудь, а то даже не знаю что гуглить.
Из того что пытался, ничего не дало.
Понял какая, вопрос отменяется.
И как я сразу не догадался?
Разве что, так и не понял, почему именно и только в MPV.
> Предположим, но какая?
Не разбираюсь в спермософте.
> И почему только в MPV?
Наверно, ты не используешь другого софта с выводом через OpenGL. Попробуй запустить какую-нибудь кваку, вангую то же самое.
>Наверно, ты не используешь другого софта с выводом через OpenGL.
Скорее всего, добра.
Если бы не это, понял бы гораздо быстрее.
mpv умеет и D3D для вывода: https://github.com/mpv-player/mpv/blob/master/DOCS/man/vo.rst (ctrl+f direct3d).
Можешь с ним попробовать.
Экспортировать в картинки (ffmpeg -i video.mkv -t 10 %3d.png),
залупить (ffmpeg -loop 1 -i %3d.png -t 60 out.webm).
%3 — три цифры.
Олсо, в cmd.exe знак процента служит для указания переменных, его надо то ли удваивать, то ли ещё что-то с ним делать.
Бля, еще больше запутался, тогда попробую методом проб и ошибок. Спасибо.
Т.е. не %3, а %3d, по аналогии с printf (хоть и немного иначе).
ffmpeg -i D:\Videos\Day.mkv -c:v libvpx -qmin 0 -qmax 50 -crf 5 -b:v 1300K -vf scale=700:396 subtitles=Day.srt -q:a 5 -ac 2 -ss 01:24:20 -to 01:25:16 out.webm
> -c:v libvpx -qmin 0 -qmax 50 -crf 5
Это ещё зачем?
И да, с одним проходом у тебя могут появиться квадраты, особенно с VP8.
> -vf scale=700:396 subtitles=Day.srt
Пробел вместо запятой.
>Это ещё зачем?
Нинаю.
С видео "играться" и два прохода пробовать я потом буду, мне бы понять, как субтитры прилепить, чтобы, блядь, всё сработало. Они вшитые, нихуя не выходит.
ffmpeg -i D:\Videos\Day.mkv -c:v libvpx -b:v 1000K -vf scale=650:366,subtitles=Day.mkv -c:a libvorbis -q:a 5 -ac 2 -ss 01:24:20 -to 01:25:16 out.webm
sup двощ, help pls
Нужно больше места на Dropbox, кто может - зарегистрируйтесь по этой ссылке (кстати, вам даётся ещё 500мб за это) https://db.tt/ffej4Dtq
Если кто не знает, Dropbox - это облачное хранилище файлов. Заранее спасибо.
Палучилос с запуском из той же папки, спасибо за помощь.
ffmpeg -i /dev/video0 -t 12 -b:v 0 -crf 30 -c:v vp9 out.webm
Linux Debian 8.1, ffmpeg из репозитория.
У тебя кодирование не успевает за камерой. Используй -cpu-used $((1000000/fps)) и, если это не поможет, снижай разрешение/fps, используй VP8.
Ну или пиши в другой формат (например, ffvhuff), а потом кодируй двумя проходами.
На WEBM for retards не хочу переходить, он там при ограничении размера вместо битрейта режет длину файла, это пиздец тупость.
Пиши в lossless H.264, будет быстро с вменяемым размером файла.
ffmpeg -i /dev/video0 -c:v libx264 -crf 0 -preset fast -pix_fmt +yuv420p -y out.mkv
Потом двумя проходами в VP9 уже. Нормального соотношения скорость/качество ты с VP9 так не добьёшься.
Это не для тебя написано. Хочешь спрашивать — обмазывайся чем-нибудь приличным.
Молодой человек, это не для вас написано.
Чому ты такой нетерпимый?
Алсо, что у вас сейчас по прыщам есть стабильного и актуального?
Чувствую, что с семеры буду перекатываться в никсы.
>-cpu-used $((1000000/fps))
Это в deadline надо тогда уж. Но сомневаюсь что оно в таком режиме будет хорошо работать. Штатный режим это -quality realtime и от 0 до 15 в -cpu-used для контроля нагрузки CPU.
> стабильного и актуального?
*nix
вот эту зацени https://spins.fedoraproject.org/ru/mate-compiz/
блядь ну как же сука как тумбу воткнуть а? сука ну вот тут
>В параметре poster можно указать картинку, которая будет отображаться во время загрузки видео.
http://habrahabr.ru/post/104591/
>Добавление превью к видео
https://github.com/pituz/webm-thread/wiki/Pro-tips
но это же тоже бля не то совсем что нужно, что делать, как быть, ананасики, подскажите. (fedora22, ffmpeg)
Харкач, запости в /a/.
как сделать rotate?
Кодирую конвертером для ретардов, строка:
-c:v libvpx -pix_fmt yuv420p -threads 16 -slices 8 -metadata title="video" -quality best -lag-in-frames 16 -auto-alt-ref 1 -ac 2 -c:a libvorbis -minrate:v 288K -b:v 288K -maxrate:v 288K -bufsize 172K -rc_init_occupancy 1152K -qcomp 1 -fs 5179965 -b:a 64K
Почему у выходящей вебм тамнейл чёрный? Как поставить свой из пикчи?
А, всё, в вики нашёл.
> хули ждать от пидорасов не умеющих в WinAPI
Суть в том, что пидорасам с WinAPI нормальный инструмент не нужен, им мокрые письки обязательно с гуем подавай.
Чем сшивать GIF? Все что я пробовал дает жутчайшие артефакты.
Можно было бы использовать APNG, но его увидят полтора лисобога.
Чта?
Потому что
1. Ты кодируешь в один проход.
2. Показывается текущий битрейт, а он по видео распределяется неравномерно, где-то нужно больше, где-то меньше. В начале всегда много надо.
>1. Ты кодируешь в один проход.
Нет, это второй проход. Первый вот - ffmpeg -i source/cat.mp4 -map 0:v -vf scale=-1:720 -c:v libvpx-vp9 -pass 1 -f null -y NUL
>>1375911
Да, я всегда проход в конец ставлю, не заметил.
Но сути не меняет, битрейт размазывается неравномерно по видео.
Где движения больше, нужно больше битрейта, где меньше, там меньше.
Ну а в начале всегда много показывает, к середине-концу обычно приходит в окрестность того значения, которое указывал.
Но бывает и так, что сильно отличается результат от ожидания, но редко.
На пк есть какие нибудь кастомные оболочки для консольки, типо как в линупсе?
Плагин DownThemAll! для лисы. Кликаешь правой кнопкой, запускаешь его и вводишь фильтр для вебмс.
В смысле все видно и частично подсвечивает синтаксис.
Также не размазывает вывод при кодировании, а держит в одной строке.
Но ты мелкобуквенный, сомневаюсь, что ты поймешь, но я постарался объяснить максимально понятно.
>>1376517
Зондохромиум заведомо лучше чем зондоиридиум на основе зондохромиума с добавлением собственных зондов под предлогом удаления их из хромиума, так сказать.
Написал
ffmpeg -ss 29 -i cyanide.webm -t 50 out.webm
но качество ухудшилось (см. пик)
Ну так ты перекодируешь из vp8 c битрейтом 1782k в vp9 с битрейтом 200k, да еще и в один проход, конечно квадраты еверивеар будут.
Это не наш метод, гайд хотя бы прочитай, мне лень с нуля объяснять.
https://git.iridiumbrowser.de/cgit.cgi/iridium-browser/
По крайней мере зонды хромиума действительно удалены.
Ну я смотрел подробнее, все, что может предложить эта сборочка, достигается настройками самого хромиума, на самом деле, да к тому же там и дурацкие настройки типа отсылания "Не следите за мной плиз))" по умолчанию.
Ну а вообще на десятке беспокоиться о зондовости хромиума следует не в первую очередь, использую я его не поэтому.
Пока харкачик лежал проскакивала информация, вроде даже от самого Абу.
Вопрос в другом: не изменится ли максимальный размер в меньшую сторону, как это уже бывало раньше (с 12 до 10)? Тогда все наработки похерятся, не перекодировать же их заново. Нужно как-нибудь получить ответ у обезьяны на эту тему.
Так вот, купил лаптоп на Broadwell для того, чтобы декодировать H.265 и VP9 на GPU, и разочаровался. Intel сделал Hybrid Decoding, и оно достаточно сильно тормозит, скажем, на H.265 3840×2160@30000/1001 fps оно уже видимо выбрасывает кадры.
Если кто-то хотел обновляться, ждите Skylake.
Какой вообще толк от декодирования на GPU? С этим постоянно сплошные проблемы — то кодека нет, то разрешение нужное не поддерживает, то артефакты от какого-нибудь 10 бит даёт. Нужно использовать просто нормальные многопоточные декодеры. Ну и собранные, естественно, со всеми опмизиациями под конкретную архитектуру.
Вот сделают сейчас NetVC. Что, опять в магазин за новым процессором/видеокартой побежишь? Или VP10 вон уже сколько в тестовой ветке валяется. VP9 уже можно считать устаревшим, а ты только его декодировать собираешься.
VP9 60 fps 1920x1080 декодируется одним слабым arm ядром (тайл колумнс 0, поэтому одним) без тормозов и пролагов.
Смысла никакого в твоей хуйне нет, инноватор ты комнатный.
Не будем забывать как хуево декодировалось 10 бит аш264 на иОС в нплеере после введения аппаратной поддкржки.
На софтверном все без проблем работало, пусть и с высоким энергопотреблением.
> Какой вообще толк от декодирования на GPU?
Энергоэффективность, освобождение CPU для других задач, возможность использовать слабый CPU.
>>1377796
> VP9 60 fps 1920x1080 декодируется одним слабым arm ядром (тайл колумнс 0, поэтому одним) без тормозов и пролагов.
Что-то у меня не очень получается смотреть даже 720p 30fps на MT6589. Возможно, правда, что это конус такой хуёвый.
>Возможно, правда, что это конус такой хуёвый.
VLC использует libvpx для декодинга. У FFmpeg свой декодер ffvp9, причём его разработчик (один из бывших разработчиков VP9) заявляет, что он быстрее libvpx. Ну и libvpx умеет многопоточно декодировать только при использовании tile-columns, тогда как для ffvp9 это не обязательно, у него frame-level parallelism.
Затести только голый декодинг с помощью libvpx и ffvp9, посмотри сколько fps давать будет, отпрофилируй. Кому нужны голословные плохотестированные результаты вида «у меня гуёвина тормозит»?
https://git.videolan.org/?p=ffmpeg.git;a=blob;f=Changelog;h=d538c429a16f7bac2ba0e0e37b19d86e7e54111c;hb=HEAD#l47
https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=e176639bcbf4b580edb462a6b0650e53cd5e3c04;hp=413d4e54a9bffe2d0afdc6d8a80f516e5df6a421
Инструкцию в вики надо обновить.
Хех, указывающие все дефолтные и не дефолтные параметры бояре разницы не заметят.
Я уже сам разобрался. Жаль мой первый вебм не влезает полностью.
> а там тонны ошибок уровня Error while decoding stream #0:0: Invalid data found when processing input
Пусть кукарекает про ошибки.
Не стоит обращать на них внимания, ffmpeg — не человек.
Источник у тебя хуевый, на самом деле, но он закодирует с такими ошибками.
Да в том то и дело, что не кодирует. Или кодирует, но я не не знаю, аутист я. Самый первый раз я пробовал банально ffmpeg -i mp4 -vcodec copy -acodec copy mkv Оно жарилось с этими ошибками, а в конце написало, мол хуй тебе, а не мкв. Пробовал через костыли всякие, типа вебмфорретардс, так там похерено все становится. Т.е. я открываю видео, а оно зависает на первом кадре, звук заедает, как на магнитофоне бывало. В общем не получается.
Судя по файлу .sh ты качнул для линукса сборку.
скачай ffmpeg на винду, зачем тебе этот гуй? Там же все изи, гайд сделан клевый на гитхабе
-crf 36 -b:v 0k
или
-qmin 4 -crf 36 -b:v 0k
?
С VP8 эти наборы параметров идентичны, поскольку он не может в qp меньше 4. С VP9, возможно, какая-то вероятность применения лосслесс-кодирования к долгому статичному кадру и есть, но она крайне мала из-за высокого crf.
Олсо, зачем «k» у битрейта?
>>1379064
Я так и думал, надеюсь, что оно даёт качества.
>Олсо, зачем «k» у битрейта?
Рефлекс.
Люблю сагать прикрепленный тред
Пробовал обе, похуй в общем, лучше подскажите как собрать с поддержкой libaacplus https://trac.ffmpeg.org/wiki/How%20to%20quickly%20compile%20libaacplus, потом можно будет opencl выбросить.
Что тут не так? Почему звуковая дорожка видоса скидывается на начало? Если не указывать видеодорожку, то звук норм стартует
>>1377796
У меня сейчас на руках нет портативного железа, которое бы декодировало без тормозов H.265 3840×2160 30 fps без фреймдропа на CPU. Даже лаптоп на Broadwell (2 ядра, i5) дропает кадры с любыми декодерами как под Linux, так и под Windows, а я хотел бы хотя бы иметь возможность просматривать такое видео.
Что за ARM способен софтово декодировать VP9 1920x1080 60 FPS, да еще и на одном ядре?
Пользуюсь этим http://rutracker.org/forum/viewtopic.php?t=2143954
Играет все форматы, даже ютуб видео можно смотреть.
Для виндовс плеира попробуй это установить http://www.codecguide.com/download_k-lite_codec_pack_mega.htm
> Что за ARM способен софтово декодировать VP9 1920x1080 60 FPS, да еще и на одном ядре?
Хуавеевский Kirin 920, например.
Ну и все, что лучше него, то есть все современные.
Ну а 4K в H265 он тоже не умеет, да и эпловские кроме самых новых не умеют, тут нормальный десктопный процессор нужен, ну или самый новый ноутбучный от интела.
Сук, макака ипаная, у меня не хром, а хромиум.
Ну узяагент, конечно, говорит, что хром, но где ты видел хром 47.0.2506.0, а, скажи мне, пидор.
> Какой вообще толк от декодирования на
> GPU? С этим постоянно сплошные проблемы
> — то кодека нет, то разрешение нужное не
> поддерживает, то артефакты от
> какого-нибудь 10 бит даёт. Нужно
> использовать просто нормальные
> многопоточные декодеры. Ну и собранные,
> естественно, со всеми опмизиациями под
> конкретную архитектуру.
...оптимизациями под конкретную архитектуру. Вот ето.
Какой ты скрытный.
Это копия, сохраненная 11 сентября 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.