LINUX.ORG.RU

cingg создание прокси-файла внешней командой ффмпег

 


1

2

Goat

https://lists.cinelerra-gg.org/pipermail/cin/2019-May/000671.html

Вот тут 3 года назад создали скрипт для создания прокси-файлов внешней ffmpeg командой, и чуть позже в shellCmds добавили возможность передать путь к файлу (файлам) выделенному в Ресурсах в скрипт.

★★★★★
Ответ на: комментарий от einhander

Тут еще стоит заметить что в ffmpeg git приехали патчи, позволяющие использовать андройдовский mediacodec внутри termux'a!

Т.е. можно сделать так

./ffmpeg -c:v vp9_mediacodec -i ~/AMV\ -\ Ghost\ in\ the\ Shell\ \(1995\)\ -\ "Inner\ Universe"\ \[Bd2LThO0PcQ].webm -c:v hevc_mediacodec -b:v 1M -c:a copy  -pix_fmt nv12  test7.mp4

и оно даже не будет сильно тормозить (фпс так 86). Но да, если декодировать софтово, и использовать только аппаратный энкодер в hevc то будет быстрее за счёт более полного поедания проца :-)

Фильтры и ресайз работают, но ессено качать данные туда-сюда накладно

Andrew-R ★★★★★
() автор топика
Ответ на: комментарий от Andrew-R

но ессено качать данные туда-сюда накладно

Вроде бы как можно использовать nfs чтобы не хранить данные на устройстве, не проверял. А так интересно знать сколько может выдать fps телефон если его использовать как перекодировщик.

Интересно,а всякие orange pi и другие одноплатники сколько могут выдать fps, у них же есть аппаратный энкодер 🧐.

einhander ★★★★★
()
Ответ на: комментарий от einhander

Raspberry Pi OS armhf @ Raspberry Pi 3 Model B:

ls *mp4
'Тёмная ночь-PGe9ruRxTkQ.mp4'
 ffmpeg -threads 8 -i *mp4 -vcodec h264_v4l2m2m -vf format=nv12 -preset fast -acodec copy -bf 0 -profile:v 66 .local/out.mp4
[h264_v4l2m2m @ 0x187b870]  <<< v4l2_encode_init: fmt=23/-1
[h264_v4l2m2m @ 0x187b870] Using device /dev/video11
[h264_v4l2m2m @ 0x187b870] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x187b870] requesting formats: output=NV12 capture=H264
[h264_v4l2m2m @ 0x187b870] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x187b870] Failed to set gop size: Invalid argument

20fps:

frame= 5767 fps= 20 q=-0.0 Lsize=   23803kB time=00:03:50.66 bitrate= 845.4kbits/s speed=0.811x 
Goat ★★
()
Ответ на: комментарий от Goat

Артефактов без шуток куча. Напоминает какой-то смазанный пазл вместо видеоролика

Goat ★★
()
Ответ на: комментарий от einhander

Вот чёрт! Аппаратный энкодер выставил мизерный битрейт.

Выставил битрейт вручную как в оригинале, убрал nv12 (чтобы картинка не была на половину зеленой):

ffmpeg -threads 8 -i *mp4 -vcodec h264_v4l2m2m -b:v 3210k -acodec copy .local/out.mp4

19fps и идеальная картинка на выходе. Это уже интересно…

frame= 5767 fps= 19 q=-0.0 Lsize=   76834kB time=00:03:50.66 bitrate=2728.7kbits/s speed=0.753x 

Учитывая что Raspberry Pi 3 до сих пор пррекрасно поддерживается вендором, наверное, имеет смысл запилить поддержку малинового аппратного энкодинга и декодинга прямиком в Cin-GG.

Goat ★★
()
Ответ на: комментарий от Goat

ну теоретически энкодинг должен «просто работать» если написать для него профиль, взяв за основу например h264_vaapi.mp4 и поменяв там vaapi на h264_v4l2m2m и добавив битрейт.

Andrew-R ★★★★★
() автор топика
15 июля 2023 г.
Ответ на: комментарий от Andrew-R

Переехал на нетбуке с Artix linux на Debian 12 и столкнулся с небольшой проблемой:

В Debian 12 не находятся пакеты из blds/bld_prepare debian: libdc1394-22-dev, python.

Заменил на ближайшие аналоги: libdc1394-dev и python3, а так же на всякий случай добавил в список пакет libxml-parser-perl. Пошла установка пакетов.

В случае успешной сборки Cinelerra-GG в Debian 12 с этими правками, отпишусь.

Goat ★★
()
Ответ на: комментарий от Goat

В Debian 12 не собралось, но зато в Arch linux Сinelerra-GG подхватила VA-API с процессора AMD-C60. Теперь можно хоть на ходу красить видео 720p в режиме реального времени.

Goat ★★
()
Последнее исправление: Goat (всего исправлений: 1)
Ответ на: комментарий от Goat

Надо будет в мэйл лист написать, я давно не занимался сборкой синелерры.

einhander ★★★★★
()
Ответ на: комментарий от Andrew-R

К сожалению, я уже съехал на арч и логи утерялись. Срочно нужна была Cinelerra-GG.

Как я помню, там сыпаться начинало с LV2, я его отключил через configure и пошло дальше что-то отваливаться.

Возможно на Raspberry Pi 3 поставлю Debian 12 для повторных попыток. На нетбуке уже арч и точка.

Goat ★★
()
Ответ на: комментарий от Goat

В Debian 11 проблем с компиляцией нет если что

Goat ★★
()
14 апреля 2024 г.
Ответ на: комментарий от Andrew-R

Прошу добавить зависимость libxml-parser-perl в пункт debian из blds/bld_prepare.sh. Без него Cinelerra-GG в Debian bookworm не собирается.

Goat ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.