如何使用 ffmpeg 从网络摄像头获取未解码的 h264 流?

How to get non-decoded h264 stream from the webcam using ffmpeg?

我想获取未解码的 h264 格式的文件以在另一个客户端应用程序中使用。我知道如何使用文档中的以下命令流式传输到磁盘。

编码来自 /dev/video0 的视频的示例:

ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 output.mp4

高层图表

这是典型的生产者和消费者问题 -

Webcam  =============> ffmpeg to  video stream into file. (producer)                                    
                                       ^
                                       |
                                       |
Client ________________________________|
(consumer)
// reads only Non-decoded h264 format from a file. 

使用

ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 output.mp4 -c copy out.h264

out.h264为接收到的H264码流,保存为文件

我发现这是解决方案

ffmpeg  -pix_fmt yuv420p -y -f v4l2 -vcodec h264  -i /dev/video0 out.h264