Это копия, сохраненная 5 августа 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Скачал тут маняме в каком-то волшебном формате. Картинка сочная и пиздатая, несмотря на мелкий размер, но когда я кидаю её на свой убогий самсунг, то MX Player лагает до пизды и смотреть невозможно. Я пытался качать всякие кодеки на телефон и менять плееры - нихуя не помогло.
После просмотра десятков форумов в гугле я пришел к выводу, что мой всратый смартфон тупо неспособен в неординарные кодеки, а он в этом маняме - yuv10.
Я попытался вручную перекодировать этот yuv в стандартный h264 в .mp4
ffmpeg -i a.mkv -c:v libx264 -b:v 1500k -b:a 128k -preset veryfast a.mp4
Но на выходе получилась несмотрибельная хуйня с артефактами на самых тяжелых моментах. Еще и кодировалась по 30 минут.
Это мой код получился хуевым? Подскажите, пожалуйста, как оптимизировать эту срань.
Ну да, это я понял. Юв это пиксель формат, а хевк - кодек. или нет?
Но как перекодировать, чтобы было быстро и качественно? Желательно в мп4
проблема была в ебучей 10-битной цветовой схеме, мой говнофон не умеет в него
надо было тупо поменять юв10 на обычный 8битный юв
-c:v libx265 -pix_fmt yuv420p -crf 20 -preset ultrafast
всем спасибо :)
>Я пытался качать всякие кодеки на телефон и менять плееры - нихуя не помогло
Жопой читаешь, ебло?
Практически статичная картинка. Нет динамики никакой.
https://hive.blasux.ru/webm/s
Хуле не кодируете через видеокарту? Можно и нвидию юзать и радики, и даже интоловскую встройку.
Вместо libx264 пишешь h264_amf и видос кодит уже радик.
Для h265 hvec_amf пишется, если его умеет видюха конечно. Старые не умеют.
Сраная зелень работает через h264_nvenc
А это должно линуксоидов заинтересовать.
Но я узнал про поддержку HWA для кодирования через ffmpeg минуту назад.
Так что не бейте. Просто удивлен, что этого нет в треде и в старом не было вроде.
Но мне понадобилось перегнать видео на холодильнике одноядерном, как-то оно грусто кодировалось со скоростью 1,23. Воткнул видюху и через неё дело пошло веселее.
Вроде как качество страдает и если не только перекодировка, но и какие-то (некоторые) фильтры, то прирост спадает.
И ведь мне много-то не надо, мне нужен тупо редактор, в котором можно вырезать нужные сцены, склеить их, и потом сохранить получившееся в точно таком же формате, с тем же разрешением и битрейтом. Без перекомпиляций, без смены типа файла - вот просто, было 17 мб, половину вырезал, сохранил - теперь 8,5 мб. Такое вообще бывает?
Сейчас нет смысла в консоли, скрипты лучше делают без пердолинга.
https://github.com/ekisu/mpv-webm
Быстро нарезать
https://github.com/deterenkelt/Nadeshiko
Комбайн который сделает максимально возможное качество webm а лимите сосаки 20 мегабайт.
>>591947
У людей народные видеокарты уровня 750gtx, 1050, 1060 в лучшем случае а поддерживают только новые.
> котором можно вырезать нужные сцены, склеить их, и потом сохранить получившееся в точно таком же формате, с тем же разрешением и битрейтом. Без перекомпиляций, без смены типа файла
Можно, если повезёт. Если делать это без перекодировки, то придётся резать по ключевым кадрам, а они могут оказаться не там, где тебе нужно.
В ффмпег можно, возможно где-то ещё.
> в лучшем случае а поддерживают только новые.
У меня hd7750. И она поддерживает. И в ней даже есть быстрая видеопамять, целвй гиг. Видюха 12ого года лоу сегмента.
Это даже не r9 285 и не 770gtx.
h265 она не умеет, это да.
>>593474
Мои поздравления, на нвидии список совсем небольшой
https://developer.nvidia.com/video-encode-decode-gpu-support-matrix
Моей 750gtx нету, хотя карта огонь, быстрее бы делала чем мой пенек.
>на нвидии список совсем небольшой
>For a complete list, click on the buttons below to open the complete tables
Да нашел, но я живу яркой полноценной жизнью у меня нет времени на дроч в консоли. Скрипты написанные специалистами сделают лучше. Ты же не учишь пять лет хирургию чтобы чтобы починить перелом а обращаешься к специалисту, вот и я не делаю webm сам.
Хуясе, а я пол часа 5тиминутную шебмку для порнотреда кодировал
Причем здесь, блядь, твои вебм? Речь о кодировании нормального видео.
Но реальный файл длительностью 5мин и 1гб.
Может ли система не видеть лишние минуты?
Если да, то как починить файлик?
Так качал или записывал потоковую трансляцию в TS с кодированием в mp4?
Пиши прямой эфир в ts через streamlink, только он делает это без косяков. ffmpeg сильно косячит.
А если качаешь просто залитые в видеохостинг видео через youtube-dl, то я хз, такого не встречал. Но опять же качать такое через ffmpeg не стоит, он косячит, его youtube-dl использует только для склейки загруженных потоков в один контейнер.
В Премьере есть какие-то стабилизаторы, ну и для ффмпега, разумеется, тоже, но это уже хардкор для тебя, скорее всего.
Но это всё хуйня, на самом деле. Любая программная стабилизация даёт дикий кисель при мощной тряске и если исходник говно - на выходе будет говно, но ещё и криповое. Т.ч. на будущее озаботься хотя бы карманным складным стабилизатором для своей камеры, я уже не говорю о чём-то серьёзном.
Записывал поток через youtube-dl и ffmpeg.
До этого совершенно не было с ним проблем.
Возможно одновременное сохранение, склейка и конвертация в мп4 слишком его нагрузила, поэтому возникла ошибка.
Потыкаю streamlink, спасибо.
Но все же хочется исправить файл и посмотреть полный стрим.
>Потыкаю streamlink, спасибо
Если ты пишешь именно трансляцию, когда оно недоступно будет потом. То стримлинк лучший вариант. А ютуб-дл только для обычного видео. Если ты кормишь ютуб-дл линк на трансляцию живую, то он использует для загрузки ffmpeg, а тот, как я уже сказал, косячит.
Стримлинком легко пользоваться.
>streamlink.exe --hls-live-edge 99999 --hls-segment-threads 2 --default-stream best -o "D:\out.ts" --url "https..."
--hls-live-edge 99999 Выбор сегмента, с которого начнется загрузка, из доступного для промотки назад стрима (99999 - промотать назад макимально). Зная доступное для промотки время стрима и битрейт, можно посчитать какой выбрать сегмент. Можно не указывать эту опцию, само собой.
--hls-segment-threads 2
Выбирать число потоков загрузки. Тоже можно не писать.
Выходной файл пишешь именно в TS, а потом уже после записи кодируешь в mp4, если хочешь. Но его можно и так смотреть.
Ещё можно выводить стрим на плеер по http или Stdin.
Можно скормить ссылку, вытащенную из динамических страниц, из панели разработчика браузера, там надо просто манифест найти в коде после запуска нужного видео. Если он сам не смог или не то зацепил, что тебе надо. Я так делал с записью выборов хуиборов, пикрилейтед.
вот тут ещё можешь почитать
https://streamlink.github.io/cli.html
>Любая программная стабилизация даёт дикий кисель при мощной тряске и если исходник говно - на выходе будет говно, но ещё и криповое.
На ютубе куча видео со всяким экстримом, нормально стабилизированное как экшен-камерами, так и софтом. У меня - пешие прогулки.
>Т.ч. на будущее озаботься хотя бы карманным складным стабилизатором для своей камеры, я уже не говорю о чём-то серьёзном.
Чувак, ты знаешь зачем нужны экшен-камеры? Чтобы в руках тягать на раскладном стабе или чём-то серьёзном? Ты вот это сейчас серьёзно?
https://github.com/mifi/lossless-cut/releases
Реальный lossless, название не врёт. Причём отрезаешь от ста мегабайт половину - остаётся пятьдесят. И делает это за секунды. Впрочем, насколько я понимаю, это всего лишь графическая оболочка для ffmpeg. Единственный минус - странно работает выбор нескольких отрезков (или может быть это я ещё не разобрался).
Ещё есть Avidemux:
http://fixounet.free.fr/avidemux/
То же самое по функционалу, но немного навороченнее.
Что я хочу получить: получить порезанные альбомы в mp3/320, а также каждый альбом в виде целого трека в mp3/320.
Как наиболее просто и удобно сделать?
В foobar2000 есть очень охуенный конвертер, который отвечает всем твоим требованиям. В качестве кодера в mp3 используй LAME от tmkk.
удвою, сам хотел его посоветовать.
lame encoder тут бери http://www.rarewares.org/mp3-lame-bundle.php
-q 0 - максимальное качество, но и самое длительное кодирование. 2 побыстрее без особой разницы. В ffmpeg -q работает не так, оно там задает качество переменного битрейта, то есть является аналогом -V при юзании лейма вне пакета ffmpeg. А в ffmpeg для задания качемтва сжатия вместо q сдужит параметр compression_level 0-9. Так что не путайте.
битрейт 320cbr и оставляй жоинт стерео. Можно переменный битрейт, но с ним хуже работают железки и надо тогда выбирать максимальное качество, место сэкономишь, но качества лучше не получишь, чем при 320 постоянного.
> lame encoder тут бери http://www.rarewares.org/mp3-lame-bundle.php
Или отсюда, здесь оптимизации, должен быть быстрее: https://tmkk.undo.jp/lame/index_e.html
P. S. А здесь можно про настройку конвертера прочитать: https://audiophilesoft.ru/publ/my/foobar2000_converter_setup/11-1-0-27
>быстрее
лейм считается самым качественным.
Что тебе быстрота? У тебя селерон на 775ом что ли?
По ссылке такой же LAME, но скомпилированный со специальным оптимизационным патчем, который сделал tmkk.
P. S. Именно LAME с патчем от tmkk, показал самую высокую скорость на hydrogenaudio, так как может задействовать оптимизации SSE 4.1 на Intel процессорах.
Не совсем.
А он не работает на амд?
Умеет в том числе сделать хардсаб (закодировать субтитры в саму видеодорогу, чтобы их показыва любой холодильник).
Можно настраивать качество гибко, например сделать двухпроходное кодирование. Есть поддержка amd vce для ускорения (наверное и nvenc, я хз, у меня радик). Фильтры есть. Аудио можно оставить без перекодирования.
Ну короче сами смотрите.
Так аппаратное или кудовское кодирование? Аппаратное только h265, в ртх ничего нового, только чуть быстрее сделали.
https://developer.nvidia.com/video-encode-decode-gpu-support-matrix
Я сравнивал программное и аппаратное декодирование в mpv. Аппаратное немного меняет изображение. У меня градиенты становятся резкими и общая резкость повышается. Говорили же, что кодирование на видеокарте может шакалить.
Как из 2К видео обрезать часть видеокадра(тоесть все видео от начало и до конца) как есть(как в пейнте блядь ОБРЕЗАТЬ И СОХРАНИТЬ)?
Для постинга на дваче.
кроп в handbrake
да я даже в ffmpeg обрезал.
как-то вот так
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
давно это было.
Если смотреть на обычном ЖК экране, то 12 более чем достаточно.
И еще звук иногда цыкает (высокочастотный шум), видно пленка поебалась, пока вычищаю это audacitys, но может можно автоматически при помощи ffmpeg?
> во что их кодировать
h264 mp4 + AAC. Очевидно ж. Уже сжатое видео перекодиовать надо не готовым пресетом, а вручную подобрав битрейт (кодируй кусками, смотри с каким будет качество не хуже) и в два прохода обязательно.
deinterlace конечно нужен будет скорее всего. Ещё посмотри черный цвет черный или сероватый. там есть диапазоны 0-255 и 16-235 емнип. Встарых видео диапазон уже и при воспроизведении вместо черного сероватый цвет.
для удобства юзай хендбрейк, он на ffmpeg основан, но ищбавляет от лишней ебли.
больше ничо не знаю. я диванный.
А да. цыки звука могут появиться ещё и если поменяешь при кодировании sampling rate (частота дискретизации). Надо не трогать его, оставлять как в источнике. Его надо задавать толко если из RAW жмёшь.
Нативный энкодер плохо справляется с VBR.
юзай CBR.
Если выставить величину битрейта выше 128k на канал ( 256k для stereo ), автоматически включается кодирование с переменным битрейтом! Задавать битрейт ниже 64k на канал ( 128k для stereo ) нежелательно.
Я диванный, говорю же.
хз,сказал что знаю.
Кстати, ты скзал, что дохуя места занимает. Может у тебя тогда не сжатый поток все таки? ну тогда вместо выставления битрейта и двух проходов можно просто выбрать RF, подефолту 22 стоит. Ну и в хендбрейке просто ползунок двигай, смотри когда буде тприемлемый размер. можешь в таком случае nvenc или amd vce задействовать, чтобы на видюхе кодировалось, сильно ускоряет процесс. хотя пацаны гворят, что могут быть артефакты.
И ещё забыл.
h264 надо выбрать с профилем high и левелом 4.1, это стандартный формат, который играется на любом современном утюге.
если левел 5 выберешь, например, могут быть проблемы с железными плеерами и HWA на старых видющках.
всё, я больше не знаю ничо. я редко вообще пользуюсь этим. максимум с телефона видос пожать или отрезать кусок откуда-то, аудио в фильме перегнать из dts в mp3, такое.
Короче, через ffprobe кейфреймы ищутся, но пришлось напердолить скрипт на павершелле. Вопрос снят.
>как починить файлик?
Попробуй банальное
ffmpeg -i плохой_файл.mp4 -c copy починенный_файл.mp4
Ещё есть прога под винду от фрицев "Video Repair Software", но ей нужно дополнительно скормить кусок чистого видео с аналогичными параметрами. Я так восстановил двухчасовую трансу запоротую так же ютубдлом, но на выходе получил рассинхрон видео с аудио. Там куча настроек, я глубоко разбираться не стал, может у тебя получится.
>>595486
>Записывал поток через youtube-dl и ffmpeg
ffmpeg сразу нахуй. youtube-dl регулярно обновляй и пиши с параметром --hls-use-mpegts или используй streamlink, как посоветовали выше и пиши в ts
>>595254
Эффект Warp Stabilizer (Стабилизатор деформации) в Adobe Premiere, тыкаешь 4 вида стабилизации, где лучше - тот оставляешь, всё просто. Тут чувак наглядно поясняет
https://www.youtube.com/watch?v=ltTFTQImOXw
https://anonfile.com/29H6q500ne/fcut_ps1
https://pastebin.com/tEisqc3s
Вывести время ближайшего (предыдущего) кейфрейма относительно времени time:
fcut input.mp4 time
Обрезка видео с ближайшего (предыдущего) кейфрейма относительно времени start_time до времени end_time:
fcut input.mp4 start_time end_time
Обрезка видео с ближайшего (предыдущего) кейфрейма относительно времени start_time до конца файла:
fcut input.mp4 start_time 0
На длинных файлах медленно работает, т.к. ffprobe проходится по всем кадрам. Если можно как-то распараллелить, пусть умельцы подскажут.
Спасибо! Какой пиздец, я до этого недодумался бы никогда, для владения ffmpeg надо знать весь этот пиздец!
>--hls-live-edge 99999 Выбор сегмента, с которого начнется загрузка, из доступного для промотки назад стрима
Не работает.
Вывод: стримлинк не лучше youtube-dl а, пожалуй, даже хуже.
Работает, я проверял и ни один раз.
Ты рукожопишь или не понял смысл. Это выбор того сегмента, который доступен, если видос транслируется с буфером. Если есть куда отматывать. Ютуб например до 4 часов позволяет отматывать назад. Но если стример не воспользовался этим, то ты качать начнешь с того, что видишь открывая страницу с стримом.
>даже хуже.
Дебил, youtube-dl не качает стримы ВООБЩЕ. Он для этого полагается на ffmpeg, а ffmpeg качает пиздец криво. Дропает постоянно, например. Не может возобновить, если интернет на секунду пропал. И тд.
Есть прога losslessCut
Если тебе надо отрезать куски. Она и склеивает сразу сегменты, если надо.
Есть два режима - по ключевому файлу или без.
1920x1080, 0:22
Да, есть. Фильтр decomb.
>Ютуб например до 4 часов позволяет отматывать назад.
Нет, больше.
>Но если стример не воспользовался этим, то ты качать начнешь с того, что видишь открывая страницу с стримом.
Вот именно, смысл, если есть youtube-dl? А, при желании, можно выкачать даже то, что нельзя "отматать".
>youtube-dl не качает стримы ВООБЩЕ. Он для этого полагается на ffmpeg
То есть технически все-таки качает, да?
>а ffmpeg качает пиздец криво. Дропает постоянно, например.
Ни разу проблем не было.
>интернет на секунду пропал. И тд.
Ты из какого года/леса в интернеты выходишь?
>streamlink не полагается на ffmpeg
>пик
Ой...
>Дебил
Мне с дивана кажется, что без дополнительных данных нельзя. В двух уравнениях:
Исходник + помехи1 = Видео1
Исходник + помехи2 = Видео2
три неизвестных. Нужна дополнительная информация, чтобы отделить помехи.
ffmpeg -r 1 -loop 1 -i image.jpg -i song.mp3 -c:a libvorbis -q:a 9 -c:v vp8 -b:v 0 -crf 16 -g 360 -vf scale=-1:720 -pix_fmt yuv420p -shortest output .webm
Подробнее тут
https://github.com/Kagami/webm-thread/wiki/Pro-tips#Создание-видео-из-статичной-картинки-и-музыки
Если не ошибаюсь, то этот способ плохо работал. Лишние секунды добавлялись.
Ебать тут хуевертить нужно. Мна какой-то анончик когда-то за одну небольшую строчку сделал заебись. Сейчас проебал батник и пиздец.
ffmpeg -r 1 -loop 1 -i image.jpg -i song.mp3 -shortest output .webm
Какого результата? Как говно мыльное выглядит жы
Окей, для 264 - tmod живее всех живых, заебись. А вот с хевком чот херово всё гуглится. Билды есть, но ависинт только через мокрописьки.
А ещё смотрю второй проход сделал, а энкодер никаких новых логов не создал и старые не изменил - третий проход на что ориентироваться будет? На данные первого? А за счёт чего он тогда лучше второго? Знаю, что третий почти нихуя не меняет, но мне электроэнергии не жалко
Инпут один и тот же, номер прохода указываешь, да.
Аутпут на первом проходе нулевой.
Третий проход? Это где так?
Ну, в общем, --pass 1 для первого создаёт основную стату. --pass 3 пытается натянуть сову на глобус, в попытке лучше битрейт распределить и точнее в заданное значение попасть, переписывает лог. --pass 2 делает конечный файл, не меняя файлы статистики.
Сделал пяток или больше --pass 3 - динамика стала чёчче, а статичные кадры немножко похерились. Хуйня какая-то.
Там hevc прост.
Не совсем понял, но хочу сказать, что любое указание кодека, битрейта и других параметров кодека, фильтров ведёт к реэнкоду, дыа...
Любое применение фильтра означает необходимость пережатия. А пережатие означает потерю качества.
можно кропнуть или перевернуть на уровне контейнера, например в матрёшке
Помогите гуманитарю. Ничего не понимаю в энтом вашем ffmpeg, поэтому использую xmedia recode с понятными кнопками для даунов для сжатия видео в hevc, вот только если сжать видео, которое изначально имело 8 бит nv12?, то цвета пидорасит в более темные. Как сделать, чтоб такого не было? Это вроде как-то связано с yuv, только я нихуя не понял, что нужно сделать.
Скорее всего, проблема в pc-tv рэнжах.
Не ебу за иксмедиа. Но надо указать корректный рендж на вход и на выход. Судя по всему, у тебя на исходник с tv рэнжом ставится флаг на pc рэнж на выходе, и он некорректно проигрывается.
Их ещё фулл и лимитед называют.
Нагуглишь дальше, да? Верю в тебя.
Есть видео 30fps, как увеличить скорость воспроизведения в 60fps, когдато оче давно так получалось делать с VMW cтавя другой фреймрейт=скорость менялась!
Интерполяция это вычисление новых кадров, а нужно просто увеличить воспроизведение с 30 до 60фпс\сек.
Ну, это, опять-тыки, можно на уровне контейнера сделать. Только это. Звук от этого не ускорится.
Я давно тестил, на самом деле. Но, вроде, да. Оставались те, которые в контейнере проставлены.
Вот это заебись!
В какую сторону копать, чтобы на уровне контейнера?
видео занимался оче давно, еще по времена vmw, а сейчас охуеваю насколько ОНО скатилось в говно
> В какую сторону копать
В сторону указания фпс в контейнере.
Если бы я на память мог тебе пошаговую инструкцию выдать - я бы уже это сделал.
MP4box или mkvtoolnix чекай, как тебе больше нравится.
Местные хипсторы вообще ничего кроме ffmpeg не используют, через него тоже можно.
А за vmw ничего не знаю.
Спасибо за инфу, я бы не проч и ffmpeg попользовать, он хорошь уже тем что загружает весь профессор, а не выборочно как некоторые проги(XMedia Recode 64bit например пидарасина нехочет хотябы 2 ядра загрузить с vp9)
Знаю, что посаны с doom9, которым лень в консольку пердолиться, пользуются handbrake. Сам не пробовал, но можешь глянуть, может, как раз то что тебе подойдёт.
Ты лучше скажи что у тебя со шревтами.
> При перекодировки apng в webm
Смотря чем ты это делаешь ёпта.
Гугли своё говно плюс alpha channel
В гугле всякая фигня, а нужного ничего нет. Тред про ффмпег, в нем и делаю. Возьми любую пнг с прозрачностью, конвертируй ффмпегом во что угодно, допустим в жпг. При этом задай свой цвет фона, допустим #FF0000 и обесни мне как ты это сделал.
Пофиксил, проблема была в видеоплеере. Но все равно спасибо, совет все таки привел меня к решению.
>>644431
От вас фиг что дождешься. Сделал сам через -filter_complex. Может можно сделать проще, не знаю.
ffmpeg -r 20 -i mermaid_happy2.png ^
-filter_complex [0]crop=1218:914:28:0[v];color=c=#DDDDDD:s=1218x914[over];[over][v]overlay=shortest=1 ^
-b:v 0 -crf 18 -pix_fmt yuv420p -g 9999 ^
-y mermaid_happy2.webm
Блин, там еще оказывается фпс надо указывать нужный, чтобы с видевом совпадал.
color=c=#DDDDDD:s=1218x914:r=20
$ ffmpeg -i movie.mp4 -ss 01:46:01.5 -to 01:46:06.5 -an -filter:v "subtitles=movie.en.srt:force_style='FontSize=30,PrimaryColour=&H00ffff&',scale=480:-1,fps=18" out.mp4
Работает как надо, но пиздец как долго. Исходный файл - чуть больше двух гигов (h264, 1920x800, 2499 kb/s), команда отрабатывает почти за 12 минут. Можно как-то ускорить?
> А если -ss указать до входного файла, отрабатывает, конечно, быстро, но субтитры не добавляет
https://trac.ffmpeg.org/ticket/2067
Антон, ты прямо спаситель! Добра тебе!
Я не сразу вдуплил, как этот setpts высчитывать, короче если кому вдруг тоже понадобится, нужно сдвиг пересчитать в секунды и указать его в виде PTS+сдвиг/TB. Итого в моем случае команда следующая:
$ ffmpeg -ss 01:46:01.5 -to 01:46:06.5 -i movie.mp4 -an -filter:v "setpts=PTS+6361.5/TB,subtitles=movie.en.srt:force_style='FontSize=30,PrimaryColour=&H00ffff&',setpts=PTS-STARTPTS,scale=480:-1,fps=18" out.mp4
Ho зaчем? Bедь еcть же Debian GNU/Linux.
Taк xyетy он тоже дропaть спокойно может, и? Это возможно, легко при том.
>Hедавно yвидел что пpицеп милфы, котоpyю поёбываю - не в состоянии кpякнyть свои игоpи. Она емy качает на тоppентаx читы и пpочyю поебень и ставит. Оxyеть. Баба шаpит в кyдаxтоpе лyчше пиздюка.
B голосинy. Xотя, пpи текyщем pазвитиии событий и не такое yвидеть можно... Hо согласен - дypаки погyбят миp.
Сегодня выезд и мне пpишло оповещение гугл на телефон о поездке.
Откуда он узнал? Билеты после покупки пpишли на почту, значит гугл читает твои личные письма, ещё и на укpаинском понимает иx? Или он пpосто видел, что я посещал сайты с билетами и возможно на сайте была встpоенная каpта гугл на котоpой наpисовался маpшpут и он запомнил это?
Дa ты caм попробуй купить пaccкод и повaйпaй что-нибудь. Никто у тебя твой пaccкод не отберёт. Дa дaже еcли и отберёт¸ cтоит он недорого, можно и ещё один купить.
Флаг был вpодe, гугли tab discarding chrome flag. А eщe, в цeнтe eсть настpоeчки
Зaметно
>дoбaвить пoддеpжку егo демoнoв в дpугoй инит?
Уже cделaли. Haзывaетcя systemd-shim. Paбoтaет пoвеpх sysvinit и зacтaвляет думaть чтo в cиcтеме еcть нacтoящий ненужнoд.
>Xyйни напатчил скopее всегo.
Hавеpнoе этo, oбычнo Gatekeeper пpoстo pyгается на малваpь, если пoдписи opигинальнoгo и мoдифициpoваннoгo бинаpя не сxoдятся.
Tы мeня нeправильно понял. Я наоборот выстyпил с осyждeниeм отказа от scrollbar, так как нажатиe срeднeй кнопкой мыши при middlemouse.scrollbarPosition → true, позволяeт осyщeствлять навигацию по всeмy scrollbar, что очeнь yдобно.
Каааакже сyка меня эта хyита заебала... Какая же этo паpаша пpoстo ПИЗДЕЦ.
Сейчас меня дoстаёт ещё oдна (oчеpедная oсoбеннoсть этoй пoделки: какoгo хpена в ней нет НOPСАЛЬНOГO БЛЯTЬ И ПOЛНOЦЕННOГO ВЫКЛЮЧЕНИЯ? СССУКААА! Нy неyжели егo так слoжнo сделать?
Да, я oтключал и oтключаю везде и всем ебyчий БЫСTPЫЙ ЗАПУКС на чиная сo сpанoй вынь 8. Эта хyита не тoлькo беспoлезна нo и пpинoсить пpoстo УЙМУ ПPOБЛЕМ. С этим pазoбpались. Этo всё выключенo. НO! паpашная и кpивая вынь10 пpoдoлжает инoгда себя вести так бyдтo я не тoлькo не выключал ПК, а бyдтo ввoдил в сoн. Напpимеp мoжет пoсле включения запyстится бpаyзеp (фиpефoкс) на тoм де месте где был закpыт. Вooбще oхyеть. А если был oткpыт ютyб - ещё и звyк oттyда пoйдёт пoка я ввoжy паpoль свoй в этy пoделкy. Чтo ещё кoмичнее, запyскаются не всегда все пpилoжения как из пoлнoценнoгo сна (сoн - этo тoже злo и лютoе гoвнo кoтopoе y меня самo сoбoй всегда и везде oтключается).
Я yже даже и "powercfg - h OFF" ввoдил Частичнo пoмoгает, хoтя бы нет нинyжнoгo файла на нескoлькo гигoв ХИБЕPСИС, нo всё pавнo глюкoв пoлнo.
Пpoстo пиздец, а не система. На её фoне даже УИНДOУС 8 пpoстo кoнфетка яибал.
Из-за нoвoгo железа пpихoдится этoй сpанью пoльзoваться и ставить её. Нo хopoшo хoть линyкс ещё есть - ПOИСTИНЕ OTДУШИНА в миpе OС.
Этo даже не вoпpoс. Этo пpoстo канстатация фактoв. T.к я знаю, чтo в этoй паpаше ничегo и никoгда неиспpавится. А если и испpавится, тo дoбавится минимyм паpoчка дpyгих "небoльших" пpoблем.
А на фoне тoгo чтo микpoсoф yже oткpытo гoвopит чтo OС - не OС для них и вooбще "oна нам нахyй нинyжна" - всё печальнo.
Пеpo вам в pебpo, кoпpo-пoльзoватели yин10-паpаши.
бггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггг
бггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггггг
Дa кaкaя с тобой дискyссия, xyилa. Мeня от тeбя тошнит.
Не, это так не работает. Надо указывать.
С - crf, разве что, можно поиграть, поставив в районе 35.
crf не работает, пока битрейт не укажешь. В гайдах 1M указывают, но как я должен понять, сколько мне указывать?
Знал что когдато пригодится!
Как фиксить?
Поддержу разумиста.
Перед заливкой перекодируй самостоятельно с -preset veryslow по рекомендациям ютуба. https://support.google.com/youtube/answer/1722171
Нихт, ютуб перекодирует всегда, абсолютно. Так что лучше лить оригинал.
>>690647
Каша в движении неизбежна, всё зависит от игры. Твичеры обычно чуть уменьшают разрешение захвата, чтоб хоть немного меньше артефачило. Алсо, если у тебя не лютый экшен, то 60фпс могут оказаться и не очень критичны, подумай об этом. (если у тебя там 144 то вообще пизда, обязательно перегоняй в меньше).
>алсо цветам пизда приходит
На ншидиях 9хх серии например цвета при кодировании неосне были, и с этим вроде ничего нельзя было поделать.
Зачем собирал? Как ломал?
>>691706
Оно не "растёт", просто кодек при воспроизведении не может определить длительность файла. Если длительность в контейнере не указана напрямую, то узнать можно только просуммировав все интервалы, чем никто не заморачивается, ибо нужна совместимость со стримингом, в котором длительность заранее неизвестна. Поэтому он воспроизводит его как стрим.
>>691709
Скорее просто даунлоад с ютуба какой-нибудь кривой или плохо настроенной хуйней. При прямой записи со стрима будет так же.
Это потому что он и есть стрим по сути. Воспроизведение начинается, когда файл еще не целиком загружен. Поэтому если длительность не прописана явно, заранее понять насколько он длинный нельзя.
Мне лично жмёт. Так жмёт, что не могу одно видео сдекодить без помощи друга со Skylake-EP Зионами.
так вот:
скачал видео, которое заливалось в mkv через youtube-dl
при скачивании понял, что он качал mp4 и звук в webm, а потом обратно собрал в mkv
я не знаю насколько это важно в данный момент
это видео кодирую в ffmpeg с параметрами -c:a copy -c:v hevc_amf output.mp4
на выходе все хорошо кроме одного, битрейт видео 2000 кбит
и видео откровенно шакалит
узнал что оригинал был в битрейте 4500 кбит
скачаное видео параметра чистого битрейта не имеет, только строчка Overall bit rate 3500 Kbps
подумал что чето с присетом качества.
добавил опцию qscale -q:v 1 потом -quality 0 на выходе теже 2к битрейта
Почему так, анон?
тут уже больше спортивный интерес, потому что я тупо через tsMuxerGUI мультиплексировал в TS и вытащил звуковую дорожку, потому что прога не видела ее.
ниже приведу лог с метаданными
Input #0, matroska,webm, from 'input.mkv':
Metadata:
COMPATIBLE_BRANDS: iso6avc1mp41
ENCODER : Lavf58.29.100
Duration: 03:53:01.36, start: -0.007000, bitrate: 3483 kb/s
Stream #0:0: Video: h264 (High), yuv420p(tv, bt470bg/bt709/bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn, 60 tbc (default)
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_amf))
Stream #0:1 -> #0:1 (opus (native) -> aac (native))
Output #0, mp4, to 'output.mp4':
Metadata:
COMPATIBLE_BRANDS: iso6avc1mp41
encoder : Lavf58.29.100
Stream #0:0: Video: h264 (h264_amf) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 2000 kb/s, 30 fps, 15360 tbn, 30 tbc (default)
encoder : Lavc58.54.100 h264_amf
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
encoder : Lavc58.54.100 aac
так вот:
скачал видео, которое заливалось в mkv через youtube-dl
при скачивании понял, что он качал mp4 и звук в webm, а потом обратно собрал в mkv
я не знаю насколько это важно в данный момент
это видео кодирую в ffmpeg с параметрами -c:a copy -c:v hevc_amf output.mp4
на выходе все хорошо кроме одного, битрейт видео 2000 кбит
и видео откровенно шакалит
узнал что оригинал был в битрейте 4500 кбит
скачаное видео параметра чистого битрейта не имеет, только строчка Overall bit rate 3500 Kbps
подумал что чето с присетом качества.
добавил опцию qscale -q:v 1 потом -quality 0 на выходе теже 2к битрейта
Почему так, анон?
тут уже больше спортивный интерес, потому что я тупо через tsMuxerGUI мультиплексировал в TS и вытащил звуковую дорожку, потому что прога не видела ее.
ниже приведу лог с метаданными
Input #0, matroska,webm, from 'input.mkv':
Metadata:
COMPATIBLE_BRANDS: iso6avc1mp41
ENCODER : Lavf58.29.100
Duration: 03:53:01.36, start: -0.007000, bitrate: 3483 kb/s
Stream #0:0: Video: h264 (High), yuv420p(tv, bt470bg/bt709/bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn, 60 tbc (default)
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_amf))
Stream #0:1 -> #0:1 (opus (native) -> aac (native))
Output #0, mp4, to 'output.mp4':
Metadata:
COMPATIBLE_BRANDS: iso6avc1mp41
encoder : Lavf58.29.100
Stream #0:0: Video: h264 (h264_amf) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 2000 kb/s, 30 fps, 15360 tbn, 30 tbc (default)
encoder : Lavc58.54.100 h264_amf
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
encoder : Lavc58.54.100 aac
-c:a copy -c:v h264_amf output.mp4
поправил себя, просто опечатка
тут подумал, может кодек другой попробовать?
и сходу еще вот такой вопросик
есть ли вообще смысл перекодировать 1-3 часовые видео MKV, чтобы можно было просто закинуть их в тот же премьер/вегас, когда есть tsMuxerGUI, который создает контейнер с файлом за минуту и все прекрасно работает.
хотя у меня через gpu 3х часовые видео за час кодятся и я не ощущаю дискомфорта в этом
может тут есть какие то подводные камни?
Ну так а я о чём, я бы даже сказал, что мне не жмёт, мне как раз. Помню как-то тестил несколько лет назад на минутном sd видосике, молодой был ещё, шутливый... с тех пор 30% уже сдекодилось
как это обычно бывает, хорошая мысля приходит опосля
попробовал в тупую повысит битрейт через -b:v 5M
и получилось
хоть и битрейт стал выше изначального, сама картинка, конечно же, лучше оригинала не стала а при повышении до 10М видео вообще на динамичных сценах крошиться начало.
так что думаю если так и изгаляться, то ставить битрейт такой же как у оригинала
Очевидно же, что перекодировать при наличии возможности просто перепаковать никогда нет смысла.
Потому что аппаратный кодек это отдельный блок на видимокарте. ГПУ-З видимо показывает только загрузку основной части ГПУ, а хуйня слева еще и видеоэнкодера.
Пробовал я ваш AV, к такому дерьму жизнь меня не готовила.
Думал по фасту сожму 19 минут h264, хуй там плавал. Ушло больше часа. С тех пор зарёкся это делать.
Кстати, в сети пишут что SVT-AV1 энкодер умеет в мультипокпок. Кто нибудь знает как его к ффмпегу присобачить?
Зачем ффмпегу мультипоток когда в 2020 все кодируют на видеокарте, которая сама по себе мультипоточна бай дизайн.
>в 2020 все кодируют на видеокарте
Так падажжи а вот тут можно поподробнее?
Всю жизнь безал вебмки для двача так:
ffmpeg -ss 10 -to 20 -i govno.mp4 -c:v libvpx-vp9 -b:v 0.00001k -deadline pizda zalupa.webm
но оно всё кодируется на проце.
Как кодировать на видеокарте? В ффмпеге или другом комбайне - вообще похуй но лучше в ффмпеге, конечно, я уже привык тут и наработок со скриптами куча.
Хочу быть готовым к 2020 а то Маринка с кассы в Пятёрочке давать перестанет, если все вокруг будут кодировать на видяхе, а я как чмо на проце.
> -c:v libvpx-vp9
Вот здесь надо другое. Сам нагуглишь по ключевому слову nvenc. Только видимокарта нихуёвая нужна, последнее поколение неведии, иначе параша.
На процессоре всё равно выше качество, даже сравнивая с последним поколением, потому можешь забить.
И какие видеокарты сейчас умеют в энкодинг av1, ебанько?
ffmpeg -encoders ищешь железный енкодер (h264_nvenc или что-то вроде)
ffmpeg -h encoder=<название энкодера> смотришь доступные опции
-c:v <название энкодера> при конвертировании
640x360, 0:03
В общем пожал все видимокартой в хевк за пол часа.
Аппаратного AV1 нигде нет, и кроме того аппаратные кодеки отсасывают по качеству, никто не юзает nvenc для оффлайн энкодинга, только для стримов и прочего реалтайм говна, когда нужно не грузить систему и не сажать фпс.
https://en.wikipedia.org/wiki/VP9
>Google has worked with hardware vendors to get VP9 support into silicon.
Перевод на двачевский: "Google работал с поставщиками оборудования, чтобы внедрить поддержку VP9 в кремний."
В итоге получилось на nVidia CUDA:
ffmpeg -vaapi_device /dev/dri/renderD128 -i zooporn.avi -vf 'format=nv12,hwupload' -c:v vp9_vaapi -g 150 -bf 4 -compression_level 1 -bsf:v vp9_raw_reorder,vp9_superframe -b:v 15M -an na_dvach.webm
Разберём по словам:
-vaapi_device #использовать устройство с поддержкой vaapi. Выбираешь любое устройство от сюда https://developer.nvidia.com/video-encode-decode-gpu-support-matrix , кроме GeForce GT 1030
/dev/dri/renderD128 #будет у тебя, если ты установиш драйвер nouveau
zooporn.avi #исходный файл, из которого надо получить шебм
-vf 'format=nv12,hwupload' #магия
-c:v vp9_vaapi #конкретное указание делать именно шебм, а не штото иное
-g 150 -bf 4 -compression_level 1 -bsf:v vp9_raw_reorder,vp9_superframe -b:v 15M -an #магия
na_dvach.webm #конечный результат, который получится
Есть так же миф о том, что можно то же самое делать на видеокартах 9го поколения.
Тащемт енкодинг на видимокарте не обязательно означает аппартный энкодинг. Есть енкодеры на opencl, но не av1.
https://habr.com/ru/post/437936/
Это понятно, но он и я говорим именно про nvenc, про аппаратный кодек, а не gpgpu
хорошо, тогда другой вопрос: когда смотрю видео в влс локально, никакой каши нет. можно ли как-то перекодировать это после записи на проце во что-нибудь чтобы избавиться от каши на ютубе?
Есть. одинаковый битрейт - одинаковый результат, они не так различаются. hevc нормально может в 4к+ 444 и 12бит, а 264 тоже может, но не нормально
1920x1080, 1:15
>>693335
Собираешь https://github.com/OpenVisualCloud/SVT-AV1, потом собираешь ffmpeg по гайду https://github.com/OpenVisualCloud/SVT-AV1/tree/master/ffmpeg_plugin и энкодишь в реалтайме.
Для h264:
ffmpeg -i input.avi -c:v h264_nvenc -threads 16 -preset:v slow -profile:v high -b:v 0 -cq 30 -pix_fmt yuv420p -c:a libopus -sn -strict -2 output.mp4
Уровень компресии задаёт -cq (аналог -crf).
>>693778
>>693753
>>693390
>>693380
Ебануться какие дела творятся. В моё-то время в один поток жали и все румяные ходили...
А как оно параллелит-то? Картинку на области режет и каждую отдельно кодирует, или весь файл по ключевым кадрам режет и каждый кусок отдельно жмёт? У видяхи же куча ядер и если нарезать картинку на столько кусков, то при склейке тупо каша получится...
Статью на вики прочитал, но там всё кратко описано даже на англюсике, без подробностей.
nvenc ничего особо не параллелит, он просто аппаратный и потому быстрый. cuda параллелит.
ясен хуй, локальный файл у тебя с ебанутым битрейтом, а ютуб перекодирует в меньший, который у него там.
нельзя, ютуб перекодирует всегда.
>На платформе Nvidia Tesla V100 и на видео VGA-размера новый декодер работает со средней скоростью около 10 кадров в секунду, а кодер и вовсе со скоростью около 2 кадров в секунду.
>Nvidia Tesla V100
>Ядра CUDA 5120, 32 ГБ HBM2, 900 ГБ/с
>видео VGA-размера
>640×480 пикселей
>декодер 10 кадров в секунду
>1 минута при 25 кадрах - две с половиной минуты
>кодер 1 минута при 25 кадрах - 12 с половиной минут
AV1, подержи мое пиво
Дерьмовое сглаживание убивающее детали. Эта параша еще в древних эмуляторах была.
>>693756
Такое ощущение, что они возвели в абсолют избавление от артефактов.
Если математические метрики и приближают тебя к идеальному изображению, то чисто визуально избавлении от артефактов может навредить. А тут я дежурно напоминаю, что только человеческая оценка является единственно верным способом оценки бытовых кодеков.
Вон тут же недавно тред был по сжатия картинок. >>2686610 (OP)
Три сравнения - три победителя. Сорта говна. Нормальных шакалов так и не разработали. Всё-таки это очень показательная демонстрация стагнации современного софта.
HEIF сегодня рулит и педалит, нодискасс.
На образце с шакалом он проигрывает просто потому что на -q1 даёт вдвое меньший размер.
с аудио всё понятно, а вот как с видео быть? устанавливать фпс 1 или нет? и как сжать нормально, чтобы видео не весило больше самой картинки, лол.
Это всё костыли. Лучше бы макак разрешил постить mp3 и opus как в /mu/.
хуй знает, почему нет превью, но вебмрелейтед делался так:
ffmpeg -loop 1 -i "картиночка" -g 1 -vf hqdn3d -c:v libvpx-vp9 -deadline best -cpu-used 0 -qmin 10 -crf 10 -qmax 10 -t 1 -r 1 muziki_v_pidjakah.webm
ffmpeg -i muziki_v_pidjakah.webm -i "аудио" -map 0:v -map 1:a -c copy loop.webm
> как сделать так, чтобы ютуб не поганил видео с видеокарты?
Ютуб кодирует двум кодеками — avc1(H.264) и VP9 и в первом получается каша и т.п. а вот на втором все идеально. Ютуб автоматически включает кодек VP9 для видео с просмотрами от нескольких тысяч и выше. Ну или для каналов-миллионников.
Чтобы принудительно заставить ютуб использовать VP9 нужно кодировать видео в 2k, т.е. 2560×1440.
> в первом получается каша и т.п. а вот на втором все идеально
Пиздёж. Абсолютно сорта говна.
>VP9 определенно лучше.
Лолнет.
>Скриншоты школьнопорашной анимамции из школьнопарашной игры для школьнопарашников.
Может быть. конкретно такое видео, с низким битрейтом, и низким разрешением ВП9 пердолит лучше.
Но сложные сцены он портит.
И то и то кстати выглядит ужасно. Не вериться что это ютуб, исходник скорее всего ужасен.
Но мы же говорим про ютуб и заливаемую на него парашу с 60фпс и т.п.
> Не вериться что это ютуб, исходник скорее всего ужасен.
Исходник в 4к, это просто два видео по прямым ссылкам в 720p, пережатые ютубом, один .mp4, другой .webm.
>то просто два видео по прямым ссылкам в 720p, пережатые ютубом
Дай ка ссылку.
>пережатые ютубом
Может в этом дело.
То видео проёбано, но вот тебе другое: https://www.youtube.com/watch?v=Qc_E-iG1aqw
И сайт, откуда можно качнуть: https://keepvid.pro/en/youtube/Qc_E-iG1aqw
Ну, и собственно два видоса.
Просмотрел, по какой-то причине ютуб производит абсолютно говняные видео анимации с автоматическим avc1 кодированием.
Но это не проблемы самого кодека.
Или ютуб специально продвигает свой формат, или еще что-то.
>Но мы же говорим про ютуб и заливаемую на него парашу с 60фпс и т.п.
Насколько я знаю, можно самому видео закодировать так чтобы ютуб его не перекодировал.
Кодек то нормальный, просто ютуб жмет со своими настройками, как мне кажется. Ну и в примерах видео выше, VP9 весит 8 мегабайт, avc1 — 12 мегабайт.
ffmpeg -ss <начало> -t <продолжительность> -i <источник> -filter_complex "[0:v] palettegen" palette.png
ffmpeg -ss <начало> -t <продолжительность> -i <источник> -i palette.png -filter_complex "[0:v][1:v] paletteuse" output.gif
че тут понимать, ставь ффмпег, меняй то что в скобках на свои значения и вставляй в командную строку, получишь свою гифку
>>гифки
>>2k20
Хочу тебя разочаровать, антош, даже вроде бы как "современный" и весь такой "йоу модный чётко на хайпе по фасту)) ;)))" дискорд по дефолтну на автовоспроизведение ставит только гифки. А чтобы включить вебмку - соизволь теребить мышь.
Самому смешно, что это говно мамонта мотает уже 4й десяток и ебёт в рот все попытки сделать по-нормальному, но имеем что имеем.
Есть: https://youtu.be/MfRPRRxOUTI
Но можешь забить на x265, он медленный, нигде не поддерживается, захват и стриминг не работает, десятки форков, стандартов и альфа-версий.
>>693917
Все конечно хорошо, но этот вариант кодирует медленно, еще и не тот ключ контроля качества.
Мой вариант побыстрее будет, но имеет свои минусы.
ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input.mp4 -c:v h264_nvenc -preset slow -rc constqp -qp 30 -color_range pc -c:a aac -b:a 192k output.mp4
211 vs 542 fps.
>не тот ключ контроля качества
С хуёв ли? Постоянное квантование будет только перерасходовать битрейт. И у тебя ещё профиль не выставлен.
> И у тебя ещё профиль не выставлен.
У меня файл записанный хардварным энкодером, им же и декодируется.
Из-за особенностей работы аппаратного ускорения в ffmpeg там нельзя так напрямую выставлять цветовые профили, поэтому я использую хардварный -color_range.
Но по скорости и качеству кодирования твоя команда ничем не отличается от того же Handbrake, а он в разы удобнее в повседневном использовании.
> -preset slow
Почему-же, все стоит.
А если ты именно про профили, то они сами выбираются, ну или нужно их указывать с параметром -level.
827x573, 0:01
>ffmpeg -framerate 60 -i frame-04d.png -c:v libvpx-vp9 -b:v 0 -crf 0 -pass 1 -an -f webm NULL
>ffmpeg -framerate 60 -i frame-04d.png -c:v libvpx-vp9 -b:v 0 -crf 30 -pass 2 -c:a libopus _result_crf-30.webm
-i frame-%%04d.png
>ffmpeg -i a.mkv -c:v libx264 -b:v 1500k -b:a 128k -preset veryfast a.mp4
>Но на выходе получилась несмотрибельная хуйня с артефактами на самых тяжелых моментах. Еще и кодировалась по 30 ми
ffmpeg -i a.mkv -filter:v "format=yuv420p" -pix_fmt yuv420p -vcodec libx264 -preset fast -tune animation -crf 17 -acodec copy -threads 4 -f mp4 a1.mp4
>>591247
>было быстро и качественно?
Что-то одно выбери.
Защита от дебила.
Видео из 10битного в 8митное переводим.
Или тебе интересно почему дважды указанно? Один параметр говорит кодеку что делать, а другой предлагает ффмпегу конвертировать формат.
Кодек говорят неоптимальным образом сам это делает.
>yuv
Формат пикселей
>420
Соотношение хромы к люме
>p
Прогрессивная развёртка
8 бит тут не при чём вообще, битность отдельной очевидной функцией задаётся. Говорю же, защита от дебилов блядь
>Хочу тебя разочаровать, антош, даже вроде бы как "современный" и весь такой "йоу модный чётко на хайпе по фасту)) ;)))" дискорд по дефолтну на автовоспроизведение ставит только гифки.
И заебись, еще не хватало свистопердящей и мычащей какофонии из вебм, ты хоть представляешь сколько этой хуйни могут накидать в среднестатистическом дис#$?д-канале укушенные зумеры?
Решение сам поймёшь или подсказать? сделать ограничение на автовоспроизведение вебмок без звука
Но имеем что имеем. Снова.
А может и пизжу и в этой параше и правда "если не указать, то будет восимь))))".
Тогда сорян, я сам дебил. Но это очень уебанская логика, конечно.
>сделать ограничение на автовоспроизведение вебмок без звука
Кидают дохуя шебм и оно лагает как сука. В массе они пиздец нагружают любую машину, в отличие от гифок, которыми можно забить три квадратных парсека и всё будет играться нормально.
Хотя в качестве опциональной галочки я не против, наверно. Но в такой нет смысла, на неё нельзя полагаться при постинге.
>А может и пизжу и в этой параше и правда "если не указать, то будет восимь))))".
Именно так. Формат по стандарту 8мибитный. yuv420p10 - 10ти битный.
В общем-то, loop-видео с неповторяющейся музыкой (следовательно, луп нельзя просто обеспечить настройками плеера) не очень много, но какой оверхед добавит сделать в контейнере поддержку необязательной конструкции, позволяющей определённый участок повторять N раз или же в определённых промежутках?
Это же охуеть как иногда экономило бы мегабайты
Когда современные модные зумерки со своими лупами осилят коммитинг в мастер кодеков - так сразу.
Для таких как ты затейников придумали bink
Да не тонем мы, не тонем.
Как вытянуть субтитры из mkv формата в отдельный файл srt, и возможно ли это вообще? Цель - воспроизведение фильма с субтитрами на родительской dvb-t2 приставке.
ffmpeg -i Movie.mkv -map 0:s:0 subs.srt
Разобрался, но выдаёт ошибку.
Stream #0:4(eng): Audio: truehd, 48000 Hz, 7.1, s32 (24 bit)
Metadata:
title : Original
BPS-eng : 3819392
DURATION-eng : 02:01:49.095000000
NUMBER_OF_FRAMES-eng: 8770913
NUMBER_OF_BYTES-eng: 3489537684
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Stream #0:3 -> #0:3 (copy)
Stream #0:4 -> #0:4 (copy)
Stream #0:5 -> #0:5 (copy)
Stream #0:6 -> #0:6 (copy)
Stream #0:7 -> #0:7 (copy)
Stream #0:8 -> #0:8 (copy)
Stream #0:9 -> #0:9 (copy)
Stream #0:10 -> #0:10 (copy)
Stream #0:11 -> #0:11 (copy)
Too many packets buffered for output stream 0:4.
Я через WebmForRetards кодирую, вот обрезанный лог:
Arguments for pass 1: -f nut -i pipe:0 -an -c:v libvpx -pix_fmt yuv420p -threads 4 -slices 4 -metadata title="2019-12-27 00-55-43" -lag-in-frames 16 -auto-alt-ref 1 -ac 2 -c:a libvorbis -minrate:v 16311k -b:v 16311k -maxrate:v 16311k -bufsize 9786k -rc_init_occupancy 65244k -qcomp 0 -fs 20961034 -b:a 64k -pass 1 -passlogfile "f408a60f-212e-4381-97b4-da06c2a9fb11" -f webm -y "NUL"
Arguments for pass 2: -f nut -i pipe:0 -c:v libvpx -pix_fmt yuv420p -threads 4 -slices 4 -metadata title="2019-12-27 00-55-43" -lag-in-frames 16 -auto-alt-ref 1 -ac 2 -c:a libvorbis -minrate:v 16311k -b:v 16311k -maxrate:v 16311k -bufsize 9786k -rc_init_occupancy 65244k -qcomp 0 -fs 20961034 -b:a 64k -pass 2 -passlogfile "f408a60f-212e-4381-97b4-da06c2a9fb11" -f webm -y "43.webm"
--- CREATING AVISYNTH PROXY ---
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, nut, from 'pipe:0':
Metadata:
encoder : Lavf56.40.101
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, 30 fps, 30 tbr, 61440 tbn, 61440 tbc
Stream #0:1: Audio: pcm_f32le (PFD / 0x20444650), 44100 Hz, 2 channels, flt, 2822 kb/s
[libvpx @ 00000000003234e0] v1.4.0
Output #0, webm, to 'NUL':
Metadata:
title : 2019-12-27 00-55-43
encoder : Lavf56.40.101
Stream #0:0: Video: vp8 (libvpx), yuv420p, 1280x720, q=-1--1, pass 1, 16311 kb/s, 30 fps, 1k tbn, 30 tbc
Metadata:
encoder : Lavc56.57.100 libvpx
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> vp8 (libvpx))
frame= 15 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A
frame= 301 fps= 26 q=0.0 Lsize= 0kB 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
--- FFMPEG HAS EXITED ---
--- ENTERING PASS 2 ---
--- CREATING AVISYNTH PROXY ---
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, nut, from 'pipe:0':
Metadata:
encoder : Lavf56.40.101
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, 30 fps, 30 tbr, 61440 tbn, 61440 tbc
Stream #0:1: Audio: pcm_f32le (PFD / 0x20444650), 44100 Hz, 2 channels, flt, 2822 kb/s
[libvpx @ 00000000003208a0] v1.4.0
Output #0, webm, to '43.webm':
Metadata:
title : 2019-12-27 00-55-43
encoder : Lavf56.40.101
Stream #0:0: Video: vp8 (libvpx), yuv420p, 1280x720, q=-1--1, pass 2, 16311 kb/s, 30 fps, 1k tbn, 30 tbc
Metadata:
encoder : Lavc56.57.100 libvpx
Stream #0:1: Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp, 64 kb/s
Metadata:
encoder : Lavc56.57.100 libvorbis
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> vp8 (libvpx))
Stream #0:1 -> #0:1 (pcm_f32le (native) -> vorbis (libvorbis))
frame= 16 fps=0.0 q=0.0 size= 81kB time=00:00:00.49 bitrate=1335.1kbits/s
frame= 18 fps= 15 q=0.0 size= 175kB time=00:00:00.59 bitrate=2410.4kbits/s
frame= 20 fps= 12 q=0.0 size= 302kB time=00:00:00.61 bitrate=4046.6kbits/s
frame= 22 fps=9.6 q=0.0 size= 459kB time=00:00:00.70 bitrate=5338.1kbits/s
frame= 24 fps=7.8 q=0.0 size= 545kB time=00:00:00.76 bitrate=5854.6kbits/s
frame= 25 fps=6.8 q=0.0 size= 624kB time=00:00:00.77 bitrate=6586.5kbits/s
frame= 27 fps=6.4 q=0.0 size= 710kB time=00:00:00.84 bitrate=6870.1kbits/s
frame= 28 fps=5.9 q=0.0 size= 801kB time=00:00:00.89 bitrate=7351.4kbits/s
frame= 30 fps=5.4 q=0.0 size= 870kB time=00:00:00.99 bitrate=7139.7kbits/s
frame= 60 fps=3.5 q=0.0 size= 2312kB time=00:00:01.94 bitrate=9749.8kbits/s
frame= 122 fps=2.9 q=0.0 size= 5347kB time=00:00:04.03 bitrate=10869.0kbits/s
frame= 181 fps=2.8 q=0.0 size= 8265kB time=00:00:06.02 bitrate=11229.6kbits/s
frame= 240 fps=3.2 q=0.0 size= 11566kB time=00:00:07.94 bitrate=11923.8kbits/s
frame= 301 fps=3.3 q=0.0 size= 14402kB time=00:00:09.98 bitrate=11814.7kbits/s
frame= 301 fps=3.2 q=0.0 Lsize= 16213kB time=00:00:10.06 bitrate=13194.4kbits/s
video:16128kB audio:74kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 0.069293%
--- FFMPEG HAS EXITED ---
Я через WebmForRetards кодирую, вот обрезанный лог:
Arguments for pass 1: -f nut -i pipe:0 -an -c:v libvpx -pix_fmt yuv420p -threads 4 -slices 4 -metadata title="2019-12-27 00-55-43" -lag-in-frames 16 -auto-alt-ref 1 -ac 2 -c:a libvorbis -minrate:v 16311k -b:v 16311k -maxrate:v 16311k -bufsize 9786k -rc_init_occupancy 65244k -qcomp 0 -fs 20961034 -b:a 64k -pass 1 -passlogfile "f408a60f-212e-4381-97b4-da06c2a9fb11" -f webm -y "NUL"
Arguments for pass 2: -f nut -i pipe:0 -c:v libvpx -pix_fmt yuv420p -threads 4 -slices 4 -metadata title="2019-12-27 00-55-43" -lag-in-frames 16 -auto-alt-ref 1 -ac 2 -c:a libvorbis -minrate:v 16311k -b:v 16311k -maxrate:v 16311k -bufsize 9786k -rc_init_occupancy 65244k -qcomp 0 -fs 20961034 -b:a 64k -pass 2 -passlogfile "f408a60f-212e-4381-97b4-da06c2a9fb11" -f webm -y "43.webm"
--- CREATING AVISYNTH PROXY ---
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, nut, from 'pipe:0':
Metadata:
encoder : Lavf56.40.101
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, 30 fps, 30 tbr, 61440 tbn, 61440 tbc
Stream #0:1: Audio: pcm_f32le (PFD / 0x20444650), 44100 Hz, 2 channels, flt, 2822 kb/s
[libvpx @ 00000000003234e0] v1.4.0
Output #0, webm, to 'NUL':
Metadata:
title : 2019-12-27 00-55-43
encoder : Lavf56.40.101
Stream #0:0: Video: vp8 (libvpx), yuv420p, 1280x720, q=-1--1, pass 1, 16311 kb/s, 30 fps, 1k tbn, 30 tbc
Metadata:
encoder : Lavc56.57.100 libvpx
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> vp8 (libvpx))
frame= 15 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A
frame= 301 fps= 26 q=0.0 Lsize= 0kB 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
--- FFMPEG HAS EXITED ---
--- ENTERING PASS 2 ---
--- CREATING AVISYNTH PROXY ---
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, nut, from 'pipe:0':
Metadata:
encoder : Lavf56.40.101
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, 30 fps, 30 tbr, 61440 tbn, 61440 tbc
Stream #0:1: Audio: pcm_f32le (PFD / 0x20444650), 44100 Hz, 2 channels, flt, 2822 kb/s
[libvpx @ 00000000003208a0] v1.4.0
Output #0, webm, to '43.webm':
Metadata:
title : 2019-12-27 00-55-43
encoder : Lavf56.40.101
Stream #0:0: Video: vp8 (libvpx), yuv420p, 1280x720, q=-1--1, pass 2, 16311 kb/s, 30 fps, 1k tbn, 30 tbc
Metadata:
encoder : Lavc56.57.100 libvpx
Stream #0:1: Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp, 64 kb/s
Metadata:
encoder : Lavc56.57.100 libvorbis
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> vp8 (libvpx))
Stream #0:1 -> #0:1 (pcm_f32le (native) -> vorbis (libvorbis))
frame= 16 fps=0.0 q=0.0 size= 81kB time=00:00:00.49 bitrate=1335.1kbits/s
frame= 18 fps= 15 q=0.0 size= 175kB time=00:00:00.59 bitrate=2410.4kbits/s
frame= 20 fps= 12 q=0.0 size= 302kB time=00:00:00.61 bitrate=4046.6kbits/s
frame= 22 fps=9.6 q=0.0 size= 459kB time=00:00:00.70 bitrate=5338.1kbits/s
frame= 24 fps=7.8 q=0.0 size= 545kB time=00:00:00.76 bitrate=5854.6kbits/s
frame= 25 fps=6.8 q=0.0 size= 624kB time=00:00:00.77 bitrate=6586.5kbits/s
frame= 27 fps=6.4 q=0.0 size= 710kB time=00:00:00.84 bitrate=6870.1kbits/s
frame= 28 fps=5.9 q=0.0 size= 801kB time=00:00:00.89 bitrate=7351.4kbits/s
frame= 30 fps=5.4 q=0.0 size= 870kB time=00:00:00.99 bitrate=7139.7kbits/s
frame= 60 fps=3.5 q=0.0 size= 2312kB time=00:00:01.94 bitrate=9749.8kbits/s
frame= 122 fps=2.9 q=0.0 size= 5347kB time=00:00:04.03 bitrate=10869.0kbits/s
frame= 181 fps=2.8 q=0.0 size= 8265kB time=00:00:06.02 bitrate=11229.6kbits/s
frame= 240 fps=3.2 q=0.0 size= 11566kB time=00:00:07.94 bitrate=11923.8kbits/s
frame= 301 fps=3.3 q=0.0 size= 14402kB time=00:00:09.98 bitrate=11814.7kbits/s
frame= 301 fps=3.2 q=0.0 Lsize= 16213kB time=00:00:10.06 bitrate=13194.4kbits/s
video:16128kB audio:74kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 0.069293%
--- FFMPEG HAS EXITED ---
720x900, 0:03
ffmpeg -i input.mp4 -crf 20 -b:v 0 -preset veryslow -pass 1 -an -threads 8 -f webm NUL
ffmpeg -i input.mp4 -crf 20 -b:v 0 -preset veryslow -pass 2 -threads 8 output.webm
Можно как-нибудь ограничить верхную границу переменного битрейта, например, чтобы не поднималась выше 5М? Или ффмпег таких тонкостей не умеет и нужно ручками указывать статичный битрейт?
-minrate, -maxrate и -bufsize как я понял нужны для того, чтобы задавать границы для среднего битрейта, когда указывается конкретное значение в -b:v. А для переменного битрейта есть ограничители?
Это так не работает. Хочешь конкретные ограничения - работаешь с конкретным битрейтом. Указываешь црф - готовишься к неожиданностям.
А где можно почитать какие параметры кодирования маскируются за конкретными crf? Ну, то есть, какая магия скрывается за цифрами? Интересует в первую очередь интервал от 18 до 23.
Кодер сам оценивает качество и уделяет столько битов на кадр, сколько считает нужным, чтобы это качество поддерживать. Фсё. Гугли более развёрнутые определения, если сильно интересно, но они мало помогут.
Ну да, црф для однопроходного кодирования. Второй проход можно делать, взяв средний битрейт, который crf выплюнет. А так ты просто зря говно гоняешь.
Ффмпег не показывает разве средний битрейт после пожатия?
Если не показывает надо аутпут не нулевой ставить и смотреть на результат.
Можно придумать автоматизацию этого процесса, но проще в два шага просто это сделать. Пожал пасс ван - посмотрел битрейт, пошёл на второй с получившимся значением.
Правда, это всё хуйня.
Црф и прочие цкуп - это для одного прохода.
Битрейт для двух-трёх.
например, сразу скачать в нужном разрешении
ffmpeg -video_size 1920x1080 -framerate 120 -f x11grab -i :0.0 -f pulse -ac 2 -i default ~/Downloads/test.mp4 -vsync 2
Делал так, но слышно только мой микрофон, что на компе играет не слышно.
(Опционально) Комп начинает пердеть нереально, когда ффмпег в 8 тредов или сколько там хуярит, было бы отлично, если бы на записи этого не было слышно.
возможно важно уточнить, что я сижу в блютуз наушниках, потому что
ffmpeg -devices true -f dshow -i dummy
есть jack, но никакой аналогичной настройки для блютуз я не нашел
DE alsa ALSA audio output
DE fbdev Linux framebuffer
D iec61883 libiec61883 (new DV1394) A/V input device
D jack JACK Audio Connection Kit
D kmsgrab KMS screen capture
D lavfi Libavfilter virtual input device
DE oss OSS (Open Sound System) playback
DE pulse Pulse audio output
E sdl,sdl2 SDL2 output device
DE video4linux2,v4l2 Video4Linux2 output device
D x11grab X11 screen capture, using XCB
E xv XV (XVideo) output device
ставить obs не хочу
>-preset fast
Скорость ёпта.
> -tune animation
Мультеги так лучше жмёт
>-acodec copy
Копирует дорожку
>speed=0.103x
Если кому то в голову приходила ебанутая идея юзать мпег на говноандройде за 10к, то забудьте нахуй
Тут уже не ебу. Вряд ли тхреадс или прочая оптимизация что то изменят на самсунге или изменят. Попробую загуглить, но вряд ли что-то полезное найду, учитывая что телефон грелся до пизды за эти 3 минуты.
В Gentoo собирать легко, ты полюбишь portage. USE флаг - fdk.
Разве квалити это не битрейт? Зачем нужны эти значения и почему они не числовые а какие-то дебильные, как предустановки в играх?
>скачал гуишку ffmpeg для дебилов
>Зачем нужны эти значения и почему они не числовые а какие-то дебильные, как предустановки в играх?
Дебил тут только ты. Гуи теже значения и берет, которые для вебем предусмотрены, или не вебем, а кодека вп9, я не шарю. Но смысл в том, что ты хоть в сонсоли пропишешь real-time/good/best, хоть в гуи, разницы никакой нет.
Я просто хочу понять, на что конкретно этот параметр влияет и зачем он вообще нужен, если есть параметр битрейта.
>даже самый отбитый Васян из 5го класса юзает фф через терминал и знает базовые атрибуты -b:v и -c:v
>еблан с гуи, не умеющий либо в гугл, либо в инглиш, высирает на харкаче вопросы типа "как вытереть жопу, если бумага в упаковке?"
Ой, да хватит придуриваться. Тебе сказали, что это другой параметр, b:v это насколько я понимаю битрейт. А квалити это что-то другое. И оно вообще не задается числовыми значениями, а почему-то только пресетами. Вот в том-то и прикол.
Не аггрись ты так. Я у шарящих людей спрашиваю, а не у тех, кто думает что квалити это и есть битрейт.
Ну, это speed, наверное. Плюс ещё набор каких-то параметров. Пресет гуя кароче. Подозреваю, что если ты консольному кодеру попробуешь это скормить — он тебя нахуй пошлёт, также как местный анон.
А вот хуй знает, писечка-то закрытая.
Чем можно создать эффект дизиренга аля элт тв? Может есть готовые фильтры где-нибудь, хотя бы для картинок, как минимум можно будет ффмпегом по кадрам разобрать и собрать обратно видео.
Алсо, какие есть альтернативы SVP? Желательно на Винду. Чем вообще производители смарт ТВ интерполируют кадры? Какой-то пропретарный софт?
Накачал видосов с поревом, у некоторых разрешение 1440x1080, и соотношение сторон не 16:9 при этом, а хуй знает какое, сплюснутое с боков. При просмотре это можно исправить в настройках плеера, но я хочу создать файлы превью через Video Thumbnails Maker, а в них всё тоже не по фен шую, блеать. Настроек на эту тему в проге нет, выбор кодеков в ней же ничего не даёт. Подозреваю, что можно где-то в K-Lite кодек паке полазить и исправить эту хуету, но там слишком много параметров и я вообще не ебу чё делать. Есть идеи?
Это видео со скукоженным пикселем. Тут дело не в кодеке. Плееры обычно по дефолту их в нормальное разрешение преобразуют. Но не все могут преобразовывать скриншоты. Используй для этого, например, mpv или какой-нибудь pot player.
Вот ещё ffmpeg команда по вытаскиванию преобразованного скриншота из 60-ой секунды видео
ffmpeg -ss 60 -i input.mp4 -r 1 -vframes 1 -an -vf "scale=iw*sar:ih,setsar=1" -f image2 output.png
Спасибо, полазил ночью по форумам, почитал про это говно. PotPlayer'ом, кстати, и вышел из ситуации. Жаль, что не исправить тонкой настройкой такое раз и навсегда.
>Пресет гуя кароче
Опять 25. Да какой же это пресет гуя, если ты и в сонсоли можешь написать -quality там good или best. При чем тут вообще гуй?
Типа написано на самом сайте ффмпег что гуд ну типа для всех, а бест это типа если у тебя много времени.
Но мне это нихуя ни о чем не говорит. Я понимаю когда качество зависит от битрейта, какие цифры ставишь, такое у тебя и качество. А тут какой-то кот в мешке.
Как мне вп9 в масимально хорошем качестве рендерить? Что это за ребусы без разъяснений ёб твою мать.
> на самом сайте ффмпег
Значит пресет ффпега. Это тоже как бы мокрописька для ленивых.
> Как мне вп9 в масимально хорошем качестве рендерить?
>квалити: говно, получше, лучшее
>КАК???!
Ты ебобо?
Я вот тоже не понимаю. Что это за хуйня? Насколько говном будет говно? Насколько хорошим будет хорошим и насколько наилучшее будет наилучшим? Как оно вообще работает? В документации вообще про дедлайн написано и что best - poorly named and quite slow, this option should be avoided as it may give worse quality output than good
Чому мне надо просто натыкаться на vp8 encode parameters guide на стороннем ресурсе и получать более менее подробную информацию о том, что это завязано на утилизации цпу.
>Ты ебобо?
Спрашивает меня мой атлон, когда рендерит 6 часов 1 минутный ролик.
А на глаз я как бы разницу не особо вижу. Вот и думай, хули выбирать.
когда я ставлю -ss до -i, то он берет дополнительные 2 секунды до момента обрезки
а когда ставлю сс после и, то первые 2 секунды видео наоборот херятся в говно
есть ли способ точной обрезки без конвертации?
а что если сделать так: мне нужны 30 секунд из 2часового видео с точнейшим таймингом, к примеру 1:30:10 до 1:30:40
я ебашу сс и с копи так, чтобы он взял ближайший кейфрейм ПОСЛЕ 10ой секунды. потом так же второй раз, но ПЕРЕД 10ой секундой
этот кусок, который был перед, конвертирую с точной обрезкой, а потом уже склеиваю два файла с avoid negative ts и movflags
> блять, как сделать точную обрезку...?
`Обрезание в еврейской традиции`
Совершая акт обрезания, евреи увековечивают этот нерушимый союз из поколения в поколения и поныне.
И так, что такое обрезание выяснилось, зачем это делают евреи и иудеи – тоже понятно, по соображениям религии.
Кстати – обрезание делается не только у представленных народов, его может делать любой желающий, даже не по соображениям религии или народа, а даже из медицинских побуждений.
С точки зрения медицины, это действие может нести в себе положительный характер.
К примеру: после процедуры уменьшается запах в интимной зоне, есть меньший риск заболеваний, с точки зрения гигиены, меньший риск попадания грязи.
Записываю стримы с ЧБ, но с ними какая-то беда.
Каждые 3-4 секунды происходят то ли потери, то ли фризы какие-то. Это уже не первую неделю.
Знаю то, что модель которую записываю заблочила для РФ доступ к комнате, но раньше такого не было (даже вместо с блокировкой доступа)
Есть ли возможность вести запись без этой задержи и каким образом?
Как-то так >>618583
>>752225
Я пробовал, но есть загвоздка. На пекарне всё нормально, а в браузере, например, при загрузке видео на двачи, иногда вылезают артефакты - либо цвета колдаёбит, либо картинка замирает до второго кейфрейма. Тут либо энкодить с точной обрезкой по времени, либо резать по кейфреймам, если нужно сохранить оригинальное качество.
720x720, 0:29
вот этим говном визуализировал
$ ffmpeg -i mm.mp3 -filter_complex "[0:a]avectorscope=s=720x720:zoom=2.9:r=30:rc=155:gc=0:bc=40:ac=1:rf=255:gf=255:bf=255:af=255:draw=line[v]" -map "[v]" -map 0:a -crf 28 -b:a 320k 4.mp4
тупую перепись с экрана бандикамом не предлагать, нужно именно скачать оригинальный файл в 1080p 60fps, неужели это настолько нерешаемая задача?
Оно что, консолепердольное или вообще батник городить надо? По-человечески нельзя было сделать? Какой нахуй влц, какие медиаплееры? Что надо набрать, чтобы сохранить стрим в виде файла по ссылке типа https://www.youtube.com/watch?v=1-69ZOPAsis в высоком качестве в mp4 с аудио aac 256 кбит? А уж потом я буду его хоть смотреть в любое время любым софтом, хоть кодировать, хоть шебмки нарезать.
>прописать простейшую -r sperma.mp4 в консолечку
>ряяя пердолинг
Тебе годноту предлагают, а ты нос воротишь.
> "error: No playable streams found on this URL" даже на обычных неудаленных видео
Оно издевается?
А это не youtube-dlg, это youtube-dl.
>зашел в /s/
>рррряяяя это чо через баш самому ВРУЧНУЮ песать одну строчку кода? где гуишки? а чо онлайн сервисом не сделали? вот суки а МНЕ ЧО САМОМУ НАДО ЧТО ТО ДЕЛАТЬ И РАЗБИРАТЬСЯ В ОДНОСТРАНИЧНОМ FAQ? ОХУЕТЬ БЛЯТЬ
В инете через дос в Arachne лазишь? Яркость экрана в config.ini правишь, музыку из командной строки слушаешь? На ведре в терминале удобнее?
Нет гуя для твоей задачи. И вообще тред не об этом, для поиска софта тебе сюда >>2127464 (OP)
Ох уж эти броски в крайности от пиздоголовых даунов. Люди сделали охуенный скрипт для извлечения, записи, воспроизведения стримов через любой нормальный видеоплеер и добавили кучу удобных функций с простейшим синтаксом для первоклассников. Но нет, сука, для тебя - единственного еблана - надо рисовать гуишку с отдельными кнопочками для "-s, -g, -c" и прочих однозначных комманд, ведь ты слишком долбаеб для их написания.
Не вижу иронии, какой-то тупой пост.
> что вводишь
streamlink https://youtube.com/watch?v=zalupaPIZDA best -o "c:\zhopa\test.mp4"
Хер знает что было не так, может тупо регистр не тот или из-под админа командную строку надо было запускать, вроде пошла скачка.
и грузит сука со скоростью меньше 10 мегабит, хотя канал намного шире
Пиши в .ts Если закачка оборвётся (или стрим внезапно удалят из канала) есть вероятность потерять весь файл.
crop=x=0:y=0:w=0:h=0
1920x1080, 0:13
Например, это удобно делать в mpv с накатанным скриптом crop.lua https://github.com/occivink/mpv-scripts
Там же можно забиндить на горячие клавиши типовые ffmpeg команды, чтобы даже консольку не открывать.
Годно, спасибо.
512x512, 4:29
Тут надо чем-то жертвовать. Оптимизировать или не бухтеть. Если 2к мало, а 8к тебе много, то надо искать среднее значение. Хотя, на эти мерцающие пиксили в таком виде надо где-то 5.5-6к минимум. Или поступить как-нибудь бюджетненько типа вот так.
мимо слоупок
Нагуглил параметр avoid_negative_ts , но я так понял, он только на видео влияет, не?
Так я не про то, ясное дело, что вне отрезка ничего трогаться не будет. Я о том что если начало/конец отрезка не попадёт чётко в определенные ключевые фреймы, по-идее должна быть перекодировка сигнала между началом и следующим ключевым и последним ключевым и концом отрезка. Но, возможно в аудио такого нет, в отличии от видео, а возможно в разных кодеках по-разному. Меня интересует параметр, который бы заставлял обрезку автоматически начинать/заканчивать на ключевых фреймах, дабы избежать перекомпрессии начала/конца
При указании параметров -c:v copy и -c:a copy ничего не перекодируется. Если режешь с этими параметрами, то не забудь указать -avoid_negative_ts 1 , а временные метки -ss / -t / -to прописывай после -i
Видел вебмы по 2+ минуты и ваще ахуеть
Я пилю свое дерьмо какое-нибудь с 1500 битрейта и 30фпс и еле удается 30сек запихнуть
Алсо для тех кто не знает, на 4чане работает только вп8, потому всяких трюков из вп9 поюзать не получается
Очевидно понижать битрейт и кодировать в 2 шага. Лучше заливай видео на двачи и кидай прямую ссылку на их недофорум
делай видосы с аниме, охуенно жмётся и дохера влазит
Начнем с того,что нахуй форчан и нахуй вебки с этой помойки. Ну если хочешь, то представим как это говно работает.
Берется какое-нибудь аниме - много однотонных кусков и сцен где разговаривают персонажи, то есть динамики мало и то изначально в низком фпс. Меняется разрешении на 360р, при это кодировка идёт в 2 прохода с полным пережатием и низким качеством - 1500 дохуя будет, fps 24 максимум.
https://keepvid.ch/en/youtube-to-mp4
>> только вп8
>Лол, ну и параша.
Это вы ещё японского двача не видели без намёка на WEB2.0, ребятки-котятки...
На таких размерах звук много отжирает, его желательно вообще 32кбс делать, но эта прога не позволяет, ффмпег наверное способен.
Зато без жопаскрипта.
Спасибо. Но как ты узнал, что я искал нормальный сайт, сохраняющий с ютуб со звуком.
А ещё такой вопрос: отчего у этих файлов декодированных в медия плеер классик перемотка какими-то кусками работает, а в vlc норм?
Предположу, что они по разному работают с GOP https://en.wikipedia.org/wiki/Group_of_pictures
Так и есть mpc перематывает на предыдущий кейфрейм от указанного места. Может кто знает как такую индикацию кейфреймов в mpv сделать?
Как и везде: делишь нужный тебе размер на время = целевой битрейт, который вбиваешь в программульку.
Это да, от версии к версии становится все более забагованным говно.
Есть ли программы типа иксмедиаред только более простые в плане фич и менее глючные? Гуёвые естественно, я натурал, в срансолечку долбиться не хочу.
Я тупой, как это сделать одной строкой чтобы на входе дать pcm и на выходе получить видео со звуком
например
ffmpeg -i cat.jpg -f u8 -i noise.raw -c:v libx264 -b:v 0 cat.mkv
только обрати внимание на формат raw в данном случае unsigned 8bit -f u8
ffmpeg -y -i 1.webm -c:v h264 -b:v 506k -pix_fmt yuv420p -c:a aac -b:a 128k -pass 1 -f null NUL && ffmpeg -i 1.webm -c:v h264 -b:v 506k -pix_fmt yuv420p -c:a aac -b:a 128k -movflags faststart -pass 2 3.mp4
1080x720, 3:07
Вери слоу тоже норм. Мне плацебо в среднем больше нравится по результату, но у некоторых пацанов в интернете с ним хуже выходит.
640x480, 0:19593 Кб, mp4,
640x480, 0:17630 Кб, mp4,
640x480, 0:17637 Кб, mp4,
640x480, 0:17
Если фпс повысить до 15 то вообще пропадает даже одна позиция для перемотки которая хоть была при 1 фпс, если до 60 то уже 3 позиции, если 120(больше нельзя тупо) то тоже не особо много позиций.
Всё делается в мп4.
Каким образом фпс влияет на количество позиций для перемотки? Разве при 1 кадре в секунду не должно быть ровно по 1 позиции на каждую секунду блять? Фрейм пер секонд, плееры прыгают перемоткой по фреймам, какого хуя нет точек для этих прыжков...
С вебм ещё хуже.
Может зависит от исходного видео?
> плееры прыгают перемоткой по фреймам
По ключевым фреймам, которые там где картинка меняется, а у тебя не меняется, вот он один или вообще ни одного, ведь картинка не меняется. В настройках плеера должен быть выбор по каким вреймам прыгать, там можно переключить с ключевых на обычные.
Да на дваче вот можно мотать как хочешь оказывается.
Но ок если все как ты говоришь, то почему при большем фпс появляется больше мест для ключевого кадра, если картинка не меняется?
Можно ли сделать видео с "музыка с картинкой" в 1 фпс, но с ключевыми кадрами на каждую секунду?
>XVCU
>Xilisoft Video Converter Ultimate 7.8 + ключи и русификатор скачать бесплатно без смс
Мокрописечное васянское поделие какое-то. Хмедиарекод хотя бы производит впечатление нормального софта. А этот пиздец даже качать не буду.
>картинка не меняется
Меняется, вот отличия в кадрах с твоей 120фпсной с разницей в несколько секунд.
Я думаю это проблема кодека.
Я это мокрописечное говно в виртуалке уже всё перепробовал. Оно всё через анал работает и часто даже вп9 не поддерживает. Нужен нормальный софт.
А мог бы не быть дауном, пробуя всё говно мира в виртуалке, и handbrake для себя открыть ёпта. Хотя, проще было бы в консольку смочь триста раз за всё время тестов мокрописек.
как сделать превью в шебем?
такой команде не работает
ffmpeg -i source.webm -i prev.webm -map 0 -map 1 -c copy output.webm
На сопляче уже никак вроде.
> какие бы настройки битрейта я не задавал,
А какие бы ты не задавал?
Конкретнее давай, не стесняйся.
ffmpeg -i %FILE% -t 00:02:00 -target pal-dvd -b:v 8M -an -pass 1 -y out.mpg
ffmpeg -i %FILE% -t 00:02:00 -target pal-dvd -b:v 8M -an -pass 2 -y out.mpg
пробовал разные maxrate minrate bufsize, они по итогу вообще не меняются почемуто, и в итоговом файле битрейт получается около 6M вместо желаемых восьми, а в исходном файле битрейт 10M
Ну, может там мало динамики и выходит, что средний битрейт ниже. Поставь ещё больше. Или вообще через crf/qp пожми, это скорее всего тебе больше подойдёт. 8M — это точно корректный синтаксис для ффмпега вообще? Зачем тебе палдвд? Зачем пережимать файл из одного битрейта в тот же самый? Ради того чтобы до пал его пожать? Или просто кусок хочешь вырезать? А зачем тебе 10мб в пале? Столько вопросов, пиздец.
я этой же командой сконвертировал все 50 минут видео, итоговый битрейт вообще получился около 3.5М.
qp это -q:v? а crf это что?
я хочу двд сделать
Зачем тебе двд в 2020? Прост ретро?
Насколько я знаю, посаны из инторнетов двд не режут в голом фф, а используют всякие мокрописьки. Какое-нибудь avstodvd или что-то такое. Могу тебе посоветовать в эту сторону глянуть, если тебе именно DVD нужен.
ну да, я хотел использовать sony dvd architect, а он большинство видео форматов не понимает, советуют ему на вход подавать mpeg2 видео, тогда вроде будет просто происходить переделка этого видео под формат dvd, без перекодирования.
я просто хочу сам контролировать качество кодирования, в мокрописечных программах обычно настройки минимальны. пробовал convertxtodvd но там тяжело добиться нужного размера фильма.
ну или придется в довесок устанавливать sony vegas
>>Зачем тебе двд в 2020
я поехавший ретроград/консерватор/плюшкин
Понятно, я вот уже нихуя не помню как мпег2 со всеми xvidами жмётся, аж не заметил что у тебя аутпут
> mpg
Я бы виртуалдаб расчехлил, наверное. Там васяны запилили VirtualDub 2, который современные форматы жрот — для того чтобы запилить mpeg2 должен подойти, наверное.
Ну и avstodvd таки глянь.
> при двух проходном кодировании нужно просто продублировать строки добавив -pass 1 и -pass 2?
Да
> при первом проходе обязательно использовать теже в точности настройки кодирования что и во втором?
Очень желательно.
Существует опция для быстрого первого прохода, разве что.
Это охуенно.
точнее наоборот, как закодировать видео с требуемым sar и dar? например sar 64:45 и dar 16:9
Была такая банальная фигня:
ffmpeg -i input -c:v h264 -crf 23 -pix_fmt yuv420p -tune film -c:a aac -b:a 128k -preset veryfast output.mp4
Вроде все по правилам, но выходит говнище. Если CRF уменьшить до 21, то размер выходит примерно таким же, как и 1080р, а ставить низкие пресеты на убогом ноуте я охуею ждать.
Попробуй без crf, а вручную задавать битрейт, моя золотая середина для 720 2M, для 1080 3M, пресет понизь хотя бы до fast, в threads задай максимальное количество, которое позволяет проц.
А вообще лучше юзай другой софт, который может задействовать твою видюху
Разве постоянный битрейт не говно для видосов с кучей активности? На спокойных моментах без изменения кадра он будет жрать в 20 раз больше чем ЦРФ, а на активных будет делать кашу. Я бы без проблем выставил даже 700к битрйта с тюном анимации на какое нибудь аниме, но я хочу сконвертить фильмы от Майкла Бея с кучей взрывов и экшона
У тебя же один из критериев это время энкодинга. Crf работает дольше, чем ручное указание битрейта
Что такое crf и в чем отличие от -b:v?
> ffmpeg -i input -c:v h264 -crf 23 -pix_fmt yuv420p -tune film -c:a aac -b:a 128k -preset veryfast output.mp4
> На выходе получилась каша с кубами
ffmpeg -i input -c:v h264 -crf 22 -pix_fmt yuv420p -tune film -c:a aac -b:a 96k -preset medium output.mp4
Ну а что ещё тебе посоветовать, хуй знает.
> Crf работает дольше, чем ручное указание битрейта
Только с ручным битрейтом надо делать два прохода и в итоге это нихуя не быстрее.
Не понял, что значит "указать кодеку" и "предлагать фипегу".
Если я говорю кодеку он игнорирует что ли первый раз?
По сути надо просто взять ближайший кейфрейм после нужного момента и обрезать через копи, а потом скодировать момент до этого кейфрейма по обычному с нужного момента до следующего кейфрейма (в прошлом файле). В итоге потом тупо склеиваешь через конкат и заебись. Главное, это плеер с таймером в милисекундах и умением перемотки по кейфремам, я юзаю обычный MPC-HC.
Это может быть полезно, например, при быстрой обрезке длинных видосов с трубы, если ты параноик, как я, и хочешь максимум точную обрезку. На ютубе кейфреймы каждые 4-5 секунд, так что через c copy вряд ли получится сделать норм обрезание. И перекодирование видео оттуда бессмысленно, так как ютуб и так нормально сжимает. Вместо 10 минутной конвертации вебмов на моём уёбищном ноуте, можно быстро нарезать через c copy и кайфовать.
Я нуб в видеомонтаже, использую Сони Вегас 13. У меня пердак горит от того, что сорс видео с телефона имеет переменный фреймрейт и при закидывании в таймлайн Вегаса получаю по ебалу рассинхрон звука/видео. После рендеринга, соответственно, тоже.
Когда закидываю видео на таймлайн, "магическое подстраивание проекта под параметры сорца" почти никогда не работает.
Пожалуйста, подскажите, что настраивать.
Проще сменить телефон или приложение съёмки. Заебёшься ты с этим переменным фреймрейтом.
Можешь это, перед тем как отчаиваться, попробовать премьер вместо вегаса, может он справится.
как подобный скрипт запустить в линуксе, ругается на скобки?
Да, я понял, что нужно добиваться статического фреймрейта исходника. Пока решил проблему конвертируя исходный файл сторонним конвертером. На выходе получаю стат. фреймрейт, который нормально уже в Сони кормится. Спасибо.
Пикрилейтед. Загуглив свою проблему, попал на совет конвертить этим, на торренте украл. Я плохой
Бывает еле заметный обрывок, вон в первом видео в посте он самый заметный в моей практике. Но тут проблема скорее в разнице битрейтов видео/аудио. Я ебанул случайные црф23/128кб вместо поиска точных. Да и какая наъуй разница, если ты же не заметил.
Туториал для себя же в будущем:
1) прописываешь нужный тебе промежуток в видео. Например: 01:12:45.7 - 02:24:10.3 в 4х-часовом видео и откладываешь его на потом
2) берешь следующий кейфрейм после начального момента в точностью в милисекунды (01:12:48.835), можно через MPC-HC, прописав в настройках клавиш перемотку по кейфрейму и поменяв таймер на таймлайне на пресайз (ПКМ на таймере времени)
3) обрезаешь через -сикопи, взяв, желателно секунду после кейфрейма, так как в зависимости от кодека может обосраться. А конец можно выбрать любой длительности, так как сикопи не определяет конец по кейфреймам. Не забудь убрать эту секунду в -t, когда будешь считать через калькулятор.
ffmpeg -ss 01:12:49.835 -i input -t 01:11:20.765 -c copy -avoid_negative_ts make_zero ccopy.контейнер
негативТС делает точную обрезку с предыдущего кейфрейма без лагов аудио. В итоге у тебя есть видео с началом с кейфрейма 48.835, а не 89.835 как ты прописал изза авойд негатив говна
4) кодируешь эти несколько секунд до кейфрейма, желательно узнав точный битрейт в ffprobe, ну или на похуй црфы ебашишь. Главное, это тот же кодек, как в оригинале:
ffmpeg -ss 01:12:45.7 -i input -t 00:00:03.135 -c:v нужный кодек -b:v 0 (если vp9) -crf 23 -tune film -c:a кодек -b:a 128k -preset veryfast first.контейнер
5) дальше сливаешь через конкат:
- делаешь txt файл, прописываешь в нем:
file ccopy.mp4
file first.mp4
- дальше: ffmpeg -f concat -i 1.txt -c copy zhopa.mp4
5.1) с h264 может случиться жопа при конкате, так что тут надо альтернативный способ:
ffmpeg -i first.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
ffmpeg -i ccopy.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4
Бывает еле заметный обрывок, вон в первом видео в посте он самый заметный в моей практике. Но тут проблема скорее в разнице битрейтов видео/аудио. Я ебанул случайные црф23/128кб вместо поиска точных. Да и какая наъуй разница, если ты же не заметил.
Туториал для себя же в будущем:
1) прописываешь нужный тебе промежуток в видео. Например: 01:12:45.7 - 02:24:10.3 в 4х-часовом видео и откладываешь его на потом
2) берешь следующий кейфрейм после начального момента в точностью в милисекунды (01:12:48.835), можно через MPC-HC, прописав в настройках клавиш перемотку по кейфрейму и поменяв таймер на таймлайне на пресайз (ПКМ на таймере времени)
3) обрезаешь через -сикопи, взяв, желателно секунду после кейфрейма, так как в зависимости от кодека может обосраться. А конец можно выбрать любой длительности, так как сикопи не определяет конец по кейфреймам. Не забудь убрать эту секунду в -t, когда будешь считать через калькулятор.
ffmpeg -ss 01:12:49.835 -i input -t 01:11:20.765 -c copy -avoid_negative_ts make_zero ccopy.контейнер
негативТС делает точную обрезку с предыдущего кейфрейма без лагов аудио. В итоге у тебя есть видео с началом с кейфрейма 48.835, а не 89.835 как ты прописал изза авойд негатив говна
4) кодируешь эти несколько секунд до кейфрейма, желательно узнав точный битрейт в ffprobe, ну или на похуй црфы ебашишь. Главное, это тот же кодек, как в оригинале:
ffmpeg -ss 01:12:45.7 -i input -t 00:00:03.135 -c:v нужный кодек -b:v 0 (если vp9) -crf 23 -tune film -c:a кодек -b:a 128k -preset veryfast first.контейнер
5) дальше сливаешь через конкат:
- делаешь txt файл, прописываешь в нем:
file ccopy.mp4
file first.mp4
- дальше: ffmpeg -f concat -i 1.txt -c copy zhopa.mp4
5.1) с h264 может случиться жопа при конкате, так что тут надо альтернативный способ:
ffmpeg -i first.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
ffmpeg -i ccopy.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4
Что не понятного? Дан, допустим, wav в стерео. Надо из значений громкости семплов левого канала вычесть значения громкости семплов правого канала и вывести полученный моно-звук.
> Надо из значений громкости семплов левого канала вычесть значения громкости семплов правого канала
) не хватает слова "просто"
Ну, противофазу гугли, что тут скажешь.
Audacity какой-нибудь в помощь.
На йух шел
Можно через кастомное микшироавние каналов напердолить: https://trac.ffmpeg.org/wiki/AudioChannelManipulation
Но вообще это обработка сигналов, а не сжатие, тут рулит SoX.
960x540, 3:18
-af pan="stereo|c0=c0-c1|c1=c1-c0"
ХХХХХХХХХХХХХХХХХХХХХХХМММММММММММММММММММММММММММММММММММ
>>772760
>>773028
>>773036
Что за хуйню вы несете? якобы статичная картинка меняется
Вам следует ознакомится с теорией о видеокодировании. А конкретно о типах кадров, и то как они объединяются в группы.
I - frame, ключевой кадр: грубо говоря это прокачанный JPEG. Кадры этого типа не зависят ни от предыдущего, ни от следующего кадра. Наиболее качественный и занимает больше всего места в битовом потоке кодировщика.
P - frame, разница от предыдущего кадра. Для уменьшения размера кадра применяется компенсация движения. Такие кадры занимают заметно меньше места чем ключевые кадры.
B - frame, двунаправленное предсказание. Кодирует разность более сложным образом, ссылаясь на предыдущие и последующие кадры. Кадры этого типа занимают ещё меньше места в битовом потоке, и наименее качественные.
Таким образом у нас есть 2 варианта: кодировать всё ключевыми кадрами или объединять кадры в группы.
А теперь касаемо покадровой навигации. Поскольку ключевые кадры не зависят от других кадров, их декодировать быстрее всего. Но большое количество ключевых кадров снижает эффективность сжатия, особенно на статичной картинке
Группа кадров начинается всегда с ключевого кадра. Размерность группы кадров это количество P и B кадров между данным ключевым кадром и до следующего I кадра, включая ключевой кадр, с которого группа начинается.
Группа кадров может выглядеть так: IPPPPPPPPPPPP
или так: IBPBPBPBPBPBPBPBP
или даже так: IBBPBBPBBPBBPBBPBBPBBPBBP.
B - кадров между кадрами других типов может быть даже больше, чем 2.
Максимальный размер группы кадров фиксированный. По умолчанию в x265, к примеру, он равен константе 250.
Посчитать, сколько времени занимает группа, несложно. Достаточно поделить размер группы на количество кадров в секунду.
Так, при 25 fps группа кадров занимает 10 секунд, при 50 fps - 5 секунд, при 12 fps примерно 20 секунд, а при 1 fps - 250 секунд,
то есть 4 минуты и 10 секунд.
Если нужно увеличить частоту ключевых кадров, нужно уменьшить размер группы. В ffmpeg максимальный размер группы можно изменить ключом -g
>>772760
>>773028
>>773036
Что за хуйню вы несете? якобы статичная картинка меняется
Вам следует ознакомится с теорией о видеокодировании. А конкретно о типах кадров, и то как они объединяются в группы.
I - frame, ключевой кадр: грубо говоря это прокачанный JPEG. Кадры этого типа не зависят ни от предыдущего, ни от следующего кадра. Наиболее качественный и занимает больше всего места в битовом потоке кодировщика.
P - frame, разница от предыдущего кадра. Для уменьшения размера кадра применяется компенсация движения. Такие кадры занимают заметно меньше места чем ключевые кадры.
B - frame, двунаправленное предсказание. Кодирует разность более сложным образом, ссылаясь на предыдущие и последующие кадры. Кадры этого типа занимают ещё меньше места в битовом потоке, и наименее качественные.
Таким образом у нас есть 2 варианта: кодировать всё ключевыми кадрами или объединять кадры в группы.
А теперь касаемо покадровой навигации. Поскольку ключевые кадры не зависят от других кадров, их декодировать быстрее всего. Но большое количество ключевых кадров снижает эффективность сжатия, особенно на статичной картинке
Группа кадров начинается всегда с ключевого кадра. Размерность группы кадров это количество P и B кадров между данным ключевым кадром и до следующего I кадра, включая ключевой кадр, с которого группа начинается.
Группа кадров может выглядеть так: IPPPPPPPPPPPP
или так: IBPBPBPBPBPBPBPBP
или даже так: IBBPBBPBBPBBPBBPBBPBBPBBP.
B - кадров между кадрами других типов может быть даже больше, чем 2.
Максимальный размер группы кадров фиксированный. По умолчанию в x265, к примеру, он равен константе 250.
Посчитать, сколько времени занимает группа, несложно. Достаточно поделить размер группы на количество кадров в секунду.
Так, при 25 fps группа кадров занимает 10 секунд, при 50 fps - 5 секунд, при 12 fps примерно 20 секунд, а при 1 fps - 250 секунд,
то есть 4 минуты и 10 секунд.
Если нужно увеличить частоту ключевых кадров, нужно уменьшить размер группы. В ffmpeg максимальный размер группы можно изменить ключом -g
Ты ведь говоришь о "кейфреймах"? Пытался загуглить, получил кучу статей про анимацию в видеоредакторах, которые определяют параметры эффектов.
Если эти кейфреймы по дефолту фиксированные в х264, а на видосах ютуба к примеру они иногда скачут по 5 секунд, а на некоторых по 1 секунде, то это значит, что моменты по 1 секунде весят больше всего и имеют лучшее качество?
> это значит, что моменты по 1 секунде весят больше всего и имеют лучшее качество
Ничего это не значит, кроме того что там кейфрейм каждую секунду.
Вес — это битрейт. Поставишь больше кейфреймов, не меняя битрейт — они потеряют в качестве, чтобы влезть в него. Все соснули, никто не победил, гроб, гроб, кладбище.
ииии?
Есть ли что-то более современное? Тот же конвертер для ретардов был ничего
HandBrake
>Есть ли что-то более современное, чем ffmpeg?
>Тот же GUI для ffmpeg был ничего
ох уж эти виндузятники
Ключевые кадры расставляет кодировщик, исходя из самого видео и настроек кодировщика.
Когда сцена меняется (то есть следующий кадр не похож на предыдущий), то кодировщик может сделать кадр ключевым, если до этого было не менее n неключевых кадров (зависит от настроек кодека).
Ключ -g задает максимальный размер GOP.
x264 как раз умеет расставлять ключевые кадры. и фиксированный размер там для максимального размера группы кадров
--keyint <integer> (x264)
-g <integer> (FFmpeg)
Keyframe interval, also known as GOP length. This determines the maximum distance between I-frames. Very high GOP lengths will result in slightly more efficient compression, but will make seeking in the video somewhat more difficult. Recommended default: 250
>>802237
Вообще-то я сравнивал разные типы кадров, и сказал, что ключевым кадрам занимают больше места в битовом потоке кодека.
Может ты не замечал, но это не значит что качество ключевых кадров не отличаются. Во первых, если бы ты видел лог x264 или x265, ты бы увидел что ключевые кадры сжимаются с наименьшим квантователем, а B фреймы с наибольшим. Во вторых: среди пережатков ютуба мне попадалось видео, где в каждый кадр меняется и сцена представляла собой перетекание градиентов. Так вот там можно было невооруженным глазом увидеть когда наступил ключевой кадр, вот аж настолько они отличались.
Да, если занижать битрейт или уменьшить размер GOP то качество у всего видео упадет из-за нехватки битрейта. Но есть и другие режимы кодирования, где ты задаешь не битрейт а квантователь
ffmpeg -i image.png -i audio.opus -c:v libx264 -tune stillimage -c:a copy out.mkv
Потом с помощью mkvtoolnix добавляю чаптеры и всё разваливается. Плеер уже показывает черный экран, и на одном из чаптеров находит картинку. Плееры разные пробовал.
Что я делаю не так?
Ты гля какие мы агрессивные. Уже и мордочкой в твое же говно потыкать нельзя.
>-i image.png
>>804336
Нет, тюн он правильно прописал.
Чего он не сделал, это не прописал -stream_loop -1, а также -r и -t перед -i image.png
Ещё можно прописать pixel format
[code]ffmpeg -stream_loop -1 -r 30 -t 1:23 -i image.png -i audio.opus -pix_fmt yuv420p -c:v libx264 -crf 18 -tune stillimage -c:a copy out.mkv[/code]
а зачем он таки нужен? mpeg2 хватает для всего
Качаешь и юзаешь.
Хоть и действительно непонятно нахуя.
264 всё ещё быстрее, жмёт также и поддерживается гораздо лучше.
VP9 только для унижения яблоблядей подходит.
Вот и я говорю, хватит уже им бухтеть и дестабилизировать айти своим пложением сущностей.
Есть инфа от знающего человека, что на рынке кодеков скоро ожидаются реальные изменения.
От нас требуется сидеть тихо. После того, как все сделают, все будет у нас хорошо. Всем устроят сжатие, как с эспандерами - каждый будет кодировать что угодно. Главное сейчас жать тихо в h264 и не суетиться. Никаких vp8, никаких vp9. Просто переждать и всё будет хорошо, там все схвачено.
Просто надо перетерпеть смуту и все наладится. Не надо пытаться в эти бесполезные 265, сделанные для вещания порномультиков в 4к нипонцам. Не форсить этот AV1, работающий так, будто электричество бесконечное. Отсиди свой срок в интернете или просто расслабся, отдохни, накати пивка, бабу выеби в конце концов.
Жмите себе в плацебо с пятнадцатью проходами, если компьютер занять нечем, сейчас такой момент, нужно переждать!
Просто завяжите узелком свои хотелки, не время бежать с корабля. Поверьте, там все знают лучше вас, там люди, делающие кодеки уже давно, а не вчерашние школьники. Они понимают, что делают.
Выше в треде я видел команду, но она пиздец слоупочна и делает видео слишком жирным. Когда-то давно мудрый анон давал мне пару команд для ffmpeg, которые трагически проебал. Суть была в том, что первая команда вроде готовила видео из картинки и писала результат хуй-пойми-куда - типа в какой-то временный буфер. А вторая команда брала трек и приклеивала к этому видео из буфера. И эта шляпа как-то охуенно работала.
А вот не знаю. Чем меньше GOP, тем больше размер. Чем больше GOP, тем меньше ключевых кадров, тем меньше позиций для перемотки.
FPS ставь столько, сколько надо
для нормального воспроизведения твоим плеером. Если не знаешь - начни с 1fps, а там посмотришь.
Размер GOP подбирай исходя из того сколько позиций для перемотки тебе надо.
Если тебе надо что-бы каждую секунду был ключевой кадр, то поставь 30fps, или 25, что-бы были промежуточные кадры, или кодируй в intra profile.
Для ffmpeg не нужно буферизировать видеовывод. У него свой буфер есть. Я тут расписал команду которая делает то же самое одной командой:
ffmpeg -stream_loop -1 -r ?твой fps? -t ?длительность аудиодорожки? -i ?твоя картинка? -i ?твоя аудиодорожка? -map 0 -map 1 -vcodec -libvpx[-vp9] [-g ?твой размер GOP?] -b:v ?твой битрейт, 0 для режима постоянного качества? [-crf ?твой квантователь?] [-s ?новое разрешение картинки?] [-deadline ?good, best или realtime? [-speed ?от 0 до 4 для good или best, от 5 до 9 для realtime?]] [-row-mt 1 -tile-columns ?степень двойки количества квадратных кусков на которые будет поделён кадр. От их количества зависит число потоков кодирования?] -acodec opus -b:a ?твой аудиобитрейт? ?имя видеофайла?.webm
То что между квадратных скобочек вводить необязательно.
То что между знаками вопроса заполняешь ты сам. А ты как думал, что я вместо тебя буду подбирать оптимальные параметры, да ещё и адаптированные под твоё железо?
И да, если кодируешь в vp9, приготовься много ждать. Всё что ты можешь сделать это подобрать параметры под себя что-бы немного ускорить кодирование.
Суть той команды скорее всего была в двухпроходном режиме кодирования. Но для статичной картинки это бессмысленно.
И ещё, я забыл про pixel format. Переписываем
ffmpeg -stream_loop -1 -r ?твой fps? -t ?длительность аудиодорожки? -i ?твоя картинка? -i ?твоя аудиодорожка? -map 0 -map 1 -vcodec -libvpx[-vp9] [-g ?твой размер GOP?] -b:v ?твой битрейт, 0 для режима постоянного качества? [-crf ?твой квантователь?] [-s ?новое разрешение картинки?] [-deadline ?good, best или realtime? [-speed ?от 0 до 4 для good или best, от 5 до 9 для realtime?]] [-row-mt 1 -tile-columns ?степень двойки количества квадратных кусков на которые будет поделён кадр. От их количества зависит число потоков кодирования?] -profile 0 -pix_fmt yuv420p -acodec opus -b:a ?твой аудиобитрейт? ?имя видеофайла?.webm
Рекомендации по подбору параметров для кодирования видео:
https://developers.google.com/media/vp9/settings/vod
ffmpeg -stream_loop -1 -i picture.jpg -i audio.mp3 -map 0:v -map 1:a -c:v libvpx-vp9 -row-mt 1 -b:v 0 -crf 30 -threads 16 -vf "scale=-2:'min(500,ih)'" -pix_fmt yuv420p -c:a libopus -b:a 128k out.webm
Есть аудио дорожка, хочу сначала тише потом громче.
ffmpeg -i videoplayback -ss 15 -t 46 -i op.mp3 -itsoffset 5 -ss 46 -t 10 -i op.mp3 -filter_complex "[1:a]volume=0.2,[2:a][0:a]amix=inputs=3:duration=longest[a]" -map 0:v -map "[a]" -c:v copy -c:a libvorbis -ac 2 ouutpu.mp4
случайно полностью запостил
ffmpeg -ss 15 -t 46 -i op.mp3 -itsoffset 46 -ss 46 -t 10 -i op.mp3 -filter_complex "[0:a]volume=0.2,[1:a]amix=inputs=2:duration=longest[a]" -map 0:v -map "[a]" -c:v copy -c:a libvorbis -ac 2 ouutpu.mp3
Вот чисто с аудио
Это копия, сохраненная 5 августа 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.