0

我有一个基于 I420 格式的名为 video.i420 的原始视频文件。我尝试使用 gst-launch-1.0 将其转换为 BGRA 格式:

gst-launch-1.0 filesrc location=video.i420 ! videoparse width=1920 height=816 format=2 framerate=24/1 ! videoconvert ! videoparse format=12 ! filesink location=video.bgra

但输出文件 video.bgra 的大小仅比源文件大 48 个字节。

然后我使用以下命令播放了 video.bgra:

gst-launch-1.0 filesrc location=video.bgra ! videoparse width=1920 height=816 format=2 framerate=24/1 ! videoconvert ! autovideosink

和播放源文件一样。

我为格式转换创建的管道有什么问题?为什么它没有像我预期的那样转换?</p>

4

1 回答 1

1

这个怎么样:

gst-launch-1.0 filesrc location=video.i420 ! videoparse width=1920 height=816 format=i420 framerate=24/1 ! videoconvert ! video/x-raw, format=bgra ! filesink location=video.bgra

我已将幻数更改为人类可读的格式。只是为了可读性,它也应该与数字一起使用。

除此之外。所需要的是告诉videoconvert一个明确的视频格式。我认为videoparser只是解析数据,但不会对其前身元素强制执行特定的上限。

于 2016-08-21T14:28:49.290 回答