DonationCoder.com forum
 
Read-only archive. This is a static copy of the DonationCoder.com forum. Reading and searching work as before; logging in, posting and private messages do not.
Archive of 2026-10-21 · About this archive · Main site

Author Topic: What do you use to record rtsp://?  (Read 19,169 times)

Boydon

  • Supporting Member
  • Joined in 2010
  • **
  • Posts: 24
What do you use to record rtsp://?
« on: March 30, 2011, 06:29 PM »
As the subject says, I would like to know what do u use to record rtsp:// streams.

Thank you. :)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,931
    • Gathering Badge
    • Plugin Coding Medal
    • Participated in NANY Challenge Seventeen Times
    • Cody Award
    • Coding Snacks
    • Volunteers/Staff
Re: What do you use to record rtsp://?
« Reply #1 on: April 13, 2011, 11:35 AM »
It's not free but Net Transport is an awesome program for this: http://www.xi-soft.com/default.htm

cranioscopical

  • Friend of the Site
  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,776
    • Cody Award
    • Official Forum Clown
    • rotten turkey sandwich - Rotten Turkey Sandwich
Re: What do you use to record rtsp://?
« Reply #2 on: April 13, 2011, 01:34 PM »
Net Transport is an awesome program for this
Amen to that  :up:
Helpful author and frequent, free updates.
Chris

Abandon

  • Participant
  • Joined in 2010
  • *
  • Posts: 2
Re: What do you use to record rtsp://?
« Reply #3 on: April 27, 2011, 10:59 AM »
I use StreamTransport: http://www.streamtransport.com

:Thmbsup:

Renegade

  • Tell me something you don't know...
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 13,291
    • Participated in NANY Challenge Three Times
    • Furry Fandom Badge - Furry Fandom
    • Linux User
Re: What do you use to record rtsp://?
« Reply #4 on: April 27, 2011, 03:13 PM »
I use C#~! :D
Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker

wefayy

  • Participant
  • Joined in 2012
  • *
  • Posts: 2
Re: What do you use to record rtsp://?
« Reply #5 on: February 24, 2012, 07:00 AM »
It seems that screen capture program is definitely able to do so! 

GeraldCSilver

  • Participant
  • Joined in 2014
  • *
  • Posts: 1
Re: What do you use to record rtsp://?
« Reply #6 on: October 14, 2014, 09:48 AM »
We are also using C#, specifically ozeki's camera sdk.

On this website u can read about how to create an onvif or rtsp network video recorder in C#. Using the following code (and the VoIPSDK.dll that can be downloaded from the previously webpage), you can easily record rtsp stream.

In the GetCamera method you need the provide the IP address of your rtsp IP camera, and the username and the password you use for login. !IMPORTANT: you need to use the "rtsp://" prefix in front of the ip address.

Code: (csharp)
GetCamera("rtsp://192.168.115.175:8080", "admin", "admin");

Code: (csharp)
using System;
using System.Drawing;
using System.Windows.Forms;
using Ozeki.Media.IPCamera;
using Ozeki.Media.MediaHandlers.Video;
using Ozeki.Media.Video.Controls;
using Ozeki.Media.MediaHandlers;
 
namespace Network_Video_Recorder01
{
    public partial class Form1 : Form
    {
        private IIPCamera _camera;
        private DrawingImageProvider _imageProvider;
        private MediaConnector _connector;
        private VideoViewerWF _videoViewerWf;
        private MPEG4Recorder _mpeg4Recorder;
 
        public Form1()
        {
            InitializeComponent();
            _imageProvider = new DrawingImageProvider();
            _connector = new MediaConnector();
            _videoViewerWf = new VideoViewerWF();
            SetVideoViewer();
        }
 
        private void SetVideoViewer()
        {
            CameraBox.Controls.Add(_videoViewerWf);
            _videoViewerWf.Size = new Size(260, 180);
            _videoViewerWf.BackColor = Color.Black;
            _videoViewerWf.TabStop = false;
            _videoViewerWf.Location = new Point(14, 19);
            _videoViewerWf.Name = "_videoViewerWf";
        }
 
        private void button_Connect_Click(object sender, EventArgs e)
        {
            _camera = IPCameraFactory.GetCamera("rtsp://192.168.115.175:8080", "admin", "admin");
            _connector.Connect(_camera.VideoChannel, _imageProvider);
            _videoViewerWf.SetImageProvider(_imageProvider);
            _videoViewerWf.Start();
            _camera.Start();
        }
 
        private void Button_CaptureVideoStart_Click(object sender, EventArgs e)
        {
            var path = TextBox_SaveTo.Text;
            if (!String.IsNullOrEmpty(path))
                StartVideoCapture(path);
        }
 
        private void StartVideoCapture(string path)
        {
            var date = DateTime.Now.Year + "y-" + DateTime.Now.Month + "m-" + DateTime.Now.Day + "d-" +
                       DateTime.Now.Hour + "h-" + DateTime.Now.Minute + "m-" + DateTime.Now.Second + "s";
            string currentpath;
            if (String.IsNullOrEmpty(path))
                currentpath = date + ".mp4";
            else
                currentpath = path + "\\" + date + ".mp4";
 
            _mpeg4Recorder = new MPEG4Recorder(currentpath);
            _mpeg4Recorder.MultiplexFinished += Mpeg4Recorder_MultiplexFinished;
            _connector.Connect(_camera.AudioChannel, _mpeg4Recorder.AudioRecorder);
            _connector.Connect(_camera.VideoChannel, _mpeg4Recorder.VideoRecorder);
        }
 
        private void Mpeg4Recorder_MultiplexFinished(object sender, Ozeki.VoIP.VoIPEventArgs<bool> e)
        {
            _connector.Disconnect(_camera.AudioChannel, _mpeg4Recorder.AudioRecorder);
            _connector.Disconnect(_camera.VideoChannel, _mpeg4Recorder.VideoRecorder);
            _mpeg4Recorder.Dispose();
        }
 
        private void Button_CaptureVideoStop_Click(object sender, EventArgs e)
        {
            StopVideoCapture();
        }
 
        private void StopVideoCapture()
        {
            _mpeg4Recorder.Multiplex();
            _connector.Disconnect(_camera.AudioChannel, _mpeg4Recorder.AudioRecorder);
            _connector.Disconnect(_camera.VideoChannel, _mpeg4Recorder.VideoRecorder);
        }
 
        private void Button_SaveTo_Click(object sender, EventArgs e)
        {
            var result = folderBrowserDialog1.ShowDialog();
            if (result == DialogResult.OK)
                TextBox_SaveTo.Text = folderBrowserDialog1.SelectedPath;
        }
    }
}

Original address: https://www.donationcoder.com/forum/index.php?topic=26233.0