1
我編寫了一個應用程序,通過TCP接收RTP數據包(沒有數據包丟失),並將其H264數據包轉儲到文件中,以便我可以使用MPlayer或VLC播放視頻。這已經在工作,我幾乎完成了描述here的步驟。播放視頻的命令是mplayer -fps 24 -demuxer h264es foobar.h264
和vlc foobar.h264
。如何將H264/RTP流轉儲到文件而不會丟失時間信息?
現在的問題是當我播放視頻時。相機頻繁更換FPS,並且因爲在寫入H264文件時放棄了RTP信息,每個幀的時間戳都會丟失。我的問題是:我需要做些什麼來修復幀頻?我應該創建空白/空白P幀(如果可能的話)?如果是這樣,我該怎麼做?
任何使用Linux兼容工具或庫(如ffmpeg,libx264,libavcodec)使用shell,C/C++或Python的解決方案都非常受歡迎。
PS:我幾乎沒有視頻編碼和RTP的經驗。