пятница, 19 июля 2019 г.

Удаляю лишнее, переименовываю в подобающий вид и перемещаю файлы на уровень вверх


Удаляю лишнее:


find ./ -type f -not -name "*basecolor*" -not -name "*normal*" -not -name "*roughness*" -not -name "*.sbs*" -exec rm -f {} \;

Переименовываю в подообающий вид:


find -name "* *" | rename 's/ /_/g'

Перемещаю файлы на уровень вверх:


for i in $(find ./ -type d -name sd -exec echo {} \;); do mv $(echo $i"/*") "${i%%/sd*}"; done

пятница, 28 июня 2019 г.

воскресенье, 25 февраля 2018 г.

ffmpeg drawtext простейший таймер


Таймер выглядит как число от 0 до n



ffmpeg -i in.mkv -vf drawtext="fontfile=/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-B.ttf:text='%{eif\:n/30\:d}':fontsize=50:fontcolor=white:box=1:boxcolor=black:x=10:y=10" -c:v nvenc -y out.mkv

Где "n/30" это буквально FPS делённое на 30, соответственно если видео 30 кадров в секунду то таймер будет показывать секунды.
%{eif\:n/30\:d} такой способ показывает только целые числа

суббота, 24 февраля 2018 г.

Цикл на обработку видео с последовательным переименованием


В одну строку



for o in 1 ; do o++; for i in *mkv; do ffmpeg -i $i -g 15 -c:v copy -an $o.mkv; ((o++)); done done

Построчно



for o in 1

do o++

for i in *mkv

do ffmpeg -i $i -g 15 -c:v copy -an $o.mkv

((o++))

done

done

понедельник, 14 августа 2017 г.

Делаем шикарные GIF'ки из видео в Linux


Создаём файл с именем например "gif.sh", открываем и заполняем следующим текстом:


#!/bin/sh

palette="/tmp/palette.png"

input="22331-22450.mp4" # видео файл
output="out.gif" # имя гифки

res="480" # разрешение по горизонтали
ps="33" # скорость проигрывания (если равна фреймрейту смого видео то скорость не изменится)
fps="21" # итоговый фреймрейт с отбрасыванием (или дублированием) кадров (если значение меньше чем "ps" то кадры будут отбрасываться)

ffmpeg -i $input -vf "scale=$res:-1:flags=lanczos,palettegen" -y $palette
ffmpeg -r $ps -i $input -i $palette -lavfi "scale=$res:-1:flags=lanczos [x]; [x][1:v] paletteuse" -r $fps -y $output

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

понедельник, 31 июля 2017 г.

Пингуем красиво

Я загорелся идеей распарсить выдачу простой программы ping (Это я сделал ранее) и визуализировать колебания в графике. Для этого я нашёл программу gnuplot.

Начнём

Пишем в консоле:

ping ya.ru

получаем примерно следующее:


        64 bytes from ya.ru (87.250.250.242): icmp_seq=1 ttl=58 time=7.24 ms
        64 bytes from ya.ru (87.250.250.242): icmp_seq=2 ttl=58 time=7.26 ms
        64 bytes from ya.ru (87.250.250.242): icmp_seq=3 ttl=58 time=7.16 ms
      

лично меня интересует последнее значение которое следует за time=, но мне не нужен формат измерения ms, поэтому надо распарсить эту строку. Я нашёл 2 способа, через утилиту sed и через утилиту awk, уверен что есть куча других вариантов, но это самые простые для меня.

Парсим строку спомощью SED:

ping 192.168.1.1 | sed -u 's\^.*time=\\; s/ms.*//' > ping

Получаем файл "ping" (в домашмем каталоге) в котором написано что то вроде:


        7.24
        7.26
        7.16
      

Похожий результат будет выдавать AWK:

ping 192.168.1.1 | awk -F "[\ ,=]" '{print $10; fflush()}' > pingawk

Приступим к рисованию гафиков

Как я уже сказал в начале, рисовать мы будем спомощью программы gnuplot.
Первым делом создаём простой и пустой текстовый файл в домашней дирректории, я назвал его "plotping", в нём прописываем параметры для gnuplot:


        splot "pingawk" with lines
        reread
      
после этого нам надо открыть 2 консоли (Позднее подумаю как запустить в одной). В одной запускаем:
ping 192.168.1.1 | awk -F "[\ ,=]" '{print $10; fflush()}' > pingawk
а во второй пишем:
gnuplot
откроется "диалог" с gnuplot где мы говорим ему брать настройки из ранее сделанного файла "plotping"
load "plotping"

Парсим ping с sed и awk

ping 192.168.1.1 | sed -u 's\^.*time=\\; s/ms.*//' > ping

ping 192.168.1.1 | awk -F "[\ ,=]" '{print $10; fflush()}' > pingawk

среда, 11 мая 2016 г.

пятница, 4 марта 2016 г.

Gource

Gource


gource -1920x1080 --highlight-users --multi-sampling \
-p 0.74 -s 0.001 --hide filenames,mouse \
--output-ppm-stream - | ffmpeg -y -r 30 -f image2pipe \
-vcodec ppm -i - -vcodec libx264 -profile:v high \
-b:v 30M -bufsize 15M -maxrate 30M -minrate 128k \
-pix_fmt yuv420p -g 12 -bf 2 /home/mikhail/Desktop/gource2015.mkv


пятница, 15 января 2016 г.

По заветам Youtube


ffmpeg -i ./source/b4w_logic_1.mp4 \
-pix_fmt yuv420p -r 25 -g 12 -bf 2 \
-c:v libx264 -profile:v high \
-b:v 8M -bufsize 4M -maxrate 8M -minrate 128k \
-c:a libvo_aacenc -b:a 384k -ar 48000 \
./output/b4w_logic_1.mp4

exec bash

четверг, 17 сентября 2015 г.

Starting version 219 Ubuntu 15.04

Решение этой проблемы после обновления с 14 на 15 тут.
А вот если вы только установили систему, обновили видеодрайвер и появилась эта ошибка то надо просто выполнить
sudo nvidia-xconfig

My packages for the Atom

Atom pacages:

  • autocomplete-paths
  • linter
  • linter-flow
  • linter-js-standard
  • linter-jshint
  • linter-jsonlint
  • linter-package-json-validator
  • linter-xo
  • minimap

четверг, 25 июня 2015 г.

Есть файлы:
image10.png
image2995.png
image3006.png
image3017.png

и

hfgjhjf.png
ftjtfj.png
fhfjfd.png

Надо преобразовать все файлы image* в jpg

Команда:
for i in image*; do ffmpeg -i $i ${i%%.*}.jpg; done


четверг, 14 мая 2015 г.

iframe


<iframe width="500" height="300" allowfullscreen src="https://artdive.ru/app/google_home/google_home.html"></iframe>
<iframe> - Тег <iframe> создает плавающий фрейм, который находится внутри обычного документа, он позволяет загружать в область заданных размеров любые другие независимые документы. © http://htmlbook.ru/html/iframe

среда, 13 мая 2015 г.

dpkg: error

Беда

dpkg: error processing package google-chrome-stable (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 google-chrome-stable

Решение

cd /var/lib/dpkg/info
sudo rm google-chrome-stable.*
sudo apt-get -f install