4 ноября 2018 г.

Экскурс в историю Cinelerra

 Об истории Cinelerra, ветках Cinelerra я, тестер этой программы, непосредственно участвующий с 2013г. в проекте, написал на различных ресурсах довольно много сообщений и эта тема мне надоела до оскомины. И я уж было совсем зарёкся ничего не писать на эту тему. 
Но коль скоро пользователи, новички извлекают из моих сообщений смыслы, прямо противоположные тем, которые я в них вкладывал, или которые я в них вообще не вкладывал, генерируют грубые ошибки и транслируют их в ширнармассы, вводя тем самым их в заблуждение, я счёл необходимым вернуться к этой теме снова. Важным побуждающим фактором является и то, что информация о Cinelerra, представленная на многих англоязычных (и русскоязычных) ресурсах (в том числе и в руководстве), устарела и уже очень давно не отображает реального положения дел. 
В русскоязычной части интернета и вовсе инфо-провал. 


В настоящее время Cinelerra представлена оригинальной Cinelerra-HV (Heroine Virtual) и двумя её форками: Cinelerra-CV (официальная версия сообщества, главный разработчик форка Einar Rünkaru) и Cinelerra-GG (Unify) (форк, разрабатываемый William Morrow aka GoodGuy).
Существует еще несколько dev-веток Cinelerra-CV для обкатки экспериментальных функций, однако для широких кругов пользователей они не предназначаются. Интересующиеся могут ознакомиться с ними в этом блоге здесь.

Оригинальная Cinelerra-HV (Heroine Virtual) была создана Adam Williams на базе аудио-видеоредактора Broadcast 2000, созданного тоже Adam Williams в 1996-1997гг. Cinelerra-HV пришла на смену устаревающему Broadcast 2000. О истоках Cinelerra-HV можно прочитать здесь (в руководстве по Cin-HV) и  здесь

Как мы видим (по второй ссылке) из написанного Майклом Коллинзом (пиар-менеджер Адама), Adam Williams учитывал при разработке Cinelerra идеи интерфейса Adobe Premiere 4.0. Впрочем, ему хорошо знаком и Final Cut (сообщение в его блоге)

Проект Cinelerra-HV был основан в June 15, 2000, а её первый релиз был выпущен в August 1, 2002.
В April 29, 2003 была создана Cinelerra-CV - версия Сinelerra от сообщества (Community Version).

Поначалу, в 2003-2006 г. разработчики сообщества не ставили себе целью делать форк.
Cinelerra-CV сообщества представляло собой площадку, где народ, закатав рукава, выполнял "чёрную" работу, дорабатывая оригинальную HV, исправляя ошибки, решал вопросы компиляции на разных дистрибутивах и внедрял новшества, предлагавшиеся сообществом в виде патчей, расширяя таким образом функционал Cinelerra-HV.  После каждого релиза Cinelerra-HV, разработчики Cinelerra-CV проводили слияние кода обеих веток.

Цитаты из собщений одного из первых разработчиков Cinelerra-CV  Herman Robak:
03 December 2003
"..This is not a fork. It's a branch. We merge with Adam's sources for each release he ships, and we intend to continue with that."
> ... how many versions and forks exist?
29 Oct 2004 Herman Robak: "..We prefer the word "branch", as we merge with Adam's releases. As far as I know, cvs.cinelerra.org is the only public one."

Цитата из руководства: 

"Cinelerra-CV was founded by developers who wanted to extend the functionality and fix bugs inherent in the HV code base. They decided to develop Cinelerra in a community fashion and not create a separate fork of the original HV code. In this way, Cinelerra CV can be seen as the community’s attempt to stabilize HV’s release. "

Всё это добро предлагалось автору Адаму Вильямсу. Адам частично применял наработки, частично игнорировал, а что-то в упор не считал нужным замечать. Причём такая линия поведения прослеживается с самого начала и с тех пор ничего не изменилось.

После того как был выпущен первый релиз Cinelerra-HV, заинтересованные разработчики предложили свою помощь Адаму Вильмсу, однако крайне лаконичные, скупые ответы Адама несколько разочаровали инициативную группу. Тем не менее, их энтузиазм не погас, и разработчики решили создать версию cinelerra от сообщества.

Через два месяца, в мае 2003г., Майкл Коллинз (соратник Адама и пиар-менеджер Heroine Virtual) написал письмо им и спросил о их планах и целях. Майкл поведал разработчикам, что, дескать, вы должны просто проявить себя конкретными делами и только после этого рассчитывать на ответную реакцию Адама. Он, дескать, предельно прагматичный человек, готов принять любую помощь, но не желает зависеть от кого-либо, ибо много было уже многообещающих пустозвонов...

Цитирую письмо Майкла:
" ...Cooperative efforts are always interesting and encouraged from
our stanpoint. The CINELERRA project, is an anormous task and the HEROINE WARRIOR developer Adam Williams is doing amazing works, against the odds. Im sure any contributions, from a development stanpoint, will probably be very interesting to him. You will never get any help from Adam UNTIL you do something. Nor, will he manage what youre doing or provide insight. I just suggest you do what you want and offer it AFTER you do something. He is exceedingly determined and extremely pragmatic and there have been a number of developers promise things and never do anything to support his work. ...

 Adam will not allow himself to depend on anyone, so he will not get disappointed. I suggest you do your work and WHEN you have something stellar to show, present it to him. In the meantime, work in your own space. "

Разработчики сказали: Ok, если он хочет, чтобы мы сначала проявили себя, так тому и быть... Мы умеем работать в команде.. Но только было бы здорово, если бы и Адам проявил элементарное участие, дабы мы не блуждали в потёмках и сомнениях...
Как видно из цитируемого ниже примера, Andraz Tori отправил 7 патчей, но не получил никакой ответной реакции..

Herman Robak:" ..But if he wants contributors to prove themselves first, that's fine. We can do the outreach and handholding work. I have some experience with handholding. "


Andraz Tori: "..I've sent 7 patches and got no direct response whatsoever. An answer like "Keep on going in this direction" or "I'll never apply this" would be very helpfull in determing what to do next. Or maybe I am not sending to the right address. "

Спустя два года у них уже не было иллюзий о возможности сотрудничества:
Цитата:
"...Until now, our communication with Adam has mostly been through code patches. Adam responds in his changelogs. After two years I think it is safe to conclude that we shouldn't bother Adam with anything but working code. If he wants something else, he can tell. "
То есть "общение" происходило большей частью через прочтение Changelog после выпуска релиза HV.

Christian Thaeter (экс-разработчик Cinelerra-CV, разработчик Lumiera):
"..He's made clear (речь идёт о Адаме) that this situation will not change in the future,  that community suggestions and contributions will not be considered or used unless they happen to save him work on things he wanted already, and that nobody but him can ever be a real first-class participant in Cinelerra development. "

Таким образом, ещё в начале 2000-х Адам ясно дал понять сообществу свои условия: он работает самостоятельно, в ключе, задаваемом исключительно им самим, и не желает связывать себя какими-либо обязательствами реагировать на баг-рапорты, запросы и предложения сообщества за исключением тех случаев, когда предложение заинтересовало его лично или соответствует его планам разработки cinelerra.

Выводы (вы можете встретить их на некоторых русскояз. ресурсах), что он якобы некоммуникабелен, не следует воспринимать серьёзно ибо чепуха несусветная. 

Выстроенная им модель взаимоотношений со сторонними разработчиками, работающими с кодом его программы, (его так называемое нежелание общаться) во многом является осознанной линией поведения, имеющей цель максимально дистанцироваться от каких-либо обязательств, дабы работать в режиме, задаваемом лично им и никем другим, но при этом иметь в некотором роде репозиторий новшеств и исправлений ошибок, коим для него стала версия сообщества.
Кроме того, следует сказать, что помимо cinelerra у него немало других занятий (в частности, он занят разработкой портативных летательных аппаратов.)

Ну что-ж, сообщество сказало 'Ok', мы пойдём своим СV-путём и стороны ударили по рукам. Расположим два карандаша в виде обратного конуса, вершиной к себе и сравним расстояние между карандашами у вершины и у концов.. Вот примерно то же самое..

Уже тогда, в 2003-2004 в сообществе появились такие монстры как
Herman Robak, Andraz Tori, Richard Baverstock, Hermann Vosseler, Johannes Sixt, Pierre Dumuid .. Эти программисты стали ядром команды разработчиков версии сообщества тогдашнего периода.

Как я уже сказал выше, версия сообщества того периода шла в фарватере оригинальной HV, стараясь не отклоняться от генеральной линии и объединяла код после каждого релиза HV (и эти регулярные объединения сносили относительную стабильность всего того, что они наисправляли и напереработали между релизами). Обмен кодом шёл в обе стороны и так же как и сообщество, HeroineVirtual в свою очередь вливало код и наработки сообщества в оригинальную HV (хотя и не в том объёме, как хотелось сообществу).
Тем не менее: Цитата: версия- HV 1.1.9 Feb. 11, 2004 From the Heroine Virtual website's NEWS section:
"This is a landmark since it's probably the first time more code was submitted from the community than internally."

 
По мере становления и развития обеих версий, изучения кода, формирования в сообществе устойчивого ядра высококлассных разработчиков, способных и готовых развивать программу в долгосрочной перспективе, СinCV наращивала функционал и кодовую базу уже в немалой степени отличавшиеся от HV, то есть неуклонно превращалась в форк.

Собственно, превращение Сinelerra от сообщества в форк было неминуемо..
Как позже скажет нынешний главный разработчик Cinelerra-CV Einar Rünkaru:
"..Not fork is practically impossible - you have to keep bug-exact code with original. Only very limited changes are possible. .. To me "not forking" looks too restrictive. We can't add features, drop obsolete features, add bigger fixes etc. To be free of these restrictions I like to call CV-s forks.. I think that we cаn consider all our branches forks of HV. "

В сентябре 2006 в код Cinelerra-CV был влит код HV после релиза HV 2.1 в июле того же года.
К тому времени у разработчиков CinCV сформировалось чёткое осознание того, что текущая модель следования в фарватере HV изжила себя и тормозит развитие версии сообщества, а регулярные слияния кода больше неприемлемы ибо просто ломают СV.
Hermann Vosseler aka ichthyo:
"The quality problems perpetuated with Release 2.1. It quite noticeable degraded stability and broke some calculations in the basic color model (additive mode), while bringing in features of rather questionable value ..."
Поэтому релиз 2.1 и последующие 2.1.5 (2010) уже разрабатывались как форки:
Цитата:
Herman Robak:
"..What kind of fork, and what for? You may consider the one which is hosted at cinelerra.org (бывший сайт программы) ("community version" 2.1.5) a fork of the "upstream", which is hosted at http://heroinewarrior.com/cinelerra.php
Цитата:
Christian Thaeter Aug 2007
" ..Cinelerra is a heroinewarrior project, Cinelerra CV is a (friendly) fork of it, we don't want to take over the project, our goal is just to make the best free Linux Video editor in existence :)."

Адам Вильмс также рассматривал Cinelerrra от сообщества как форк:
http://heroinewarrior.com/cinelerra.php3
29 июня 2006:
".. As time passes and new students come and go from the Linux scene, new forks of Cinelerra emerge that are more suited to the community but not what Heroine Virtual Ltd. needs.
Today you'll probably find the cvs.cinelerra.org\">cinelerra.org fork more useful.

They allow certain parts of our fork into their fork while contributing anything they want while we allow certain parts of their fork into our fork while contributing anything we want. "

Однако самой большой проблемой, препятствовавшей воплощению идей сообщества, были изначально заложенные Адамом жёсткие ограничения в коде HV и СV, как переработанной версии HV.
Цитата:
Hermann Vosseler:
"..the greatest problem you get to face immediately is that you can't just reconfigure Cinelerra, add some new functionality here and there and put a new GUI "on top". The reason is, that obviously (just judging from the existing source code -- I am not the original author) Cinelerra wasn't written with that option in mind. It provides some very limited extension points (plug-ins for effects), but that's it. All the rest was thought out as a whole and works as a whole."

И часть активных разработчиков (вожди: ichthyo (Hermann Vosseler) and cehteh (Christian Thaeter) ) решила произвести кап. ремонт кода. Проект стартовал как "Cinelerra-3" в авусте 2007.
"..We want Cinelerra! Just a even better one, this is not about Yet another Video Editor, This means that I count on HV acknowleding our efforts and supporting the idea..."

Адам предложил изменить название:
Цитата:
"Could you rename it something besides Cinelerra for version 3?
As the creator of Cinelerra, we have a different schedule & feature set and would like to avoid the confusion of a version 3 from website B which is released before a version 2.2 from website A or a version 4 from website C which is completely different than version 5 from website D."

 
Разработчики согласились и проект получил свое собственное имя Lumiera (было выбрано по итогам голосования) в марте 2008г. Cinelerra-HV повела после этого отсчёт нумерации своих релизов с 4.*

Далее приведу несколько цитат из сообщений разработчиков нового проекта, отражающих цели и задачи, которые они себе ставили:

Цитата:" ...our initial premise was to revamp Cinelerra -- but a more in-depth analysis showed so deeply rooted problems, that in effect, repair means replacing every single piece, but sticking to the (very good) basic concept. Thus certainly we're talking about several man years of work. And that is what Lumieara is all about, at least to start with. "

Цитата:" ... that the Lumiera project is an outgrow of an attempt to make a general overhaul and cleanup of the Cinelerra codebase, initially started as "Cinelerra-3" in 2007. "

As of _2/2008_::
"..the project has been separated completely from ``Cinelerra'', the parent project. The Community, which at that time was largely identical to the Cinelerra-CV community, choose the new project name ``Lumiera'' through a collaborative selection and vote. The basic project infrastructure is up and running, and work on the new codebase has started."

"Cinelerra-3" приветствовался сообществом, состоялась конструктивная дискуссия. Но когда новаторы решили, что Lumiera будет совершенно другой, написанной с нуля программой на GTK, следуя GNU coding style, мнения разделились. Те кто остались + пришедшие новые разработчики впоследствии во многом сделали то, что поначалу собирались сделать ушедшие. Спустя 10 лет Lumiera имеет pre-alpha status. В коде Lumiera нет ни строчки кода Cinelerra. На сайте Lumiera можно почитать News (changelog) и FAQ (обращайте внимание на даты написания статей).

Разработчики, стартовавшие Lumiera, ещё продолжали параллельно участвовать в разработке Cinelerra-CV, но к 2011-2012гг. их участие в большей своей части сошло на нет.


Уход части разработчиков замедлил темпы развития версии сообщества, однако она продолжала развиваться своим собственным путём.
Как я уже говорил выше, от практики объединения кода после каждого релиза HV отказались и HV-код (4.1, 4.2, 4.3, ...) уже не попадал в релизы CV 2.1.5 (2010), 2.2 (2011), что весьма способствовало повышению стабильности CinCV. Работа в этом направлении продолжилась в отдельной dev-ветке. Вопросами объединения кода с самого начала занимался один из краеугольных столпов сообщества Johannes Sixt (и на ранних этапах Pierre Dumuid). Вклад Johannes Sixt в развитие Cinelerra-CV просто огромен.

Дальнейшее развитие Cinelerra-CV в большой степени связано с деятельностью нынешнего главного разработчика Cinelerra-CV Einar Runkaru.
Einar появился с патчами в сообществе в 2010г., хотя с кодом начал работать несколько раньше.
С 2010г. его вес в сообществе нарастает и позже он займет лидирующие позиции в сообществе, как самый активный и целеустремлённый разработчик. В 2011г. он подтвердил, что рассматривает Cinelerra-CV как форк. Цитата: "..I am currently just forking away from mainline. "


В 2010 в сообщество пришёл такой монстр как Monty Montgomery  Разработанный им движок (Complete new overlay engine and resampler) Einar портировал в 2015 в Cin-CV и заменил им старый движок. Этот же движок, но с рядом модификаций был портирован позже и в Cin-GG.

Нельзя не упомянуть о таком явлении в мире Cinelerra, как Cinecutie, которую её автор, итальянский программист Paolo Rampino, явил сообществу в 2008г.
По сравнению с Сinelerra-CV того периода, Cinecutie работала стабильнее, имела новые темы интерфейса (вы можете видеть их под названием 'UnFlat' и 'Pink Lady' в Cinelerra-GG, куда они были позже портированы из Cinelerra-CVAkirad (см. ниже) ). Ну и самое главное: в Cinecutie была предпринята первая попытка подружиться с кодировкой UTF-8. Старые пользователи понимают о чём я ... Ну а новичкам знать уже не обязательно. :-)


Цитирую Паоло:  

"After lot of time spent to learn the cinelerra code, I want to move an other step on the opensource contribute. I'm started from tangolerra project made by Franco Iacomella and after an hard job with svg I made my personal mochup of Cinelerra called Cutiehd. But when I started to work on the mochup of Cinelerra 2.1cv I tryed to enable again the support of font antialias (xft), write a draft of Utf-8 support, rewrite some parts of titler code and adapt the svg plugin from the Cinelerrasv by "Simeon Völkel". I know that these features can generate instability, so I decided to make a new package with it's name and icon called Cinecutie, that can be consider more as "mochup" than a real "fork". In order to make possible the installation with cinelerra I had to rename not only name but also libraries and settings dir (from ~/.bcast to ~/.ccutie). I'm a Go Nagai fans, and so the project name and icon are dedicate to one his anime series ( Cutie Honey ). "

Однако в 2010 разработка Cinecutie была прекращена. Впоследствии Паоло на её базе создал dev-ветку Cinelerra-CVAkirad, множество патчей откуда пошло в главную ветку Cinelerra-CV.

В ноябре 2011 был выпущен релиз Cinelerra-CV 2.2.
До релиза 2.1 нумерация релизов Cinelerra-CV следовала за нумерацией релизов Heroine Virtual.
Начиная с 2.2, Cinelerra-CV использует свой собственный порядок нумерации.

В период 2011-2013 г. темпы развития Cinelerra-CV значительно снизились в силу того, что к тому времени многие разработчики, активные ранее, по разным причинам, не связанным с программой, переключились на другие проекты или просто потеряли интерес к проекту. Обычное явление в мире линукс: люди заводят семью или меняют место работы и приоритеты изменяются..
Проект Cinelerra-HV продолжал развиваться Адамом Вильямсом, ежегодно выпуская релизы.

В 2012 в главной ветке Cinelerra-CV - всего 10 коммитов. В 2013 - всего 3 коммита. Все - от Einar Rünkaru. K 2013 в линукс-сообществе сложилось общее мнение, что проект Cinelerra-CV мёртв. И когда я заинтересовался этой программой (в 2013) мне твердили, что у проекта перспектив нет. Однако в этот тяжёлый для программы период работа не прекращалась в dev-ветке Cinelerra-CVE от Einar Rünkaru. Именно Einar Rünkaru спас Cinelerra-CV в тот период и не дал проекту умереть. 


Я не поскромничаю и скажу, что мне приятно осознавать, что и я причастен в некоторой степени, как тестер, к этому. В 2013г. я познакомился Einar Rünkaru и стал регулярно тестировать и отправлять рапорты Einar. Cначала я писал их Einar напрямую, а в 2014г. появился в рассылке сообщества под ником igor_ubuntu Моё полное имя - Игорь Владимирский (не ищите меня в соцсетях - меня там нет. вообще нет.)

В 2014г. Cinelerra-CV получила значительную активность. Einar Rünkaru cтал портировать в основную ветку наработки из своей dev-ветки.
В сообществе появились два новых разработчика Petter Reinholdtsen и Nicola Ferralis (он же - мантейнер Cinelerra-CV в ppa для Ubuntu).
В авусте 2015 был выпущен релиз Сinelerra-CV 2.3
Full UTF-8 support. Complete new overlay engine and resampler.
New graphics: About panel, some icons. New plugins: GreyCStoration, C41, Bluebanana, color3way, findobject, lens.
 

После релиза Cinelerra-CV 2.3 было принято решение о замене устаревшего FFmpeg. Эта работа и многое другое проводится Einar Rünkaru в dev-ветке Cinelerra-CVE (экспериментальная ветка). После замены результаты будут портированы в главную ветку Cinelerra-CV.

Все эти годы проект Cinelerra-CV проживал на сайте cinelerra.org. Однако к 2014г. сообщество "задремало" и упустило срок окончания регистрации домена. Спустя короткое время сайт снова стал доступен, однако выяснилось, что права на него уже потеряны и неизвестный человек приступил к его перестройке.  

Дело было в том, что в начале 2014 соратник Адама Майкл Коллинз (Michael Collins) решил запустить свой собственный проект развития Cinelerra с коммерческим уклоном, привлечением спонсоров и т.п. За основу была взята Cinelerra-HV. Вообще, со стороны Майкла это была не первая попытка поставить Cinelerra на коммерческие рельсы. 
Но как однажды сказал Адам Вильямс:  "..Cinelerra is a lousy program to commercialize. It takes so many codecs depending on so many GPL libraries & it's so heavily dependent on really flaky niche hardware, the support & licensing would be impossible. Good commercial software has few hardware dependencies & can interact with the outside world without requiring massive 3rd party libraries. X-Plane doesn't even look like it requires shaders.
The other route is selling your own hardware with the software, but U hardware fans need a huge amount of capital & your inventory quickly becomes obsolete with no way to upgrade it. U need other people's money to get started."



Майкл, не спросив сообщество о планах на домен, прибирает его к рукам. Собственно, Майклу следовало бы прежде обратиться к сообществу и спросить его о планах на сайт, однако он обратился к Richard Baverstock, который зарегистрировал домен cinelerra.org в 2005г. Richard Baverstock к 2014 уже давно не участвовал в работе сообщества и не отслеживал рассылку сообщества.

Формально, Майкл обратился по адресу, но по-человечески, если исходить из принципов сотрудничества и добрососедства, Майкл, что называется, оперативно "подсуетился" и увёл сайт сообщества. В результате между сообществом и проектом Майкла возник конфликт.  


Собственно, конфликт развивался так.
В 2014 Майкл (как и в 2003г.) написал письмо Herman Robak, попросив его перенаправить письмо в рассылку сообщества. В письме Майкл явил народу "благую весть", что сайт сообщества отныне его (Майкла) собственность, он запускает на нём новый проект и приглашает заинтересованную общественность к нему присоединиться: 
"..We intend to rebuild the user list and efforts through the establishment of a collaborative network on a new site design oriented towards modern development collaboration and messaging methods. If you have anything you wish to do with Cinelerra in the near and planned future, let us know"

Обосновывал свои действия Майкл тем, что якобы сайт сообщества был мёртв: "..When I "grabbed" Cinelerra.Org, it was a website which which was literally abandoned and about to go to a Domain Auction since none of you on the list, over a several month period, refused to "grab" and do something with it on your own. "
Однако во-первых, сервер, на котором проживал сайт, продолжал работу как и прежде, и Christian не собирался отказываться от него
Christian: ".. I kept the Server running (even if it was poorly paied) because I don't want the project die.." 

Во-вторых, сообщество проявляло определённую активность, Einar и Monty работали над кодом программы. 

 Scott Serr:
" My thoughts: if he had really good intentions he would have gone about this in a different way. Yes, snag the domain but before unveiling a new direction... he needed to become part of the community. "
В ответ Майкл высокомерно заявил, что:
".. Seriously, if someone has a problem getting support and payment for important contributions to the future of Cinelerra, don't present your ideas nor apply yourself to its future development. If you would like to know how you can receive support, prepare a plan and please contact us in April. Seriously. "

Однако это опять же неверно. Дело было как раз не в финансовых возможностях сообщества, а в его неорганизованности, в результате участники сообщества просто упустили срок регистрации домена.
И, как сказал Herman Vosseler, хотя сообщество и не было особо активно, но сервер то работал и работает, и если Майкл действительно преследует нечто большее, чем краткосрочные коммерческие интересы, пусть он проявит себя.. А время покажет.

Цитата:

Herman Vosseler: "..While the Cinelerra community wasn't very active, at least we somehow managed to keep the infrastructure of an open source project running, and we continue to do so. If Michael Collins is able to deliver something beyond announcements and public relations, and if he is willing to engage into something which is not just driven by short term commercial interest, it may well be that, over time, a new community forms around Michael's effort and the new site Cinelerra.org. Time will tell. Without prior communication, Michael Collins, who was certainly not an active member of the community since years, took opportunity of the expired domain and posted public announcements. I can's see any controversy here, just basic misdemeanor. .."

Ну и Майкл проявил себя.. даа.., войдя тем самым в историю сообщества ... Hermann Vosseler aka Ichthyostega цитирует письмо Майкла обращённое лично к нему. Я не буду это здесь цитировать...
Всю дискуссию можно прочитать здесь и продолжение здесь


По итогам дебатов сайт cinelerra.org остался Майклу.
Сообщество зарегистрировало новое доменное имя cinelerra-cv.org для своего сайта.
Перипетии с сайтом встряхнули сообщество. С 2014г. активность сообщества, работа с кодом снова стала расти. В September 5, 2015 новый админ сайта Danny Schmarsel создал его новый дизайн.

Проект Майкла продолжил развитие в Git repository on Google Code как Cinelerra 4.6.1mod->5.0.
Главным разработчиком проекта стал William Morrow aka GoodGuy.

В январе 2016 William Morrow aka GoodGuy в силу разногласий с Майклом Коллинзом покидает его проект и просит разрешения сообщества Cinelerra-CV позволить ему развивать свой форк в Git repository сообщества. Очевидно, что во многом это решение было продиктовано тем, что GoodGuy, наблюдая успешную, активную работу сообщества над Cinelerra-CV, понимал, что практически невозможно успешно развивать проект в отрыве от пользователей.
По итогам возникшей дискуссии, большинством голосов сообщество одобрило его просьбу и у Cinelerra5.0 началась новая жизнь. 


После ухода William Morrow aka GoodGuy, проект Майкла по-видимому был свёрнут, по крайней мере, новостей от него нет. Сайт cinelerra.org по-прежнему принадлежит Майклу и в настоящее время представляет Cinelerra-HV параллельно с сайтом Адама Вильямса.

Adam Williams высказал своё недовольство использованием проектом William Morrow aka GoodGuy имени 'Cinelerra' и порядком нумерации релизов Cinelerra 5.0

В декабре 2016г. Cinelerra5.1 получает аббревиатуру '-GG', предложенную Einar Rünkaru, и становится Cinelerra-GG 5.1
Нумерация релизов Cinelerra-HV после этого сделала скачок с 4.6 на 6.0, а затем на 7.0

В Cinelerra-GG 5.1 William Morrow aka GoodGuy произвёл объединение кода HV, CV по состоянию на 2016г. и своих многочисленных разработок. Проект развивался(-ется) как форк. Изменения в коде релизов HV6 (2016) и HV7 (2017) были портированы в Cinelerra-GG 5.1 с рядом исправлений и модификаций.

В октябре 2018 Cinelerra-GG 5.1 меняет своё имя на Cinelerra-Unify (GG) 5.1
Её разработчики декларируют свои цели как продолжение развития своего форка, как объединяющего наработки всех форков и веток синелерра-мира, а также продолжение работы по расширению функционала программы.
Цитата: "..Sort of a goal which has only been minimally partially met, is to get cinelerra up to modern capabilities so it can become better known. ..Maybe by the beginning of the new year (2019), things will be better.
"

Однако поскольку Cinelerra-CV в будущем планирует также портировать уже имеющиеся наработки других проектов, а список TODO её главного разработчика Einar Rünkaru не менее увлекателен, ИМХО это новое название Cinelerra-Unify (GG) 5.1, равно как и появившаяся на стартовой картинке надпись 'professional video editing' являются в определённой степени маркетинговым ходом в неуклонно развивающейся конкуренции за будущих пользователей и тестеров.

Общие корни, одинаковый набор виджетов (программа написана на Guicast - the Cinelerra GUI library; это не Qt и не GTK), степень общности кода, квалификация разработчиков позволяют производить портирование функционала и изменений в коде. Однако это портирование как для William Morrow aka GoodGuy, так и для Einar Rünkaru не является самоцелью. Любой, кто следит за коммитами в git, может убедиться, что GoodGuy без колебаний переписывает код, общий с HV, если он блокирует внедрение нового функционала. Ну а список новшеств Cinelerra-GG уже очень велик.
Ещё более радикально настроен разработчик Cinelerra-CV Einar Rünkaru:
"..There shold not be promises about porting something from HV - we port something feature by feature. If feature is interesting we port. Codebases of the forks are developed too far away from each other - the formal copying from HV does not work any more. "

 
Утверждения (вы можете встретить их на некоторых русскояз. ресурсах), что Адам Вильямс является главным разработчиком Cinelerra, а прочие форки cinelerra во многом зависят от его идей и действий, глубоко ошибочны и не соответствуют действительности уже лет 12.
Адам Вильямс является главным разработчиком только своей оригинальной Cinelerra-HV. И никакой другой.  Форки полностью самостоятельны; движутся в разных направлениях, кодовые базы значительно отличаются, разница будет нарастать, разработчики имеют разное видение будущего своих веток. 

В сообществе действует общее правило: хороший код либо портируется (если он нам интересен), либо не портируется вовсе (без оглядки на то, как это в будущем скажется на совместимости кода), либо, если этот код сырой, но действительно интересный и перспективный, он правится, переписывается и портируется (причём без оглядки на Адама, его планы на этот код и на то, как это скажется в дальнейшем на совместимости). Портирование - это не идея-фикс, а Адам - не флагман. Но если на то пошло, то все три синелерры могут считаться друг для для друга флагманами.


Да не смутит пользователя столь богатая событиями и лицами история Cinelerra ! Проходя через перипетии людских взаимотношений, сообщество становилось мудрее, сильнее, закалённее. 
Ну а непосредственно работа над кодом не прекращалась никогда.

В настоящее Cinelerra-мир успешно развивается, разработчики Cinelerra-CV и Cinelerra-GG открыты, коммуникабельны, доброжелательны и внимательны к пользователям.
В отличие от прочих видеоредакторов Linux, где акцент делается на стремительное расширение функционала, в сообществе cinelerra абсолютным приоритетами являются работа над стабильностью и исправление ошибок. Реакция на баг-рапорты следует, как правило, незамедлительно.
В этом плане Cinelerra является абсолютным лидером. Прочие опенсурсные видеоредакторы можно называть лидерами только по массовости.

Мы всегда рады видеть новых пользователей и разработчиков в наших проектах !
Подписаться на рассылку сообщества можно здесь. Впереди наше интернациональное сообщество разработчиков и пользователей cinelerra ожидает много интересного ! Присоединяйтесь !


Эта статья будет обновляться, исходя из новых событий в мире Cinelerra.

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/download_gg.php

https://cinelerra-cv.org/five/pkgs/README.pkgs
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
Готовый 64-bit пакет для Ubuntu 14.04.2, не требующий установки в систему, можно скачать с 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/

https://twitter.com/ifxsoft
https://www.facebook.com/ifxsoftware-156684261064496/

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.nanco.se/pdf/piranha/piranhaWeb.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://www.youtube.com/Piranha_8_Intro
https://www.youtube.com/tutorial_to_IFX's_Piranha_7
https://www.youtube.com/rotoflow_in_piranha 
https://vimeo.com/IFX_Piranha_Screen_Recording_Test

Помимо платной, есть бесплатная версия с некоторыми ограничениями в функционале:
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 г.) c главным разработчиком Tom Benoist:
" ..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

Встретил вопрос от пользователя, желавшего видеть в 4-x минутном видео таймкод.
Пользователь хотел, чтобы таймкод появлялся со 2 по 3 минуту включительно, и не просто появлялся, а чтобы таймкод отображался с этой 2 по 3 минуту так, как будто он отсчитывается от 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

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

Пакеты Сinelerra-GG 5.1 - раз в месяц происходит обновление:
https://cinelerra-cv.org/download_gg.php

Скачать и установить вручную: 
https://cinelerra-cv.org/five/pkgs/README.pkgs
https://cinelerra-cv.org/five/pkgs/
https://cinelerra-cv.org/five/tars/  (static)