rtmp时间戳问题导致的丢帧,帧率显示错误
rtmp中音视频发送的时候:音频计算音频时间戳,视频计算视频的时间戳,不要用相同的时间轴。如果时间戳都采用视频的时间轴,推到nginx服务器的时候,拉流发现音频44.1k的时候,视频帧率变为47帧,48k的时候,视频帧率变为43帧,且vlc看到第一路为音频,第二路为视频。可能此时,nginx服务器误认为音频的帧率为视频的帧率。
音频的帧率计算公式:AAC:1帧内1024个原始采样【sample/fram】设为A,1秒内44100个采样(44100HZ)【sample/second】设为B,则B/A=【frams/second】,则播放速率为B/A = 44100/1024 = 43 帧/秒 或 48000/1024 = 47帧/秒
MP3:1帧内1152个原始采样
rtsp音视频发送,可以以相同的时间轴。音视频流哪个流帧间隔短,就用哪个时间轴,是可以的。当然应该也可以用各自的。