Difference between revisions of "Video processing"

From DiLab
Jump to: navigation, search
(Webcam parameters)
 
(5 intermediate revisions by the same user not shown)
Line 12: Line 12:
* [[Leo:Blender | Blender]] - Excellent tool that also has video sequence editor with all sorts of tricks. [[Leo:Blender | My notes here]]
* [[Leo:Blender | Blender]] - Excellent tool that also has video sequence editor with all sorts of tricks. [[Leo:Blender | My notes here]]



= Webcam parameters =

Video for Linux has a command line tool with many parameters, but also a GUI frontend that allows for adjusting the webcam parameters before the capture or streaming:
v4l2ucp


==== c920 and h264 stream ====
There is a trick to use the native h264 stream from Logitec c920 webcam.
Here is [https://wiki.matthiasbock.net/index.php/Logitech_C920,_streaming_H.264 the wiki that talks about that].
Here is an example from command line:
# Set camera pixel format
# Test the output with VLC, without resetting the settings
# Test the output with VLC, with resetting the settings
# Stream the video

v4l2-ctl --device=/dev/video0 --set-fmt-video=width=800,height=600,pixelformat=1
cvlc v4l2:///dev/video1 --demux h264
cvlc v4l2:///dev/video1:chroma=h264
cvlc v4l2:///dev/video1:chroma=h264:width=800:height=600 --sout '#standard{access=http,mux=ts,dst=localhost:8080,name=stream,mime=video/ts}' -vvv


= Screencast: Screen recording on Linux =
= Screencast: Screen recording on Linux =


Several tools can do that. Here is the list and my comments:
Several tools can do that. Here is the list and my comments:

=== OBS - Open Broadcaster Software ===

[https://obsproject.com/ Website here] - a fairly sophisticated tool that allows recording and streaming a mix of multiple streams. Has a studio window where one can move, zoom, and arrange order for overlaying video sources, and mix in one or several audio. Uses ffmpg under the hood, so that will have to be installed. Multiplatform.

=== Kazam ===

A simple and minimal video capture software. Can mix audio sources. Does the job for me.

=== avconv ===
=== avconv ===


Line 29: Line 58:
=== Recordmydesktop ===
=== Recordmydesktop ===


Discontinued (since 2009)?
A nice command line tool. However, it cannot easily mix audio sources. Sample command here:
A nice command line tool. However, it cannot easily mix audio sources. Sample command here:
recordmydesktop --width 1920 --height 1200 --full-shots --fps 15 --channels 1 --device hw:1,0 --delay 10
recordmydesktop --width 1920 --height 1200 --full-shots --fps 15 --channels 1 --device hw:1,0 --delay 10


=== gtk-recordmydesktop ===
=== gtk-recordmydesktop ===
This is a GUI frontend for recordmydektop
This is a GUI frontend for recordmydektop (discontinued, although still available from repos)

=== Kazam ===

A simple and minimal video capture software. Can mix audio sources. Does the job for me.


=== Other options ===
=== Other options ===
Line 43: Line 69:
* Camtasia
* Camtasia
* Screenflow
* Screenflow



= Webcam =
= Webcam =

Latest revision as of 07:26, 18 April 2016

Notes about recording and post-processing video on Linux.

Video editors

  • avidemux - tool for processing video streams. Plenty of filters of all kinds. A bit outdated for newer formats.
  • Handbrake - multiplatform video converter simple to use and quite reliable.
  • Openshot - included with ubuntu, fairly basic and simple video sequence editor.


Webcam parameters

Video for Linux has a command line tool with many parameters, but also a GUI frontend that allows for adjusting the webcam parameters before the capture or streaming:

v4l2ucp


c920 and h264 stream

There is a trick to use the native h264 stream from Logitec c920 webcam. Here is the wiki that talks about that. Here is an example from command line:

  1. Set camera pixel format
  2. Test the output with VLC, without resetting the settings
  3. Test the output with VLC, with resetting the settings
  4. Stream the video
v4l2-ctl --device=/dev/video0 --set-fmt-video=width=800,height=600,pixelformat=1
cvlc v4l2:///dev/video1 --demux h264
cvlc v4l2:///dev/video1:chroma=h264
cvlc v4l2:///dev/video1:chroma=h264:width=800:height=600 --sout '#standard{access=http,mux=ts,dst=localhost:8080,name=stream,mime=video/ts}' -vvv

Screencast: Screen recording on Linux

Several tools can do that. Here is the list and my comments:

OBS - Open Broadcaster Software

Website here - a fairly sophisticated tool that allows recording and streaming a mix of multiple streams. Has a studio window where one can move, zoom, and arrange order for overlaying video sources, and mix in one or several audio. Uses ffmpg under the hood, so that will have to be installed. Multiplatform.

Kazam

A simple and minimal video capture software. Can mix audio sources. Does the job for me.

avconv

This is a versatile command line tool. It works OK, except I am sometimes getting chopped audio. Must be synchronization issue.

avconv -f alsa -ac 2 -i default -f x11grab -r 30 -s 854x508 -i :0.0+144,24 -vcodec libx264 -preset ultrafast -crf 0 -threads 0 -acodec pcm_s16le cap6.mkv

BTW, before avconv there was ffmpeg used for this. Most options compatible.

Vokoscreen

A nice tool, lets to mix several audio feeds, such as the computer sounds and a microphone. However, issues with choppy audio again. No wonder, because uses avconv for recording.

Recordmydesktop

Discontinued (since 2009)? A nice command line tool. However, it cannot easily mix audio sources. Sample command here:

recordmydesktop --width 1920 --height 1200 --full-shots --fps 15 --channels 1 --device hw:1,0 --delay 10

gtk-recordmydesktop

This is a GUI frontend for recordmydektop (discontinued, although still available from repos)

Other options

These are not free, and rather for OSX/Windows than Linux. However, quite popular:

  • Camtasia
  • Screenflow

Webcam

Borderless webcam

How to display a borderless webcam feed on the screen:

mplayer -tv driver=v4l2:width=320:height=240:device=/dev/video0 -vo xv tv:// -geometry "99%:90%" -noborder -ontop

Another example, HD size video, with window handle so it can me moved:

mplayer -tv driver=v4l2:width=1280:height=720:device=/dev/video0 -vo xv tv:// -geometry "45%:1%" -ontop


Cheese

A very simple and limited webcam image and video preview and capture tool.