从 MPEG-TS 流中逐帧同步解复用视频和 KLV 数据

从 MPEG-TS 流中逐帧同步解复用视频和 KLV 数据

我需要逐帧同步地从 MPEG-TS 流中解复用视频帧和 KLV 数据。以下命令将解复用 KLV 数据并输出包含 KLV 数据的文本文件。

gst-launch-1.0 filesrc location="some_file.ts" ! tsdemux name=demux \
demux. ! queue ! meta/x-klv ! filesink location="some_file-KLV.txt"

以下命令对视频进行解复用并输出视频文件。

gst-launch-1.0 filesrc location="some_file.ts" ! tsdemux name=demux \
demux. ! queue ! decodebin ! videorate ! videoscale ! x264enc ! mp4mux ! filesink location="some_file-video.mp4" 

将以上两者结合起来:

gst-launch-1.0 filesrc location="some_file.ts" ! tsdemux name=demux \
demux. ! queue ! decodebin ! videorate ! videoscale ! x264enc ! mp4mux ! filesink location="some_file-video.mp4" 
demux. ! queue ! meta/x-klv ! filesink location="some_file.txt"

该命令不起作用。它只是在终端上出现以下消息后卡住了;

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

并且,文本和视频文件的大小为0字节。

我正在使用的 .ts 文件可以直接通过以下任一链接获取:

https://drive.google.com/drive/folders/1t-u8rnEE2MftWQkS1q3UB-J3ogXBr3p9?usp=sharing

https://easyupload.io/xufeny

谢谢你的帮助!干杯。:)

相关内容