音频和视频不同步将 USB 网络摄像头流式传输到 RTMP 服务器

时间:2021-04-02 04:41:39

标签: nginx ffmpeg raspberry-pi rtmp

我正在尝试使用 ffmpeg 将连接到我的 raspberry pi 4 的 4 个网络摄像头流式传输到 nginx RTMP 服务器(同一网络)。

这在最初的时刻效果很好,但一段时间后,视频领先于音频,再过一段时间,它们就完全不同步了。

这是我正在运行的命令:

ffmpeg -r 15 -s 384x288 -f video4linux2 -i /dev/video0 \
-f alsa -thread_queue_size 1024 -ac 1 -i hw:1 \
-f flv rtmp://192.168.0.100/live/cam1

rtmp 服务器是一个 docker 镜像:tiangolo/nginx-rtmp

客户端是 VLC 媒体播放器。

请帮帮我。我不知道我还能做什么。

命令输出:

[video4linux2,v4l2 @ 0x1a932b0] The V4L2 driver changed the video from 384x288 to 352x288
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 6196.784888, bitrate: 24330 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 352x288, 24330 kb/s, 15 fps, 15 tbr, 1000k tbn, 1000k tbc
Guessed Channel Layout for Input Stream #1.0 : mono
Input #1, alsa, from 'hw:1':
  Duration: N/A, start: 1617338591.667887, bitrate: 768 kb/s
    Stream #1:0: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> flv1 (flv))
  Stream #1:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, flv, to 'rtmp://192.168.0.100/live/cam1':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p(progressive), 352x288, q=2-31, 200 kb/s, 15 fps, 1k tbn, 15 tbc
    Metadata:
      encoder         : Lavc58.35.100 flv
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 48000 Hz, mono, s16p
    Metadata:
      encoder         : Lavc58.35.100 libmp3lame
frame=  639 fps= 15 q=2.0 size=    1513kB time=00:00:42.57 bitrate= 291.1kbits/s speed=0.993x    

0 个答案:

没有答案