2014-01-31 70 views
1

我編寫了一個應用程序,通過TCP接收RTP數據包(沒有數據包丟失),並將其H264數據包轉儲到文件中,以便我可以使用MPlayer或VLC播放視頻。這已經在工作,我幾乎完成了描述here的步驟。播放視頻的命令是mplayer -fps 24 -demuxer h264es foobar.h264vlc foobar.h264如何將H264/RTP流轉儲到文件而不會丟失時間信息?

現在的問題是當我播放視頻時。相機頻繁更換FPS,並且因爲在寫入H264文件時放棄了RTP信息,每個幀的時間戳都會丟失。我的問題是:我需要做些什麼來修復幀頻?我應該創建空白/空白P幀(如果可能的話)?如果是這樣,我該怎麼做?

任何使用Linux兼容工具或庫(如ffmpeg,libx264,libavcodec)使用shell,C/C++或Python的解決方案都非常受歡迎。

PS:我幾乎沒有視頻編碼和RTP的經驗。

回答

5

原始h.264流中沒有計時信息。該流需要放入MP4或FLV等容器中,您可以使用PTS/DTS標記每個幀。

相關問題