我有一个 h.264 格式的视频存储在 Raspberry Pi 卡上。该视频必须根据其他计算机的请求,使用以太网电缆以受控数据速率传输到另一台计算机。我认为这可以使用套接字编程和rtsp来完成。但我坚持以下两点:
- 已存储的视频问题与实时视频流有何不同?
- 如何控制数据速率?
- h.264 数据包的打包有什么特别之处吗?
答案1
实时视频流必须以与读取本地文件可能允许的方式截然不同的方式处理传输错误、随机访问/重新同步和 ff/rew。另外,如果“视频”实际上是指“音频+视频捆绑包”,那么就会存在 A 和 V 交错的问题,以及时钟和口型同步的相关问题。
如果概率解决方案足够好,并且源能够“过度泵送”,那么创建比特率控制的文件传输程序客户端(例如用于 FTP)就很简单。否则,您可能需要解决比特率控制泵的更棘手的问题。
这完全取决于您的文件实际包含的内容。例如,您可能指的是包含 H.264 第 10 部分视频和 ISO 11172-3 音频的 ISO 13818-1 传输流:那么文件中的数据包将是 188 字节传输流数据包。您同样可以指实际的 H.264 文件,它不具有您可能指的意义上的数据包结构。好消息是,如果您需要的只是文件传输,那么任何此类文件打包格式几乎都是无关紧要的:只需使用您的文件协议想要使用的任何格式即可。注意:RTSP 用于设置流会话,而不是实际传输数据,因此可能与您的问题无关。