Stream recording

1,025 views
Skip to first unread message

Rishi Khandelwal

unread,
Jul 9, 2013, 3:47:02 AM7/9/13
to discuss...@googlegroups.com
Hi ,

I am using webRTC and I want to record audio and video streaming.

Is it possible to record in webRTc and if yes then please give me some suggestion to implement it.

Thanks

William Cheung

unread,
Jul 11, 2013, 1:26:42 AM7/11/13
to discuss...@googlegroups.com
The webrtc spec indicates there will be a way to record the media streams, however this is not solidified yet and not even close to being implemented in browser.

Currently you will have to write your own recording mechanism from C++ native webrtc code, which in my opinion is extremely difficult to work with in its current state.

Regards,
William

J Alex Antony Vijay

unread,
Jul 11, 2013, 4:59:14 AM7/11/13
to discuss...@googlegroups.com
Hi Rishi,

    As per my knowledge, WebRTC is supporting call recording. But I haven't tried that.
I have checked the source code while I was working on GIPS integration with PJSIP (replacing pjmedia) for iOS.

You can check the below link, you may get some idea about it.

http://www.webrtc.org/reference/webrtc-internals/voefile#TOC-StartRecordingPlayout

--

Regards,
J Alex Antony Vijay.


--
 
---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Isaline LAURENT

unread,
Jul 11, 2013, 4:13:25 AM7/11/13
to discuss...@googlegroups.com
Hi William,

I'm "doing" recording in a native application, but my solution is pretty bad and the quality isn't great enough.
I'd just like to ask : How would you do in c++ ?
Because in libjingle I found callback for video frames (with VideoRendererInterface if I remember well), but nothing equivalent for audio frames.
Yesterday I got a hint that perhaps VoEExternalMedia (in webrtc) could make the trick by setting an external mixer, but not sure..
I'm a bit stuck and really looking forward discussions / solutions which could make it go in a good way.
Regards,

Isaline


2013/7/11 William Cheung <cheung...@gmail.com>

--

William Cheung

unread,
Jul 16, 2013, 9:52:28 PM7/16/13
to discuss...@googlegroups.com
Hi Z.,

I was just giving advice from my best knowledge, but not sure myself. I would say extracting video frames as you have described then putting them through ffmpeg would provide video recording functionality. I haven't worked with sound in webrtc so I didn't realise there was a problem getting audio samples (my client requirements don't require audio).

I would be interested in maintaining some native webrtc support group, but doesn't seem to be one anywhere.

William

Z.

unread,
Jul 17, 2013, 4:20:03 AM7/17/13
to discuss...@googlegroups.com
Okay, thanks for your answer.
For now, I'm using the ViEFileRecorder but it disapears from last revisions. My code was already a bit tricky as I didn't find a good way to do that without modifying parts of libjingle and I guess this interface was finally not meant for this purpose. Or at least not the way I do.
I switched for an other subject in the meantime so I didn't try the external mixer's solution yet. But I'll tell if I find a working solution.
And I totally agree about a native webrtc support group, it could be really useful !
Regards,

Z.

Leighton Carr

unread,
Jul 18, 2013, 12:00:49 AM7/18/13
to discuss...@googlegroups.com
Hi Z,

In your previous solution were you able to write the stream to an output-file-stream directly?  Or did you have to decode the stream into YUV / RGB frames and then re-encode it before writing it to a file?

Cheers,
Leighton.

Isaline LAURENT

unread,
Jul 18, 2013, 4:20:11 AM7/18/13
to discuss...@googlegroups.com
Hi Leighton,

I'm not sure to understand what you mean, so here it is :
Until revision r4264 of webrtc trunk, there were a ViEFileRecorder class. As soon as the ViEChannel got a frame, it feeds the recorder with it. (And quite the same for audio)
This interface has been removed. (Nonetheless there is interesting stuff is the 'new_include' part, perhaps that's why.)
So no, it is not directly from the RTP packet, it has to be decoded into a I420Frame (=YUV) before being reencoded. But this is part of the WebRTC and not a code of mine.
Actually I don't think you can do it from stream without decoding / encoding, as there is video AND audio. I'm not even sure that you can do it for video or audio only.. But I'm not an expert at all.
If this is possible, please tell me, it could help here.
Regards,

Z.



2013/7/18 Leighton Carr <leight...@gmail.com>

Antonio Mercado

unread,
Jul 30, 2013, 12:19:11 PM7/30/13
to discuss...@googlegroups.com
Check out this demo http://webaudiodemos.appspot.com/AudioRecorder/index.html

This works quite well in desktop chrome stable and beta. I cannot get that to work though for FF (due to API limitations) and it won't work on chrome for android. which brings up a good point, why wont it work on android chrome? Anyone?

chinahu

unread,
Oct 8, 2014, 10:54:14 PM10/8/14
to discuss...@googlegroups.com
there are two API to implement it:
ViEFile->StartRecordIncomingVideo()
VoEFile->StartRecordingPlayout()

chinahu

unread,
Oct 9, 2014, 4:40:56 AM10/9/14
to discuss...@googlegroups.com
oh. why i can not found 'vie_file.h' when i download latest webrtc version?

why? someone can tell me?


On Tuesday, July 9, 2013 3:47:02 PM UTC+8, Rishi Khandelwal wrote:

Marco Ma

unread,
Oct 17, 2014, 9:58:32 AM10/17/14
to discuss...@googlegroups.com
Hi hu shao,
did you solve this problem , I just can't find "vie_file.h" too

在 2014年10月9日星期四UTC+8下午4时40分56秒,hu shao写道:
Reply all
Reply to author
Forward
0 new messages