【问题标题】:How to dump the H264/RTP stream to a file without losing time info?如何在不丢失时间信息的情况下将 H264/RTP 流转储到文件中?
【发布时间】: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方面的经验。

【问题讨论】:

    标签: ffmpeg h.264 rtp x264


    【解决方案1】:

    原始 h.264 流中没有时间信息。流需要放入 MP4 或 FLV 等容器中,您可以在其中使用 PTS/DTS 标记每个帧。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-14
      • 2015-01-10
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 2013-04-14
      • 2020-01-11
      相关资源
      最近更新 更多