gstreamer插件,用于从传输流中获取视频数据包和元数据

时间:2015-01-20 07:23:22

标签: c gstreamer

您好我正在尝试使用gstreamer插件将传输流文件分离为单独的视频和音频文件(仅Ts数据包),我尝试了以下命令行选项

视频

    gst-launch-0.10 filesrc location=~/Desktop/TS_ES/katy.ts ! tsdemux !  filesink location = abc.mpg

for audio

    gst-launch-0.10 filesrc location=~/Desktop/TS_ES/katy.ts ! tsdemux ! mpegaudioparse ! filesink location = abc.mp3

....但我只得到小学流,而不是传输流,做任何 有人想从传输流中解复用(提取)音频/视频数据包,

还有一个问题是哪个插件对提取元数据很有用(PAT / PMT ......) 来自传输流

1 个答案:

答案 0 :(得分:0)

我不确定什么是传输流或基本流。但如果您提取原始数据的方向是什么,AppSink是您的最佳选择。

GstMapFlags flags;
GstMapInfo info;
guint64 i, count;

flags = GST_MAP_READ | GST_MAP_WRITE;
if(! gst_buffer_map(buf, &info, flags)) {
    g_print("buffer map failed\n");
    return 0;
}
// *(info->data) pointing to the first byte of raw data
gst_buffer_unmap(buf, &info);

视频元是我正在努力的事情。如果有人有任何东西,请与我分享。