我用Wireshark将一个视频调用保存到一个.pcap文件中,并且我想从RTP数据包中获取视频。RTP包的有效载荷类型是 vp8 ,我可以在C++中使用libpcap库来查找vp8 RTP包。然后我将所有RTP vp8数据包的内容保存到一个文件中。但是,我不能通过使用ffmpeg将这些原始vp8数据转换为.mp4。在转换过程中,ffmpeg会出现错误。ffmpeg转换错误:处理输入时发现的无效数据
从.mp4或.webm视频文件中获取vp8 RTP数据包的步骤是什么?
编辑:我可以得到原始的VP8数据,不包括VP8有效负载描述符、有效载荷头和关键帧头。然后,根据ivf文档vp8 IVF文件,为每个原始帧添加了ivf头和帧头。
但是当我想通过使用ffmpeg将我的ivf文件(output1)转换为输出1.mp4时
-i output1 -c:v vp8输出1.mp4
我会犯错误
发布于 2017-05-07 09:42:03
JanusGateway具有将RTP (VP8 8/VP8 9/H 264/Opus)转换为(webm/mp4)的功能。它只需将RTP编码到相应的容器(webm/MP4/opus),不包含转码器。
您可以使用ffmpeg
将其转换为任何其他格式。
简而言之,janus将通过在每个数据包中添加一个前缀头来在文件中商店 RTP数据包。然后,我们可以使用后处理器将vp8 RTP数据包转换为webm。
https://github.com/meetecho/janus-gateway/blob/master/postprocessing/pp-webm.c
https://stackoverflow.com/questions/43759907
复制相似问题