Skip to content
ldang edited this page Jan 12, 2014 · 26 revisions

Goal

Develop software to do video capture for SCALE. We are investigating the use of GStreamer. (See GStreamer notes)

The main camera (Samsung SNP6200H) outputs MPEG over RTSP stream with 8000kHz mu-law audio.
When we read RTSP streams using the standard library, we get separate audio and video streams.

*NOTE: There are firmware updates for the camera, which may have an impact on this software development. (See Firmware update notes)

Our problem

Our problem is that there aren't any container formats that like the audio sample rate or the mu-law.

Our approach

We will investigate using GStreamer to capture video.

  • Figure out the GStreamer pipeline to do what we need. ** Capture from RTSP ** Save the stream to file (record) ** Deal with audio -- reencode ** Put into media container
  • Figure out how to work programmatically with GStreamer
  • etc

System Requirement

  • Python 3 (Has bindings for GStreamer1)
  • GStreamer1 (NOTE: Comes with Ubuntu. But if you have to install it, you may have to install some plugins.)

Minimum software requirement

We need to develop software to filter the RTSP stream

  • Keep the video stream as-is.
  • upsample the audio and re-encode it in 48kHz aac-lc
  • Mux the video and audio

This software will be run on the capture computer.

Non-minimal software requirement

We would like to be able to capture the slides as a video stream. We can hook up a scan converter between laptop and projector; the scan converter will have video out that we can stream. We can then do picture-in-picture, with both the speaker and the slides.

James, from an archival point of view, thinks that should write video stream, slide stream, and then the picture-in-picture to a file. MPS is concerned that there is no way to sync the slides to the video. The easiest way is to put them in the same stream.

James is spitballing and asking if you can introduce timecodes to the stream. But if we do it via GStreamer, it is too late. The clock has to come from the camera.

The way that Jess does this at his job is to start/stop rather than stream all day.

MPS is concerned about start/stop, because there is a strong possibility that the operator will forget to start and video won't be captured.

Clone this wiki locally