3

"Deshaking" означает фиксацию видео, снятого с камеры, в руках.

Есть ли видеошак с открытым исходным кодом, кроме y4mstabilizer от mjpegtools? Патч для mencoder является предпочтительным.

Моя текущая командная строка для обработки видео выглядит так:

mplayer  video_from_camera.avi -nosound -vo yuv4mpeg:file=/dev/stdout -really-quiet | y4mstabilizer -n -a 0.8 -r 30 -s 100 | mplayer -cache 1000 /dev/stdin -noconsolecontrols -vf crop=500:380:70:50,denoise3d=3:3:5:5 -vo yuv4mpeg:file=temporary.yuv

y4mstabilizer сам по себе очень нестабилен и часто дает сбой (и он не работал вообще, пока я не исправил распределение памяти в нем).

2 ответа2

6

Используйте transcode с парой плагинов "стабилизировать" и "преобразовать". http://www.transcoding.org/

transcode -i temporary1.yuv -J  stabilize=maxshift=100=fieldsize=20 -y null,null -o /dev/null
transcode -i temporary1.yuv -J transform=smooth=50,denoise3d=luma=3:chroma=3:luma_strength=5:chroma_strength=5 -y yuv4mpeg -o temporary2.yuv
0

Используйте ffmpeg с тем же фильтром, что и в transcode:

# create deshaking profile, with a preview
ffmpeg -i inputvideo.mkv -pix_fmt yuv420p -vf vidstabdetect=show=1:result=inputvideo.trf -vcodec libx264 -preset ultrafast -crf 0 -an -f matroska - | ffplay  -

# preview the transformed video
ffmpeg -i inputvideo.mkv -pix_fmt yuv420p -vf vidstabtransform=input=inputvideo.trf:smoothing=5  -vcodec libx264 -preset ultrafast -crf 0 -an -f matroska -  | ffplay -

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .