【发布时间】:2014-02-24 00:36:17
【问题描述】:
我编写了一个应用程序以通过 TCP 从硬件相机接收 RTP 数据包(没有数据包丢失),并将其 H264 数据包转储到文件中,以便我可以使用 MPlayer 或 VLC 播放视频。这已经奏效了,我几乎完成了here 中描述的步骤。播放视频的命令是mplayer -fps 24 -demuxer h264es foobar.h264和vlc foobar.h264。
现在播放视频时出现问题。相机频繁更改 FPS,因为我在写入 H264 文件时丢弃了 RTP 信息,所以每帧的时间戳都会丢失。我的问题是:我该怎么做才能固定帧频?我应该创建空/空白 P 帧(如果可能的话)?如果是这样,我该怎么做?
非常欢迎使用 shell、C/C++ 或 Python 使用 Linux 兼容工具或库(如 ffmpeg、libx264、libavcodec)的任何解决方案。
PS:我几乎没有视频编码和RTP方面的经验。
【问题讨论】: