<div>I try to use openRTSP to dump the rtsp stream to AVI file with command like this "openRTSP -i w 352 -h 288 -f 25 rtsp://xxxx", where xxxx is the real rtsp url, I've also change the code of "playCommon.cpp" in the line :</div>
<div><strong>aviOut = AVIFileSink::createNew(*env, *session, "stdout",</strong></div><div>to <strong>aviOut = AVIFileSink::createNew(*env, *session, "openRTSP.avi"</strong></div><div>i can get the file, but it couldnot play, then i check the content of openRTSP.avi file, find that the h264 start code is missing(the video codec from stream is avc").</div>
<div>so i add something to AVIFileSink.cpp, useFrame, like this "</div><div>  fOurSink.fNumBytesWritten += fOurSink.addWord(fAVISubsessionTag);<br>  <strong>if (strcmp(fOurSubsession.codecName(), "H264") == 0)//daniel hack<br>
  {<br>   fOurSink.fNumBytesWritten += fOurSink.addWord(frameSize+4);<br>   fOurSink.fNumBytesWritten += fOurSink.addWord(fourChar(0x00, 0x00, 0x00, 0x01));//add start code<br>  }<br>  else<br>   fOurSink.fNumBytesWritten += fOurSink.addWord(frameSize);<br>
</strong>  fwrite(frameSource, 1, frameSize, fOurSink.fOutFid);</div><div> </div><div>then it works, but still have an issue, the avi file generated can be played in vlc, but cannot be played in Windows Media Player. maybe the lack of index is the cause, i will investigate it later.</div>