嗨,我正在尝试使用gstreamer插件将传输流文件解复用到中以分离视频和音频文件(仅Ts包),我尝试了以下命令行选项
用于视频

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

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

……但我得到的只是基本流,不是传输流,任何
其中一个想法是从传输流中解复用(提取)音频/视频包,并且
还有一个问题是哪个插件对提取元数据很有用(PAT/PMT…)
从传输流

最佳答案

我不知道什么是传输流,或基本流。但是如果你从哪个方向提取原始数据,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);

视频元是我正在研究的东西。如果有人有什么,请和我分享。

10-06 11:25