LINUX.ORG.RU

Запись скринкаста и сопутствующая попоболь.

 , рассинхрон,


0

2

По ходу деятельности (пишу иногда уроки по blender) нужно ... эээ.. писать уроки по блендеру. Видео-скринкасты.

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

Я не нашел (не осилил?) нормального софта, который бы писал не в ogv, а это несет следующие проблему: я не могу просто расклеить файл и почистить аудиодорожку от шумов микрофона. Что я пытаюсь таки для этого делать:

1) Пишу в gtk-recodrmydesktop, 15 кадров в секунду, со звуком. На этом этапе всё ок.

2) Перекодирую:

mencoder video_INPUT.ogv -ovc lavc -oac mp3lame -o video_PROCESS.avi

Спросите - почему? Потому что просто дампанутый с ogv звук не открывается в Audacity и ничем не проигрывается.

3) А вот теперь вывожу звук

mplayer -dumpaudio -dumpfile audio_PROCESS.mp3 video_PROCESS.avi

4) Чищу в audacity, сохраняю в мп3, с постоянным битрейтом.

5) Склеиваю с новым звуком старое видео

mencoder video_PROCESS.avi -o video_FINAL.avi -ovc copy -oac copy -audiofile audio_PROCESS.mp3

Так в чем же проблема, спросите вы? А в том, что звук получается не синхронизирован с видео. Происходит это уже в первом же avi, который я получаю из ogv. И начинается рассинхрон в видео довольно таки быстро.

Проблему пытался решать. Указывал насильно фпс, даже дошел до опций -vf harddup -ofps 15 -mc 8 (выцепил с мейлинга менкодероского). Они примерно выровняли звук с картинкой, но звук стал тупо пропадать во второй части видео.

Прошу помощи. Мне нужно просто иметь возможность почистить звук.

Вот рабочий файл, с которым всё делал: ТЫНЦ!

Вот чуть зачищенное аудио: ТЫНЦ!



Последнее исправление: maleficmax (всего исправлений: 2)

Я не нашел (не осилил?) нормального софта, который бы писал не в ogv, а это несет следующие проблему: я не могу просто расклеить файл и почистить аудиодорожку от шумов микрофона.

Нет никаких проблем. Тут формат не накладывает никаких ограничений, это можно проделать практически со всеми форматами.

# Выковыриваем аудиоророжку без перекодирования
# в данном случае ogg потому что в этом видео звук закодирован в vorbis
ffmpeg -i video.ogv -acodec copy -vn audio.ogg

Обрабатываешь audio.ogg как надо (в audacity или др.), сохраняешь обратно в .ogg, после чего собираешь видео опять же без перекодирования:

ffmpeg -i video.ogv -i audio.ogg -map 0:0 -map 1:0 -acodec copy -vcodec copy video-edit.ogv
# Здесь -map O:0 означает взять из первого входного файла первую дорожку (видео), -map 1:0 означает взять из второго входного файла первую дорожку (звук).

(Firestarter)

anonymous
()

Спросите - почему? Потому что просто дампанутый с ogv звук не открывается в Audacity и ничем не проигрывается.

Естественно, man mplayer говорит что „-dumpaudio dumps raw compressed audio stream to ./stream.dump (useful with MPEG/AC-3, in most other cases the resulting file will not be playable).

Дампи звук с помощью ffmpeg как я показал выше.

(Firestarter)

anonymous
()

А если записывать VLC сразу в avi и править в любом видеоредакторе?

Kaiwas
()

Мне кажется, если отделять звук и присоединять обратно в Kdenlive, рассинхронизации не должно быть.

try_out
()
Ответ на: комментарий от try_out

C ffmpeg попробую, спасибо. Отпишусь.

Kaiwas, я не нашел (не шибко и искал, но тем не менее) как писать выделенную область экрана - у меня окно блендера 1280*720 - видео такого размера.

try_out, не хочу ставить почти полные кеды ради этого.

maleficmax
() автор топика
Ответ на: комментарий от maleficmax

Ув. анонимус, вариант хорош, но после фклейки начинает заикаться звук. Из аудасити выходит ровный, в из ффмпега уже заика.

maleficmax
() автор топика

Я пользуюсь записью скринкастов из консоли. Это «ffmpeg -f x11grab». Руководство: http://zenway.ru/page/screencasting-linux-ffmpeg. Оно немного устарело: в первой команде "-vpre lossless_ultrafast" нужно заменить на "-preset ultrafast". Кроме того я поменял pulse на alsa, так как не пользуюсь PulseAudio. Вторая команда для сжатия. Три варианта: OGG Theora (которую можно поменять на vp8, заменив libtheora на libvpx) и два варианта x264. Я не помню надо ли там что-то менять - если надо, то скопируй сообщение об ошибке в поисковик.

Пример видео, записанного таким способом. http://www.youtube.com/watch?v=f8CwFlrtxm8 Оно в 1080p. Игра почему-то ускорилась, но обычно такого не происходит. В системном трее ты можешь увидить всё вермя свёрнутую консоль - это там запущен ffmpeg.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

ZenitharChampion, в сообщении выше я сказал, что мне нужно писать только конкретное окно с рабочего стола. Экран 1680*1050, а пишу 1280*720, и окно не на весь экран. Если подскажете как указать конкретно окно блендера писалке, буду благодарен.

Дополнение к варианту анонимуса. Как оказалось, звук в финальном видео в порядке, но вот именно в момент проигрывания (всеми плеерами) идет заикание, пропадают целые слова иногда.

maleficmax
() автор топика
Ответ на: комментарий от maleficmax

По ссылке в команде для записи указано разрешение 1280x1024 плюс смещение (в примере ноль). Можно указать своё, например 1280x720 при разрешении экрана 1920x1080, а окно переместить в левый верхний угол. Я предпочитаю делать так, потому что смещение я считаю долго: делаю скриншот и ставлю курсор мыши на нужную точку, и смотрю координату. И ещё иногда я задаю точный размер окна, а не получается: ffmpeg говорит что нестандартное разрешение экрана. Приходится вымерять уже размер окна...

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)

mplayer -dumpaudio -dumpfile audio_PROCESS.mp3 video_PROCESS.avi

Надо не дампить, а декодировать! mplayer video_PROCESS.avi -vo null -vc null -ao pcm:fast:file=audio_PROCESS.wav

Rodegast ★★★★★
()
Ответ на: комментарий от Rodegast

декодировать

Косяки вылазят уже после первого рекода, а дамплю я потом. Та что дампь/декодируй - один фиг.

maleficmax
() автор топика
Ответ на: комментарий от maleficmax

Ув. анонимус, вариант хорош, но после фклейки начинает заикаться звук. Из аудасити выходит ровный, в из ффмпега уже заика.

Не знаю, неоднократно такое проделывал, в том числе и чистил шумы в звуковой дорожке видео, никаких заиканий. Можешь дать видеофайл .ogv и почищенное аудио .ogg?

(Firestarter)

anonymous
()
Ответ на: комментарий от anonymous

Там видео ogv, просто сервер videobin.org почему-то всегда переименовывает расширение на ogg.

anonymous
()
Ответ на: декодировать от maleficmax

Зашел с другой стороны

Вот такой скрипт работает


#!/bin/sh

INFO=$(xwininfo -shape) 

WIN_GEO=$(echo $INFO | grep -oEe 'geometry [0-9]+x[0-9]+' |\ 
    grep -oEe '[0-9]+x[0-9]+';)
WIN_XY=$(echo $INFO | grep -oEe 'Corners:\s+\+[0-9]+\+[0-9]+' |\ 
    grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/+/,/' )

ffmpeg -f x11grab -show_region 1 -y -r 24 -s $WIN_GEO -i :0.0+$WIN_XY \ 
        -c:v h264 \ 
        -f alsa -ac 2 -i pulse \
        -c:a mp3 \ 
        -threads 2 \
        -b:v 5000k -preset normal \ 
        -b:a 128k \ 
        test.avi 

2)

ffmpeg -i INPUT.avi -acodec copy -vn AUDIO_NOISE.mp3
3) audacity (noise/normalize) ---> AUDIO_CLEAR.mp3

4)

ffmpeg -i INPUT.avi -i AUDIO_CLEAR.mp3 -map 0:0 -map 1:0 -acodec copy -vcodec copy OUTPUT.avi

maleficmax
() автор топика
Ответ на: комментарий от anonymous

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

А, забыл сказать! Для моего скрипта нужен ffmpeg>=2. Для убунты таковой я нашел здесь: http://ppa.launchpad.net/samrog131/ppa/ubuntu

И это, он ставится в opt, симлинкните там.

maleficmax
() автор топика

Пробовал свою видеозапись конвертировать виндовым софтом в mp4/h264/aac||ac3 ? Ну или avi с теми же параметрами.

SjZ ★★★★★
()
Ответ на: комментарий от SjZ

SjZ, нет. Психанул, записал в оффтопике. А уже потом нашел способ всё своротить в минте.

maleficmax
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.