嗨,我正在尝试使用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);
视频元是我正在研究的东西。如果有人有什么,请和我分享。