利用ffmpeg进行摄像头提取视频编码为h264通过RTP发送数据到指定的rtp地址

话不多说命令如下:

                          ffmpeg -f dshow -i video="Logitech QuickCam Easy/Cool" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f rtp rtp://127.0.0.1:6666>sd.sdp

                         用此命令可以产生264的rtp流, video="Logitech QuickCam Easy/Cool" 为摄像头的名字,-vcodec libx264表示采用264编码器,-preset:v ultrafast -tune:v zerolatency表示实时编码,>sd.sdp表示产生sdp,此sdp的作用是提供给接收rtp流的信息,接收rtp流的一方读取这个文件就可以接受流显示。

                          但是因为此命令产生的h264流是用yuv444编码的,所以接收方要想存储h264流的话,得在发送方的命令加一个参数:

                                                       -pixfmt YUV420P

                         至于有人问怎么知道摄像头的名字,用这个命令就好了:

                                                        ffmpeg -list_devices true -f dshow -i dummy    

                            基本这样就大功告成了~

你可能感兴趣的:(利用ffmpeg进行摄像头提取视频编码为h264通过RTP发送数据到指定的rtp地址)