<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div dir="ltr"><div>I have been working on a project to record audio/video from IP security cameras where people are giving talks in a room.</div><div><br></div><div>I have been working with Axis p1354 cameras capturing H.264 + AAC.  I have had major issues keeping audio/video in sync.  I first tried FFMPEG, then VLC, and finally openRTSP.</div>

<div><br></div><div style="">Does anyone have an IP camera that they could recommend for a project like this (1080p 30fps is ideal).  The final destination for the videos is youtube, the problem is that some videos lose sync or are rejected by youtube.</div>

<div style=""><br></div><div style="">I have tried the -y (sometimes causes issues when I try to upload to youtube or transcode with ffmpeg) and I have tried -l (causes all kinds of video artifacts).  If I leave out -y, the video is not rejected by youtube but can lose sync over time.</div></div></blockquote><div><br></div></div>The problem is not really the IP camera, but the ".mp4" file format; it is ill-suited for what we are trying to do here: Record a file that properly represents incoming audio and video frames that are time-stamped.<div><br></div><div>While it's possible that this part of our code could be improved (the code to look at would be the "QuickTimeFileSink" class), the real problem is that the ".mp4" format is not good for recording incoming RTSP/RTP streams like this.</div><div><br></div><div>The 'Matroska' file format (i.e., ".mkv" files) would be much better for recording timestamped media data like this.  A project to support this has been proposed, but has not yet been sufficiently funded - see <a href="http://live555.com/funded-projects/live555-mkv.html">http://live555.com/funded-projects/live555-mkv.html</a></div><div><br></div><div>An alternative approach might be to use VLC - which is not only a media player, but also has transcoding/recording functionality.  I.e., what might work is to use VLC to play your stream (from your IP camera, using its "rtsp://" URL), and then transcode the audio/video into an output ".mp4" file.  The reason why this might work is that VLC would actually be transcoding (i.e., decoding/reencoding) the audio+video into a new ".mp4" file, rather than just writing the original encoded data to a file - which is what "openRTSP" does.  If you try this, however, you'll need to use a VLC mailing list - not this mailing list - for further support...</div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>