Difference between revisions of "2008.RMLL.info recording"

From ElphelWiki
Jump to: navigation, search
(FreeSoftware)
(Recording audio)
Line 78: Line 78:
  
 
===Recording audio===
 
===Recording audio===
 +
 +
To record audio there is new elphel cam with USB where you can plug USB microphone ( recommended SAMSON USB MIC ) BUT
 +
she is not avaivable for this events :( so we need to find solution to record audio.
 +
 +
The solution is a computer ... :(
 +
 +
 +
For this we need standard computer with soundcard alsa compatible and gstreamer-0.10 software.
 +
To record audio i use this scripts made by luxigo.
 +
 +
<pre>
 +
#!/bin/sh
 +
 +
# audio settings
 +
AUDIO_DEVICE="hw:0,0"
 +
AUDIO_BITRATE=48000
 +
 +
# output file name
 +
OUTFILE="out.ogg"
 +
 +
DEBUG="-v -m"
 +
 +
gst-launch-0.10 $DEBUG \
 +
\
 +
oggmux name=mux \
 +
! filesink location="$OUTFILE" \
 +
\
 +
fdsrc fd=0 \
 +
! queue \
 +
! oggparse \
 +
! oggdemux \
 +
! ogmvideoparse \
 +
! mux. \
 +
\
 +
alsasrc \
 +
device="$AUDIO_DEVICE" \
 +
! queue \
 +
! audioconvert \
 +
! vorbisenc bitrate=$AUDIO_BITRATE \
 +
! mux.
 +
 +
# Description of the gst-launch command above:
 +
 +
# - the muxed stream (the output from the oggmux element) will be
 +
#  stored in a file (filesink)
 +
 +
# - The video comes from ElphelOgm through stdin (fdsrc fd=0).
 +
# - The ogg stream is parsed for security (optional?) and demuxed.
 +
# - The ogmvideo stream is also parsed for security (optional?).
 +
# - The resulting mjpeg stream is sent to the ogg muxer through the
 +
#    "mux." element (defined with "oggmux name=mux").
 +
#  (This syntax could also be used for oggdemux but here there's only
 +
#  a single stream in the incoming ogg container so we dont need to
 +
#  complicate things here)
 +
 +
# - The sound comes from an alsa device through alsasrc,
 +
# - The sound is converted in a suitable format then encoded in vorbis,
 +
#  before being muxed with the video stream
 +
</pre>
  
 
===Recording video===
 
===Recording video===

Revision as of 15:35, 24 June 2008

Prefix

We had some contacts with organizers of http://2008.rmll.info/?lang=en and decided to participate recording all conferences with Elphel NC353L network cameras.

Goals

The goal is:

  • record all the conferences in high resolution. (from 640x480 to 1920x1080p)
  • restream few conferences in real time
  • upload ALL conferences on RMLL site and google video and as many support as possible.
  • keep high quality 1920x1080p MJPEG sources for all conferences what will be post processed.
  • have at least 1 camera per conference room and 2-4 camera for a very important conferences what will be post processed.
  • do all that with exclusively FreeSoftware

Hardware

This section will describe used hardware.

Cameras

We will bring 14 cameras with lenses and POE injectors.

POE injectors

We will bring POE injectors with us.

Lenses

We will use Computar H2Z0414C-MP Varifocal Lens, 4-8mm F1.4 Manual Iris Vari-Focal C-Mount, 3MPix. We will have 10-12 of such lense + 2 5MPix fisheyes. Maybe we will have some other good quality lenses.

PC

Requirement

If we do not want to stream or transcode in live a X40 IBM thinkpad or equivalent is OK.

If we do want to mux, transcode and stream in realtime a core2duo or quadro 2.4 Ghz and with 2GB RAM minimum is more welcome.

Microphones

Tripods

Network

Software

FreeSoftware

List of freesoftware needed to record video/audio, mux and stream.


Of course standard GNU/Linux

mencoder to record video

gstreamer-0.10 to record audio

ogmmerge from ogmtools to mux ogg vorbis sound produce by gstreamer and mjpeg video from mencoder

ffmpeg2theora to encode on theora ( minimum version is 0.19 )

oggfwd to send video and icecast server

icecast2 for streaming the ogg/theora file


On standard ubuntu 7.10 i've got all this software with apt-get.

Ubuntu Desktop

Special scripts for recording

Pure-Data patch

Here there is a simple patch for pure data to record, mux sound and stream on icecast server. You can download this patch here :

http://community.elphel.com/files/elencode.pd

Change the path of your need and launch this with pd name_you_choose.pd

Recording audio

To record audio there is new elphel cam with USB where you can plug USB microphone ( recommended SAMSON USB MIC ) BUT she is not avaivable for this events :( so we need to find solution to record audio.

The solution is a computer ... :(


For this we need standard computer with soundcard alsa compatible and gstreamer-0.10 software. To record audio i use this scripts made by luxigo.

#!/bin/sh

 # audio settings
 AUDIO_DEVICE="hw:0,0"
 AUDIO_BITRATE=48000

 # output file name
 OUTFILE="out.ogg"

 DEBUG="-v -m"

 gst-launch-0.10 $DEBUG \
 \
	oggmux name=mux \
	! filesink location="$OUTFILE" \
 \
	fdsrc fd=0 \
	! queue \
	! oggparse \
	! oggdemux \
	! ogmvideoparse \
	! mux. \
 \
	alsasrc \
		device="$AUDIO_DEVICE" \
	! queue \
	! audioconvert \
	! vorbisenc bitrate=$AUDIO_BITRATE \
	! mux.

 # Description of the gst-launch command above:

 # - the muxed stream (the output from the oggmux element) will be
 #   stored in a file (filesink)

 # - The video comes from ElphelOgm through stdin (fdsrc fd=0).
 # - The ogg stream is parsed for security (optional?) and demuxed.
 # - The ogmvideo stream is also parsed for security (optional?).
 # - The resulting mjpeg stream is sent to the ogg muxer through the
 #    "mux." element (defined with "oggmux name=mux"). 
 #   (This syntax could also be used for oggdemux but here there's only
 #   a single stream in the incoming ogg container so we dont need to
 #   complicate things here) 

 # - The sound comes from an alsa device through alsasrc,
 # - The sound is converted in a suitable format then encoded in vorbis,
 #   before being muxed with the video stream

Recording video

Muxing audio with video

Transcoding to Theora/Vorbis

Streaming