关于rtsp解决方法

关于rtsp
大家好,我刚刚接触RTSP协议:用setup和play命令向摄像头请求播放H264视频,拿到RTP包,把这些包中的PayLoad数据提取出来,存储成为一个文件,然后在服务器上面用LIVE555 Streaming Media来做流,在客户端利用VLC media player查看视频。但是客户端没有视频出来,无论是客户端还是服务端都没有提示相应的错误信息。请问两个问题:
1.这种做法是否存在问题?还是这些RTP包存在问题?
2.这些PayLoad数据显然不是标准的H264媒体数据。那么有没有相关的工具或者开源库能够把RTP包转换成标准H264呢?

  恳请赐教!谢谢大家!

------解决方案--------------------
1、这样应该不行,因为我印象中LIVE555支持的文件格式是纯h264的,而不是你这种带着RTP信息的。
2、这些数据格式应该是h264 over rtp格式的,这种格式不麻烦,你去网上搜一下相关的格式,简单自己写一个从中提取出H264就行。
------解决方案--------------------
播不出来,肯定是你的数据有问题。
首先你从摄像头保存的文件不一定正确,你用播放器播能正常播放么
摄像头端只要按照标准格式打包,直接用vlc点播设备就可以了,不需要再经过livemediaserver

我认为是包格式不正确,即使摄像头的rtp数据是正确的,你把这些数据处理保存成文件这一过程能确保正确么。
vlc通过mediaserver点播其它文件肯定是可以的吧。所以文件有问题。文件是哪里的问题,就是我说的两个地方是否处理正确了
------解决方案--------------------
这样肯定是不行的,rtp的负载只包含媒体数据,不包含元数据。一个文件是由元数据+媒体数据组成的。你生成的文件live555肯定也识别不了。
------解决方案--------------------
看下描述H264进行RTP打包的rfc文档,将RTP中的负载提取出来后组成NALU单元,储存到文件中即可,注意NALU都是以0x00000001开始的,这个过程可能参考live555中h264的RTPSource部分
------解决方案--------------------
首先的传输SPS,PPS等给播放器
------解决方案--------------------
探讨

5楼的朋友,请问“传输SPS,PPS等给播放器”,SPS和PPS是什么意思呢?谢谢!

------解决方案--------------------
探讨

4楼的朋友,请问在live555是什么方法能够将RTP中的负载提出来呢?我找过了testProgs,但是没找到,可能是不熟悉相应的库。谢谢!

------解决方案--------------------
"用setup和play命令向摄像头请求播放H264视频,拿到RTP包,把这些包中的PayLoad数据提取出来,存储成为一个文件"


这个H.264 over RTP 是 按RFC标准来的么? H.264打包成RTP时,好像是把0x00000001起始码略掉了。 翻翻文档吧。