1

我有一个可以通过 gstreamer 播放的原始视频:

gst-launch-1.0 ... autovideoconvert ! autovideosink

我可以编码这个视频:

gst-launch-1.0 ... ! autovideoconvert ! x264enc ! h264parse ! mp4mux ! filesink location=a.mp4

我现在想把这个原始视频放在一个“无损”的 mp4 容器中,没有任何压缩。我怎样才能做到这一点?

4

3 回答 3

1

我不认为我可以使用 mp4mux 但 qtmux 接受 raw-uyvy。以下作品:

gst-launch-1.0 ... ! autovideoconvert ! "video/x-raw,format=(string)UYVY" ! qtmux ! filesink location=a.mov
于 2016-09-07T17:38:20.013 回答
1

你在你的问题中回答了。不要压缩

gst-launch-1.0 ... !自动视频转换!mp4 多路复用器!文件接收器位置=a.mp4

但是你知道,如果没有压缩,这个文件会很大(GBytes)。

于 2016-09-07T10:42:13.807 回答
0

有时源数据不适合重新混合,但如果它是这样的管道应该可以工作:

gst-launch-1.0 filesrc 位置=...![解复用器]!h264解析!qtmux!文件接收器位置=...

h264 数据具有不同的“流格式”和“对齐方式”。流格式为 avc、avc3 和字节流。可能的对齐方式是 au 和 nal。不同的混合器采用不同的组合。h264parse 将在必要时进行该转换。

并且重新迭代,有时源数据将无法重新混合到所需的容器中。这取决于很多因素。

于 2016-09-08T17:14:18.593 回答