22 октября 2017 г.

Компиляция Cinelerra-HV 7

13.10.2017 выпущен релиз Cinelerra-HV 7  (оригинальной Cinelerra от Adam Williams).



Optimized playback of large format video. 
H.265 decoding. 
Optimized screen capturing. 
Spherical camera blending. 
Eyedropper can show the maximum value. 
Interpolating CR2 images always white balances. 
Tracks->Concatenate tracks 
Adam Williams демонстрирует  новшества релиза в этом видео.

Среди незадекларированных новшеств Cinelerra-HV 7:

Textboxes have a "right mouse click" popup that gives you the choice to "cut, copy, paste".

Max color for the eyedropper when checked sets the color to the max value within the chosen area.
Deglitch for audio was added.
Asynchronous disappeared in layout.
MotionHV uses cache now.
Reverb majorly changed.
Interpolate Pixels changed and is now called Interpolate Bayer.
Timestretch  changed but not sure what was not tested.
The clock has changed from segmented numbers to real numbers.

Recording has some good improvements.  There is a boundary box to use to position around the area you wish to use in the screencapture, you can turn "video monitor on", and you can include monitoring the cursor as regular or large sized.

Default factory presets have been added for Compressor, Lens, Spectrogram, Downsample, Scale, MotionHV, , Reverb, Interpolate Video, Chroma key (HSV), Histogram, EQ parametric, ReframeRT, and Sphere Cam.
X11 driver speed-up for large format files was added.  It uses a different, direct methodology.  X11 is now the default driver AND there is a checkbox to ensure that you do or do not want to "use direct X11 render if possible".

Описание нововведений HV 7 представлено разработчиками Cinelerra-GG 5.1
Все изменения в  HV 7 уже портированы в git Cinelerra-GG 5.1  
Пакеты CinGG будут обновлены в конце октября 2017.
https://cinelerra-cv.org/five/pkgs/
https://cinelerra-cv.org/five/tars/  (static)
--------------------

Для компиляции Cinelerra-HV 7 на 32-bit Ubuntu потребовался ряд манипуляций (было бы просто удивительно, если бы он не потребовался..).

Прежде всего следует сказать, что использование 'make -jN' приводит к большому количеству ошибок. Потому -    'make'

В файле /cinelerra-7/build/Makefile.cinelerra   в строках
cp libmpeg3/x86_64/mpeg3dump libmpeg3/x86_64/mpeg3peek libmpeg3/x86_64/mpeg3toc  libmpeg3/x86_64/mpeg3cat bin

cp quicktime/x86_64/make_streamable bin

 x86_64 заменяем соответственно вашей системе. В моём случае это i686

В противном случае возникнут ошибки:


cp: cannot stat «libmpeg3/x86_64/mpeg3dump»: No such file or directory
cp: cannot stat «libmpeg3/x86_64/mpeg3peek»: No such file or directory
cp: cannot stat «libmpeg3/x86_64/mpeg3toc»: No such file or directory
cp: cannot stat «libmpeg3/x86_64/mpeg3cat»: No such file or directory
make[1]: *** [install] Error 1 


--------------------

В файле /cinelerra-7/cinelerra/quicktime/Makefile   добавляем '&&'
в 292 строку 'ar x ../../../$(FFMPEG_DIR)/libavutil/libavutil.a \'
и приводим её к виду 


в противном случае возникнет ошибка:

        ar x ../../../thirdparty/ffmpeg-3.3.3/libavutil/libavutil.a \
        cd ../avutil && \
        ar x ../../../thirdparty/ffmpeg-3.
3.3/libswresample/libswresample.a
no entry cd in archive
no entry ../avutil in archive
make[2]: Leaving directory `/home/user/cinelerra-7/
quicktime'
 --------------------------------
 В файле  /cinelerra-7/cinelerra/Makefile  
 добавил  -lvdpau -lva-x11 -lva


--------------------------------------------------

 В файле /cinelerra-7/quicktime/Makefile  в строку
LIBS := $(OUTPUT) $(MPEG3_DIR)/$(OBJDIR)/libmpeg3.a -lpng -lz -lpthread -ldl -lm -llzma -lrt
добавил     -lX11 -lvdpau -lva-x11 -lva  

 
в противном случае возникнут ошибки:

make[2]: Entering directory `/home/user/cinelerra-7/quicktime'
find thirdparty/ffmpeg-3.3.3/libavcodec/ -name *.o >> i686/objs
gcc -o i686/qtinfo i686/qtinfo.o i686/libquicktime.a ../libmpeg3/i686/libmpeg3.a -lpng -lz -lpthread -ldl -lm -llzma -lrt
gcc: i686/libquicktime.a: No such file or directory
make[2]: *** [i686/qtinfo] Error 1
make[2]: *** Waiting for unfinished jobs...
find thirdparty/ffmpeg-3.3.3/libavformat/ -name *.o >> i686/objs
find thirdparty/ffmpeg-3.3.3/libavutil/ -name *.o >> i686/objs
find thirdparty/ffmpeg-3.3.3/libswresample/ -name *.o >> i686/objs
ar rcs i686/libquicktime.a `cat i686/objs`
make[2]: Leaving directory `/home/user/cinelerra-7/quicktime'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/user/cinelerra-7'
make: *** [all] Error 2
cinelerra-7$  


make[2]: Entering directory `/home/user/cinelerra-7/quicktime'
gcc -o i686/qtdump i686/dump.o i686/libquicktime.a ../libmpeg3/i686/libmpeg3.a -lpng -lz -lpthread -ldl -lm -llzma -lrt
i686/libquicktime.a(hwcontext_vdpau.o): In function `vdpau_device_create':
/home/user/cinelerra-7/quicktime/thirdparty/ffmpeg-3.3.3/libavutil/hwcontext_vdpau.c:431: undefined reference to `XOpenDisplay'
/home/user/cinelerra-7/quicktime/thirdparty/ffmpeg-3.3.3/libavutil/hwcontext_vdpau.c:437: undefined reference to `XDisplayString'
/home/user/cinelerra-7/quicktime/thirdparty/ffmpeg-3.3.3/libavutil/hwcontext_vdpau.c:439: undefined reference to `XDefaultScreen'
/home/user/cinelerra-7/quicktime/thirdparty/ffmpeg-3.3.3/libavutil/hwcontext_vdpau.c:439: undefined reference to `vdp_device_create_x11'
/home/user/cinelerra-7/quicktime/thirdparty/ffmpeg-3.3.3/libavutil/hwcontext_vdpau.c:433: undefined reference to `XDisplayName'
i686/libquicktime.a(hwcontext_vdpau.o): In function `vdpau_device_free':
/home/user/cinelerra-7/quicktime/thirdparty/ffmpeg-3.3.3/libavutil/hwcontext_vdpau.c:410: undefined reference to `XCloseDisplay'
collect2: ld returned 1 exit status
make[2]: *** [i686/qtdump] Error 1

/home/user/cinelerra-4.6.1/quicktime/thirdparty/ffmpeg-0.6.1/libavcodec/vaapi.c:57: undefined reference to `vaUnmapBuffer'
../quicktime/i686/libquicktime.a(vaapi.o): In function `commit_slices':
/home/user/cinelerra-4.6.1/quicktime/thirdparty/ffmpeg-0.6.1/libavcodec/vaapi.c:97: undefined reference to `vaCreateBuffer'
/home/user/cinelerra-4.6.1/quicktime/thirdparty/ffmpeg-0.6.1/libavcodec/vaapi.c:106: undefined reference to `vaCreateBuffer'
collect2: ld returned 1 exit status
make[2]: *** [../bin/cinelerra] Error 1


-----------

Если при компиляции возникает ошибка 

 from bits.c:28:
/usr/include/bits/mathcalls.h:326: error: conflicting types for 'lrintf'
common.h:313: note: previous definition of 'lrintf' was here


то исправить ее можно так,  как я описывал ранее здесь  
---------------

Для компиляции Cinelerra-HV 7 на Slackware 14.2 можно использовать патчи отсюда. Там же находится  cinelerra-hv.SlackBuild
Готовый пакет, не требующий установки в систему, можно скачать с http://www.heroinewarrior.com/cinelerra.php 

22 апреля 2017 г.

Piranha

Piranha IFX is the high-end editing, grading and finishing system (Linux64, Windows / OS X). 





Piranha Cinema HD is a high bit depth Editing, Compositing, Color Correction, Paint and Effects system for Film and Video.
Supports 10bit Cineon/Dpx, DM2, DM3, DM6 video cards, CXFS, XFS. or ADIC Stornext filesystem ready.

Piranha relies entirely on the fast computation by Nvidia GPU and is therefore very suitable from a graphics card dependent. It now supports also 4K and 8K, as well as stereo 3D and offers a CinemaDNG pipeline (GPU accelerated playback and editing of material with high bit depth), an HDRI color and effect pipeline, live video output via HDMI / HDSDI and native support others for Canon, BlackMagic GoPro / Cineform, Silicon Imaging and RED.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

http://ifxsoftware.com
http://ifxsoftware.com/docs/piranha 8/

http://web.archive.org/docs/piranha 7 (old site/старый сайт)
http://web.archive.org/ifxsoftware (old site/старый сайт) 
http://web.archive.org/старый_сайт (info/инфо) 
http://web.archive.org/piranha/features (old site/старый сайт)
http://ifxsoftware.com/cimg/Cinema_web.pdf (detailed description/подробное описание)
http://www.reduser.net/forum/News-from-IFX (beta tester Kyle Mallory)

https://en.wikipedia.org/wiki/Piranha (compositing software)
https://irishjesus.wordpress.com/2009/02/16/colour-red-piranha/ (beta tester Kyle Mallory)
http://www.softpedia.com/Piranha-Interactive-Effects

https://vimeo.com/IFX_Piranha_Screen_Recording_Test
https://www.youtube.com/Piranha_8_Intro (beta tester Kyle Mallory)
https://www.youtube.com/tutorial_to_IFX's_Piranha_7
https://www.youtube.com/rotoflow_in_piranha

Помимо платной, есть бесплатная версия с некоторыми ограничениями в функционале:
http://web.archive.org/(pkgs_P.7/Пакеты_Piranha_7)
http://ifxsoftware.com/misc/(Archive/Архив_Piranha_8)

Лучше выбрать piranha_linux_8.1.3.tgz или piranha_install_win_8.0.0-3.3.21.exe, поскольку непрямые установщики piranha_linux_8.0.0-10_installer.tgz и piranha_8.0.0-10_installer.exe, скачивающие пакет с офиц. сайта, толком не работают.

Помимо Linux-версии программы, в Linux может работать и Windows версия (под Wine). 
Цитата из переписки (2014 г.):
" ..The Linux version is 64bit. .. We used to support 32bit but stopped about 2 years ago. You could try the Windows version with Wine, the windows version is 32bit."

Нижеприведённые скриншоты взяты из интернета:














Скриншоты в полном размере:




17 января 2017 г.

Таймкод в Cinelerra

Встретил вопрос от пользователя, желавшего видеть в видео таймкод.
Пользователь хотел, чтобы таймкод появлялся со 2 по 4 минуту включительно, и не просто появлялся, а чтобы таймкод отображался с этой 2 по 4 минуту так, как будто он отсчитывается от 0. То есть начинался со 2 минуты как с 0.

Поскольку отсчёт таймкода в Cinelerra всегда ведётся от начала дорожки, то 0 показывается, только если участок с эффектом находится в начале дорожки... А в рассматриваемой задаче целевой участок находился в середине видео с очень динамичным содержимым (спортивные соревнования).


В скринкасте (version 1) сначала уточняется участок видео, в границах которого должен отображаться таймкод; затем к участку применяется  эффект "Титры", включается отображение таймкода; после удаляется участок дорожки перед выбранным участком и последний смещается в начало дорожки. В результате мы получаем отображение таймкода с 0. Участок рендерится в файл .png (c альфа-каналом), полученный файл с "вшитым" таймкодом снова загружается на дорожку и смещается в исходное местоположение.

Для просмотра либо перейдите в полноэкранный режим, либо перейдите на Vimeo и выберите HD - качество. Картинка будет намного лучше.





В version 2 показан более рациональный способ.

 Сначала уточняется участок видео, в границах которого должен отображаться таймкод: с 7 по 18 сек.; затем к этому участку применяется  эффект "Титры", включается отображение таймкода; после удаляется участок дорожки перед выбранным участком и последний смещается в начало дорожки. В результате мы получаем отображение таймкода с 0. 
Но, в отличие от первого варианта, мы не проводим рендеринг таймкода в .png, a просто смещаем верхнюю дорожку относительно нижней на величину удаленного участка, введя соответствующее значение в поле на панели управления дорожкой.


12 января 2017 г.

Cinelerra и параметр Fade In/Out в эффекте `Титры`.

Сделал маленький скринкастик в помощь итальянскому пользователю Cinelerra (подписчик рассылки Cinelerra-CV). В ролике показано действие параметра Fade In/Out в эффекте `Титры`.
Для просмотра либо перейдите в полноэкранный режим, либо перейдите на Vimeo и выберите HD - качество. Картинка будет намного лучше.

7 января 2017 г.

Cinelerra-HV 6 и окно `New`

В Cinelerra-HV 6 после выбора `File` -> `New`,  окно `New` с настройками не открывается, а новый пустой проект создаётся автоматически согласно настройкам в  Settings -> Format...  Текущий проект удаляется с монтажного стола. Если пользователь хочет создать новый проект с другими настройками, он должен перейти в Settings -> Format...
Главная идея этих изменений - стремление сэкономить время пользователя. Однако при этом пользователь теряет возможность задавать в настройках проекта количество треков
(пользователь может создавать новые треки в главном окне).

Для того, чтобы вернуть прежнее поведение, достаточно изменить 74-ю строку в файле  cinelerra6/cinelerra/new.C

О компиляции и установке Cinelerra-HV 6 можно прочитать в этом блоге здесь








5 января 2017 г.

Компиляция Cinelerra-GG 5.1

При компиляции Cinelerra-GG 5.1 может возникнуть ошибка
...
...
g++ -o i686/bdwrite i686/bdwrite.oobjcopy --only-keep-debug i686/bdwrite i686/bdwrite.debuginfo
strip i686/bdwrite
g++ -o /home/user/Downloads/GG/cinelerra5/cinelerra-5.1/cinelerra/../bin/cin `cat i686/objs`

/home/user/Downloads/GG/cinelerra5/cinelerra-5.1/cinelerra/../thirdparty/ffmpeg-3.1.1/libavutil/libavutil.a(hwcontext_vdpau.o): In function `vdpau_device_create':
/home/user/Downloads/GG/cinelerra5/
cinelerra-5.1/thirdparty/ffmpeg-3.1.1/libavutil/hwcontext_vdpau.c:439: undefined reference to `vdp_device_create_x11'
collect2: ld returned 1 exit status
make[2]: *** [/home/user/Downloads/GG/cinelerra5/
cinelerra-5.1/cinelerra/../bin/cin] Error 1
----------------------------------------------
vdp_device_create_x11 is part of libvdpau which is an nvidia support library.
 Следует проверить наличие libvdpau-dev, установить и повторить компиляцию. Если это не помогло, собирайте программу так:

$ git clone "git://git.cinelerra-cv.org/goodguy/cinelerra.git" --depth 1 cinelerra5
$ cd ./cinelerra5/cinelerra-5.1
$ ./autogen.sh && export FFMPEG_EXTRA_CFG=" --disable-vdpau"
$ ./configure --prefix=/opt/cin5.1 --without-ladspa-build --disable-dependency-tracking
$ make 
$ sudo make install

Использовать опцию --without-ladspa-build имеет смысл, если вам эти плагины не нужны. 
 ---------
При компиляции на Arch, Slackware могут потребоваться дополнительные "манёвры" (разумеется, не все):

export MAKE=gmake
export EXTRA_LIBS=`pwd`/thirdparty/
openjpeg-2.1.0-20160221/bin/libopenjp2.a
export C_INCLUDE_PATH=/usr/local/include
export CPLUS_INCLUDE_PATH=/usr/local/include
export ac_cv_header_xmmintrin_h=no
alias make=gmake