LINUX.ORG.RU

Видеоредактор с возможностью наложить свой звук


1

1

Обнаружил, что kdenlive не позволяет прямо в нём самом записать звук с микрофона, чтобы наложить на дорожку. Есть ли ещё иные функциональные видеоредакторы, где есть такая функция, или придётся писать во внешнем приложении, сохранять, добавлять, сводить…?

★★★★★

Кстати, а видео с камеры чем, вообще, писать? В guvcview жутко отстаёт звук от изображения, а в cheese не сохраняется видео. Фотки сохраняются, и видео — нигде нет.

KRoN73 ★★★★★
() автор топика

Блин. VLC отлично пишет видео, звук синхронный с изображением. Но — только 640x480. А мне нужно 1280x720. При чём тормоза в guvcview явно не с разрешением связаны, так как на 640x480 он тоже тормозит. Да и Q6600 — явно не самый слабый процессор :)

KRoN73 ★★★★★
() автор топика
ffmpeg -f v4l2 -r 30 -s 640x480 -i /dev/video -f alsa -ac 1 -i hw:1,0 -vcodec ffv1 -acodec flac -y temp.mkv

или

mencoder tv:// -tv driver=v4l2:width=720:height=576:fps=25:input=0:device=/dev/video0:audiorate=48000:forceaudio:immediatemode=0:amode=0:adevice=/dev/dsp1 -o ./temp.avi -oac pcm -ovc lavc -lavcopts vcodec=ffv1:threads=2 -af channels=1
параметры по вкусу, ессно.

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

попробуй ещё и mplayer

И его, и ffmpeg.

mencoder никак не могу заставить писать со звуком и выбрать v4l2 с заданным fps. Например, так (вариантов много перепробовал):

mencoder tv:// -tv driver=v4l2:device=/dev/video0:width=1280:height=720:alsa:adevice=hw.1,0:fps=30:amode=1 -fps 30 \
    -channels 1 -ovc copy -oac copy \
    -o mencoder-capture.avi

Пишет без звука, проигрывает в несколько раз быстрее оригинала. Я так понимаю, что с камеры он тянет около 10 fps, используя значение по умолчанию.

ffmpeg в примерно таком варианте (сейчас мучаю):

avconv -y -s 1280x720 -r 30 \
    -f video4linux2 -i /dev/video0 \
    -ac 1 -f alsa -i hw:1,0 -c:a copy \
    -b 8000k fffmpeg-out.avi

пишет видео хорошо, а вот звук — только первые 0.5 сек. Потом — тишина.

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

adevice=/dev/dsp1

В XXI веке? :)

ffmpeg -f v4l2

С поправкой на -f video4linux2, как и у меня сейчас — звук сильно опережает видео.

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

В таком варианте поехало:

avconv -y \
    -ac 1 -f alsa -i hw:1,0  \
    -s 1280x720 -r 30 -f video4linux2 -i /dev/video0 \
    -b 16000k -ab 128k fffmpeg-out.avi

:)

Хотя качество видео не идеальное, было и лучше.

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

v4l2 == video4linux2
True

Так я поменял не просто так. У меня под Убунтой выругалось, что не знает такого формата :)

KRoN73 ★★★★★
() автор топика

Обнаружил, что kdenlive не позволяет прямо в нём самом записать звук с микрофона, чтобы наложить на дорожку.

Да вроде оно хотелось и даже сбылось уже, если правильно понял... Я, правда, ещё 0.9 не щупал.

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

Я, правда, ещё 0.9 не щупал.

В Бубунте пока Version 0.8.2.1

KRoN73 ★★★★★
() автор топика

Вообще-то, позволяет. В самой новой версии.

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

Блин. VLC отлично пишет видео, звук синхронный с изображением. Но — только 640x480. А мне нужно 1280x720.

Смотри опции. Я записывал 1280x720 при помощи VLC. К сожалению, скрипт куда-то просрал =(.

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

Дык, даже mencoder это может

Это не редактор.

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

Некропостинг, но вдруг кому-то ещё нужно....

Смотри опции. Я записывал 1280x720 при помощи VLC. К сожалению, скрипт куда-то просрал =(.

Сегодня снова написал этот скрипт. Вот он:

#!/bin/sh

export V4L2_DEVICE="/dev/v4l/by-id/usb-046d_081b_DAA737A0-video-index0"
export V4L2_FORMAT="MJPG"
export V4L2_WIDTH=1280
export V4L2_HEIGHT=720
export V4L2_ASPECT="16:9"
export V4L2_FPS=30
export ALSA_DEVICE="hw:U0x46d0x81b,0"

export LANG=en_US.UTF-8

date=$( date +%Y.%m.%d )
x=0
while true; do
	num=$( printf "%03d" $x )
	fname="recording-${date}-${num}"
	[ -e "${fname}.avi" ] || break
	x=$(( $x + 1 ))
done

user_id=$( id --user )
SUDO_CMD=sudo -u "#0" nice -n -20 ionice -c 1 -n 0 sudo -u "#${user_id}" 

echo ">>> Configure V4L2 device..."
echo

v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-parm=$V4L2_FPS
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-fmt-video=width=$V4L2_WIDTH,height=$V4L2_HEIGHT,pixelformat=$V4L2_FORMAT
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=brightness=148
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=contrast=32
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=saturation=32
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=white_balance_temperature_auto=0
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=gain=0
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=power_line_frequency=1
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=white_balance_temperature=10000
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=sharpness=24
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=backlight_compensation=0
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=exposure_auto=1
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=exposure_absolute=290
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --set-ctrl=exposure_auto_priority=0
v4l2-ctl --verbose --device="${V4L2_DEVICE}" --all

echo
echo ">>> Run VLC..."
echo

vlc --version

$SUDO_CMD vlc -vvv \
		"v4l2://${V4L2_DEVICE}" \
			--v4l2-chroma=$V4L2_FORMAT \
			--v4l2-fps=$V4L2_FPS \
			--v4l2-width=$V4L2_WIDTH \
			--v4l2-height=$V4L2_HEIGHT \
			--v4l2-aspect-ratio=$V4L2_ASPECT \
		--input-slave="alsa://${ALSA_DEVICE}" \
			--no-alsa-stereo \
			--alsa-format=s16l \
			--alsa-samplerate=48000 \
		"vlc://quit" \
		--sout "#duplicate{dst=display{noaudio}, dst=standard{access=file, mux=avi, dst=\"${fname}.avi\"}}"

echo
echo ">>> Files:"
echo

ffprobe ${fname}*
ls -lh ${fname}*
Он просто берёт поток с камеры и без перекодирования заталкивает в AVI-файл.

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