本地windows平台下进行ffmepg推流

一、ms2019类似采集卡

在Windows上,你可以通过设备管理器或FFmpeg的ffmpeg -list_devices true -f dshow -i dummy命令来查找摄像头的名称。

ffmpeg -f dshow -i video="USB Video" -vcodec libx264 -pix_fmt yuv420p -s 1920x1080 -r 30 -preset veryfast -b:v 2M -f flv rtmp://192.168.1.104:1935/live/test

这条命令的各部分解释如下:

  • -f dshow: 使用DirectShow接口来捕获摄像头数据。
  • -i video="USB Video": 指定要使用的摄像头名称,这里是”USB Video”。
  • -vcodec libx264: 使用H.264视频编码器。
  • -pix_fmt yuv420p: 设置像素格式为YUV420P,这是大多数流媒体服务器所支持的格式。
  • -s 1920x1080: 设置输出分辨率为1920×1080,即1080p分辨率。
  • -r 30: 设置帧率为30帧/秒。
  • -preset veryfast: 设置编码速度为很快,以减少编码延迟。你可以根据需要调整这个参数,例如使用ultrafastfasterfast等,但请注意,编码速度越快,可能会牺牲一些压缩效率。
  • -b:v 2M: 设置视频比特率为2Mbps。这个值可以根据你的网络情况和流媒体服务器的要求进行调整。对于1080p分辨率,2Mbps是一个相对较低的比特率,但应该足以提供可接受的视频质量。如果你想要更高的视频质量,可以尝试增加比特率。

二、播放视频

ffmpeg -re -i 1.mp4 -vcodec copy -acodec copy -f flv rtmp://192.168.1.104:1935/live/test2

这条命令的各部分解释如下:

  • -re: 以原始速度读取输入文件。这个选项通常用于确保以正确的时间戳推流,特别是当输入文件是一个已经录制好的视频时。
  • -i 1.mp4: 指定输入文件的名称,这里是”1.mp4″。
  • -vcodec copy: 使用复制模式来处理视频流,这意味着不会对视频进行重新编码。这样可以保持原始视频的质量和减少处理时间。
  • -acodec copy: 使用复制模式来处理音频流,这意味着不会对音频进行重新编码。同样地,这可以保持原始音频的质量和减少处理时间。
  • -f flv: 设置输出封装格式为FLV,这是RTMP协议常用的封装格式。
  • rtmp://192.168.1.104:1935/live/test2: 你的流媒体服务器的RTMP推流地址,其中192.168.1.104是服务器地址,1935是RTMP端口,live是应用名称,test2是流密钥。

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注