Моя первая мысль была Xsetroot
, но я думаю, что следующее Python
фрагмент сделает это лучше:
import gtk
import sys
def create_window():
window = gtk.Window()
window.set_default_size(200, 200)
window.connect('destroy', gtk.main_quit)
color = gtk.gdk.color_parse(str(sys.argv[1]))
window.modify_bg(gtk.STATE_NORMAL, color)
window.maximize()
window.show()
create_window()
gtk.main()
Использование:
$ python window.py '#01fffa'
Я пытался выполнить задачу в Blender'е и PiTiVi.
Я использую это хорошо написанное учебное пособие по редактору видеопоследовательностей в Blender в качестве справочного материала. На самом деле я играл с 3D-моделированием в Blender и раньше. Никогда не думал, что его можно использовать в качестве видеоредактора. Я вроде как знаю некоторые клавиатурные сокращения в Blender'е, что помогает.
Возьмите бинарный дистрибутив Linux со страницы проекта, распакуйте архив, например, в ~/bin и запустите файл с именем blender
.
Блендер не может импортировать видеофайл с несколькими аудиодорожками. Он импортирует только первую дорожку. Поэтому, быстрым решением в ffmpeg является копирование аудио дорожек и импорт их отдельно
ffmpeg -i 24.avi -map 0:1 -c:a copy ~/fst.mp2
ffmpeg -i 24.avi -map 0:2 -c:a copy ~/snd.mp2
теперь я могу добавить эти аудио файлы просто отлично с процедурой, описанной в первой связанной статье.
Установка громкости также описана в статье, как и добавление ключевых кадров. Что не описано, так это как редактировать кривую. Поэтому ответ заключается в использовании тех же методов выделения, что и для клипов. Выделение с помощью RMB, перемещение с помощью клавиши G и так далее. Есть страница Blender manual о так называемом графическом редакторе
В опциях рендеринга, под размер видео, мне пришлось изменить ползунок размера на 100%, а также я отключил сглаживание, потому что считаю, что здесь это бесполезно.
Там была странная ошибка: Перед рендерингом мне пришлось навести курсор на первый кадр (кадр номер 1) и нажать кнопку Refresh Sequencer. В противном случае отрисовываемый видеофайл был просто полностью черным.
Однажды мне удалось сломать Blender, бешено щелкнув по временной шкале во время рендеринга.
Примерно 5 кадров в секунду в настройках H264 + MP3 по умолчанию. Учитывая, что мое видео 30 кадров в секунду, оно очень медленное. При кодировании использовались не все доступные ядра процессора (я оставил эту настройку в автоматическом режиме) В результате видео получилось визуально приятным ;-)
Примерно два года назад у меня был неприятный опыт работы с PiTiVi. Поэтому я был взволнован, чтобы проверить, что изменилось.
Я использую Fedora 19, так что yum install pitivi
выполняется под root-пользователем.
Далее я просмотрел список плагинов gstreamer и подумал об установке всего, что можно достать
yum install gstreamer-plugins-ugly \
gstreamer-plugins-good-extras \
gstreamer-plugins-good \
gstreamer-plugins-bad-nonfree \
gstreamer-plugins-bad-free-extras \
gstreamer-plugins-bad-free \
gstreamer-ffmpeg
некоторые из этих пакетов находятся в репозитории RPM Fusion. Размер установки был достаточно большим, 142 Мб, поэтому я решил попробовать без установки. Это не сработало (PiTiVi выплюнул Пропавшие ошибки плагина как для аудио, так и для видео в моем файле), так что я установил все плагины в конце концов, просто чтобы быть уверенным. Мне пришлось перезапустить PiTiVi, чтобы он заметил новые плагины.
PiTiVi имеет ту же самую проблему, что и Blender с несколькими аудио дорожками в видеоклипе. Он импортирует только первый. Решение было таким же, как и в случае с Blender'ом.
ffmpeg -i 42.avi -map 0:2 -c:a copy ~/42snd.mp2
Интерфейс пользователя довольно прост, поэтому добавление клипов и их размещение на временной шкале не нуждается в объяснениях. Кривая громкости видна прямо на монтажном столе. Ключевые кадры добавляются двойным щелчком мыши на RMB и могут быть перемещены с помощью LMB. Легко. Я не придумал, как сделать интерполяцию на кривой Безье, но линейная интерполяция звучала прекрасно, поэтому я не исследовал это дальше.
Во-первых, диалог рендеринга всегда зависал на "1 секунду", иногда на "2 секунды". На самом деле он так и не был завершен. Тем не менее, выходной файл был создан.
Установка выходного формата mp4, видеокодека x264enc и aac для аудио, сохранение настроек по умолчанию, в результате получился сломанный видеофайл, который нельзя было воспроизвести в VLC и при воспроизведении в mplayer у него не было звука, а изображение представляло собой красочную мозаику из случайных ярко окрашенных квадратов.
При выборе WebM, с VP8 и Vorbis, опять же с сохранением настроек по умолчанию, результат был нормальным, но примерно в пяти случаях все изображение пикселировалось, как при просмотре низкокачественной DVB-T-трансляции. Видеофайл продолжительностью 30 минут имеет размер более гигабайта, поэтому я предполагаю, что это не связано с низким качеством предустановок.
Восстановление моего 30-минутного видео в WP8 файл с VP8 для видео и Vorbis для аудио заняло около 2 с половиной часов. Опять же, по умолчанию он не использовал мой многоядерный процессор. Эта настройка скрыта в подробных опциях для отдельных кодеков.
Судя по удобству использования и графическому интерфейсу, выигрывает PiTiVi. С этим значительно легче работать, и он имеет более качественную визуализацию волновых форм для звуковых дорожек на временной шкале ;-). Кривая громкости видна по умолчанию, и ее очень легко редактировать. Кроме того, проигрывание предварительного просмотра финального видео работает гораздо лучше для меня в PiTiVi из коробки. В Blender'е видео имеет тенденцию отставать от звука. Связанное учебное пособие предполагает изменение размера кэша. Я не пробовал этого, потому что слышать звук было достаточно для меня.
Что не работает в PiTiVi, так это рендеринг. Несмотря на то, что приятно иметь возможность легко делать мои правки, это довольно бесполезно, если я не могу сделать рендеринг после этого.
Так что среди них нет явного победителя.