LINUX.ORG.RU

Сообщения someloruser

 

[ffmpeg] Как правильно кодировать скринкасты для youtube ?

Форум — General

Снимаю в лосслесс huffyuv.

ffmpeg -f x11grab -s 1280x720 -r 3 -i :0.0 -an -vcodec huffyuv huffyuv.avi

Затем кодирую в h264.

INPUT_VIDEO=huffyuv.avi
OUTPUT_VIDEO=h264.mkv

ffmpeg \
-i "${INPUT_VIDEO}" \
-an \
-pass 1 \
-vcodec libx264 \
-vpre "slowfirstpass" \
"${OUTPUT_VIDEO}"

ffmpeg \
-i "${INPUT_VIDEO}" \
-an \
-pass 2 \
-vcodec libx264 \
-vpre "normal" \
"${OUTPUT_VIDEO}"

1280x720 - указывал специально, т.к. на ютубе это стандартное разрешение для HD.

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

А как надо правильно кодировать, чтобы youtube не персжимал ?

 

someloruser
()

Компиляция vlc-snapshot-20110519 (1.2.0-git)

Форум — General

vlc-snapshot-20110519.tar.xz

./bootstrap
...
./configure
...
checking gme/gme.h usability... no
checking gme/gme.h presence... no
checking for gme/gme.h... no
./configure: line 41415: syntax error near unexpected token `newline'
./configure: line 41415: `  yes:no:'

Полный лог здесь http://pastebin.mozilla-russia.org/108754.

Мои версии пакетов для сборки програм

Autoconf 2.63
automake 1.11.1
gettext 0.17
pkg-config --version : 0.23

Версии vlc-snapshot-20110331.tar.xz, vlc-snapshot-20110426.tar.xz тоже не собираются с такойже ошибкой.

При этом релиз vlc-1.1.9.tar.bz2 компилируется успешно с релизом ffmpeg-0.7-rc1.

А новую vlc из git я хочу собрать из-за того что у меня уже собран ffmpeg который тоже из git.

bootstrap создаёт испорченный configure.
С чем может быть связано ?

someloruser
()

[bash] Написать '-n' или '\n'

Форум — Development
echo "${N}"

Переменная N может принимать различные значения. В том числе '-n'. И это приводит к тому что эта переменная не выводится на экран. Команда echo считает что это специальная опция команды echo.

man echo -n do not output the trailing newline

А надо чтобы вывело

-n

Если я вместо echo использую «printf --»

printf -- "${N}"
Тогда "-n" пишет на экран. Но тогда появляется проблема printf escape последовательностей. Когда переменная N равна «bla\n12345», printf находит в переменной подстроку «\n» и делит строку на две подстроки.
bla
12345
А надо чтобы вывело
bla\n12345

Как вывести в баше без какой либо обработки вообще любую строку, строки идентичные аргументам команд, строки содержащие escape последовательности без их интерпритации ?

 

someloruser
()

[bash] Как узнать PID-ы процессов запущенных в конвеере

Форум — Development

Имеется примерно такой скрипт

# Запуск специального конвеера команд в фоне.
first-program | second-program | third-program &
PID_VAR=$!

# Здесь идёт некий код ...



# TODO. Здесь через некоторое время нужно завершить процессы из конвеера.
kill -s 15 ${PID_VAR}

Переменная PID_VAR сохранит PID последней програмы third-program.

first-program, second-program реагируют лишь на SIGTERM, SIGKILL.

Если этот конвеер перенести в отдельный баш скрипт. И запустить его в фоне.

ncat -l -k 127.0.0.1 20000 | ./read_and_print.sh | ncat -l -k 127.0.0.1 20010
То киланье этого скрипта не завершает запущенные процессы внутри этого скрипта. ncat-ы не завершаются.

Как узнать PID-ы процессов first-program, second-program ? Нужно корректно завершить этот конвеер через SIGTERM-ы.

 

someloruser
()

[c] IPC библиотека

Форум — Development

Подскажите Си библиотеку для IPC.

Требования :

  • 1) язык программирования Си.
  • 2) проверка, гарантия доставки сообщений, данных.
  • 3) передача данных между
    • а) процессами,
    • б) потоками (threads),
    • в) по сети между компьютерами.
  • 4) кросплатформенная Posix, Unix, Windows.

Покачто нашёл сетевую библиотеку HawkNL http://hawksoft.com/hawknl/. Посмотрю её.

 

someloruser
()

[bash] pipe (FIFO) non blocking чтение/запись на баше

Форум — Development

Мне нужно обмениваться между скриптами через пайп-файл (FIFO).

Один скрипт читает из пайп-файла.

Другой скрипт пишет в пайп-файл.

Но первый скрпит может иногда долгое время не читать из пайп-файла.

И из-за этого второй пишущий скрипт подвисает ожидая первый скрипт.

Так же первый скрипт может зависнуть из-за отсутствия данных от второго скрипта.

Нужно прекратить попытки чтения/записи с пайп-файлом по истечении например десяти секунд.

Я же конечно могу написать программы на Си которые будут читать/писать пайп-файл в не блокирующем режиме, но не хотелось бы изобретать велосипед.

Команда чтения : READ_STRING=`cat some.pipe`

Команда записи : echo ${WRITE_STRING} > some.pipe

 

someloruser
()

[awk] match all

Форум — Development

Чего-то я не нашёл в мануале awk аналога preg_match_all из PHP.

Т.е нахождение всех подходящих строк, а не только первого.

Можно ли сделать это в awk без применения других програм (egrep) ?

 

someloruser
()

RSS подписка на новые темы