只需要使用libx264在服务器和libffmpeg在客户端进行解码时,只需要视频的最小金额

StackOverflow https://stackoverflow.com//questions/9710471

我想将视频(无音频)从服务器传输到客户端。我将使用libx264对视频进行编码并使用ffmpeg进行解码。我打算使用固定设置(至少他们将由客户端和服务器提前知道)。我想知道我是否可以避免以集装箱格式包装压缩视频(如MP4或MKV)。

现在我能够使用x264_encoder_encode对我的帧进行编码。我收到一个压缩框架,我可以为每一帧做到这一点。我需要发送什么额外的信息(如果有的话)我需要发送给客户端,以便FFMPEG可以解码压缩帧,更重要的是如何使用libx264获取它。我假设我可能需要生成nal信息(x264_nend?)。了解获得视频的最短必要是什么,以及如何将碎片放在一起,这将是真正的帮助。

有帮助吗?

解决方案

我发现最小信息量是来自每帧的NAL单位,这将为我提供原始的H264流。如果我要将其写入文件,如果添加了.h264,我可以使用vlc观看 我还可以使用ffmpeg打开这样的文件,但如果我想流它,那么它更有意义使用RTSP,以及一个很好的开源库,它是Live555: http://www.live555.com/livemedia/

在他们的常见问题解答中,他们提到了如何将输出从编码器发送到Live555,并且有客户端和服务器的源。我还没有完成编码这一点,但它似乎是一个合理的解决方案

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top