如何通过gstreamer将pcap转换为带有视频和音频的avi文件?

Posted

技术标签:

【中文标题】如何通过gstreamer将pcap转换为带有视频和音频的avi文件?【英文标题】:How to convert pcap to avi file with video and audio by gstreamer? 【发布时间】:2012-04-29 18:25:43 【问题描述】:

我需要读取一个 pcap 文件并使用 gstreamer 将其转换为带有音频和视频的 avi 文件。

如果我尝试以下命令,它只适用于生成视频文件。

仅视频

gst-launch-0.10 -m -v filesrc location=h264Audio.pcap ! pcapparse src 端口=44602 \ !"应用程序/x-rtp,有效载荷 = 96" ! rtph264depay! “视频/x-h264,宽度=352,高度=288,帧率=(分数)30/1”\ ! ffdec_h264 !视频速率! ffmpeg色彩空间\ ! !文件接收器位置=testh264.avi

仅音频

如果我使用以下命令,它只适用于生成音频文件。

gst-launch-0.10 -m -v filesrc location=h264Audio.pcap ! pcapparse src 端口=7892 \ ! “应用程序/x-rtp,有效载荷=8”! rtppcmadepay!阿拉法德!音频转换!音频重采样! !文件接收位置=test1audio.avi

视频 + 音频

当我如下组合两个命令时,我遇到了一个错误消息—— 错误:来自元素 /GstPipeline:pipeline0/GstFileSrc:filesrc1:内部数据流错误。

gst-launch-0.10 -m -v filesrc location=h264Audio.pcap ! pcapparse src 端口=44602 \ !"应用程序/x-rtp,有效载荷 = 96" ! rtph264depay! “视频/x-h264,宽度=352,高度=288,帧率=(分数)30/1”\ ! ffdec_h264 !视频速率! ffmpeg色彩空间\ !队列 !多路复用器。 \ filesrc 位置=h264Audio.pcap pcapparse src-port=7892 \ ! “应用程序/x-rtp,有效载荷=8”! rtppcmadepay!阿拉法德!音频转换!音频重采样!队列 ! avimux 名称=多路复用器!文件接收位置=testVideoAudio.avi

请就这个问题给我一些解决方案或建议。 先感谢您。 埃里克

【问题讨论】:

【参考方案1】:

代替第二个“filesrc!pcapparse”给第一个 pcapparse 一个 name=demux,删除 src-port arg 并从 demux 开始第二个分支。

【讨论】:

以上是关于如何通过gstreamer将pcap转换为带有视频和音频的avi文件?的主要内容,如果未能解决你的问题,请参考以下文章

在 Web 浏览器上使用带有 Janus 或 WebRTC 的 GStreamer 进行实时视频流

如何通过动态链接在 GStreamer 合成器中正确播放视频?

如何使用 Gstreamer 通过 RTMP 流式传输?

如何从 gstreamer 中的源请求更多缓冲区?

在 C# 中将日志文件转换为 pcap 文件

Gstreamer:为啥在显示一些过滤器之前我需要一个视频转换?