我参与构建实时消息协议解析器。我正在从RTMP数据包收集视频/音频数据。现在,在任何需要了解的播放器中播放视频容器格式以及使用的编解码器。在我从RTMP数据包中获得的视频数据中,我知道使用的编解码器(例如,On2 VP6)。但是我不知道如何知道音频/视频的容器我正在接收的流。那么我应该假设RTMP只支持FLV容器?或者是否有可能从任何其他容器格式获取音频/视频数据包?如果是,那么如何从RTMP数据包中提供的信息中了解RTMP数据使用的容器类型?RTMP的Adobe规范没有提供关于音频/视频数据容器的任何信息。任何帮助?我在这里呆了很长时间。实时消息协议流的所有可能容器
0
A
回答
0
这是一个有点错误的问题。
RTMP是一个包含容器的传输协议。
从技术上讲,RTMP携带FLV是不正确的,因为FLV有两层封装,RTMP只携带底层。
因此,说RTMP只能传输FLV可以传输的编解码器并不完全正确地说RTMP传输FLV是正确的。
Adobe的RTMP规范不是为开发人员创建的,而是针对Wowza的法律问题创建的,所以它不会写入您了解正在发生的事情。阅读red5,crtmp或其他一些rtmp服务器的源代码,它们相当容易理解。
相关问题
- 1. DNS协议,消息
- 2. 是否有可能在BPMN协作图中“悬挂”消息流?
- 3. 错误消息:PLINK:所述-pw选项只能与SSH协议
- 4. 显示协议缓冲区消息中的所有元素
- 5. 消息传递协议
- 6. Python的替代Adobe实时消息协议
- 7. 在Flash中使用实时消息协议(RTMP)
- 8. WCF消息协定和流
- 9. 写一个流协议:消息大小字段或消息分隔符?
- 10. 一个简单的TCP消息协议?
- 11. POP3协议中的消息ID
- 12. 如何使用node.js启动PostgreSQL消息流协议net.Socket
- 13. 确定协议缓冲区消息类型的最佳实践
- 14. Anymote协议数据消息使用
- 15. 协议术语:消息与数据包
- 16. Python高速公路WAMP消息协议
- 17. 使用哪种消息传递协议?
- 18. 自定义协议不发送消息
- 19. 解码二进制协议消息
- 20. 消息CRC协议工作在USB HID
- 21. 如何创建一个消息协议
- 22. 简单消息协议如何工作?
- 23. 不能用新的websocket协议发送消息
- 24. 如何可视化Chrome DevTool协议消息的日志?
- 25. 有没有办法获得dailymotion实时流的聊天消息?
- 26. 协议检索和发布消息(消息队列没有pub/sub)
- 27. 是否有所有可能的PHP imap_last_error()消息的列表?
- 28. 正在实施表功能所需的UITableViewDataSource协议
- 29. 有效实施现有的协议
- 30. 客户端服务器协议与XML消息