Проблема «картинка в картинке» в выходном потоке в FFMPEG - PullRequest
0 голосов
/ 06 мая 2020

У меня проблема с выходным видео ffmpeg.

Я использую Raspberry Pi для подключения видео (поток с IP-камеры) и звука. Его работа нормально. Я хотел бы добавить к моему выходному видео еще одно видео со второй камерой (в левом верхнем углу).

Графика выглядит так:

_________________
| |_2_|         |
|               |
|        1      |
|_______________|

1 - заголовок, 2 - видео для добавления

, это мой код для ситуации с top:

/home/pi/FFmpeg/ffmpeg -y -thread_queue_size 512K \
-re -vsync 1 -rtsp_transport tcp -itsoffset 0 -use_wallclock_as_timestamps 1 \
-i "rtsp://admin:admin@172.16.7.7:554/cam/realmonitor?channel=1&subtype=0" \
-thread_queue_size 512K -i "rtsp://video:video@172.16.7.8:554/cam/realmonitor?channel=1&subtype=0" \
-filter_complex "[1]scale=iw/3:ih/3 [pip]; [0][pip] overlay=3:3" \
-ar 44100 -itsoffset 1.5 -ac 2 -f alsa -ac 2 -thread_queue_size 512K -i default -f h264 \
-c:a aac -ab 128k -g 50 -strict -2 -f flv rtmp://127.0.0.1/sesja/transmisja

Поток запущен, однако количество кадров в секунду составляет 4-5, скорость составляет 0,3, поэтому выходной поток не работают правильно.

Я прошу помощи в настройке, возможно, Raspberry не поддерживает это решение аппаратно.

ПОЛНЫЙ ЖУРНАЛ:

ffmpeg version N-92540-g28c96c2ce2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Raspbian 6.3.0-18+rpi1+deb9u1) 20170516
  configuration: --arch=armel --target-os=linux --enable-gpl --enable-omx --enable-omx-rpi --enable-nonfree --enable-indev=alsa --enable-outdev=alsa
  libavutil      56. 24.101 / 56. 24.101
  libavcodec     58. 40.100 / 58. 40.100
  libavformat    58. 23.100 / 58. 23.100
  libavdevice    58.  6.100 / 58.  6.100
  libavfilter     7. 46.100 /  7. 46.100
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Input #0, rtsp, from 'rtsp://admin:admin@172.16.7.7:554/cam/realmonitor?channel=1&subtype=0':
  Metadata:
    title           : RTSP Session/2.0
  Duration: N/A, start: 1588833830.370000, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuvj420p(pc, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 20 fps, 20 tbr, 90k tbn, 40 tbc
[rtsp @ 0x31cc480] max delay reached. need to consume packet
[rtsp @ 0x31cc480] RTP: missed 35 packets
[rtsp @ 0x31cc480] max delay reached. need to consume packet
[rtsp @ 0x31cc480] RTP: missed 7 packets
[h264 @ 0x31e4180] concealing 3081 DC, 3081 AC, 3081 MV errors in I frame
[rtsp @ 0x31cc480] max delay reached. need to consume packet
[rtsp @ 0x31cc480] RTP: missed 34 packets
[h264 @ 0x31e4180] error while decoding MB 30 1, bytestream -11
[h264 @ 0x31e4180] concealing 3539 DC, 3539 AC, 3539 MV errors in P frame
[rtsp @ 0x31cc480] max delay reached. need to consume packet
[rtsp @ 0x31cc480] RTP: missed 13 packets
Input #1, rtsp, from 'rtsp://video:video@172.16.7.8:554/cam/realmonitor?channel=1&subtype=0':
  Metadata:
    title           : RTSP Session/2.0
  Duration: N/A, start: 0.430000, bitrate: N/A
    Stream #1:0: Video: h264 (High), yuvj420p(pc, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 20 fps, 100 tbr, 90k tbn, 40 tbc
Guessed Channel Layout for Input Stream #2.0 : stereo
Input #2, alsa, from 'default':
  Duration: N/A, start: 1588833833.133715, bitrate: 1411 kb/s
    Stream #2:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Stream mapping:
  Stream #0:0 (h264) -> overlay:main (graph 0)
  Stream #1:0 (h264) -> scale (graph 0)
  overlay (graph 0) -> Stream #0:0 (flv)
  Stream #2:0 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[h264 @ 0x3389140] concealing 3081 DC, 3081 AC, 3081 MV errors in I frame
[rtsp @ 0x31cc480] max delay reached. need to consume packet
[rtsp @ 0x31cc480] RTP: missed 51 packets
[swscaler @ 0x3b3b6f0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x3b56cf0] deprecated pixel format used, make sure you did set range correctly
Output #0, flv, to 'rtmp://127.0.0.1/sesja/transmisja':
  Metadata:
    title           : RTSP Session/2.0
    encoder         : Lavf58.23.100
    Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 20 fps, 1k tbn, 20 tbc (default)
    Metadata:
      encoder         : Lavc58.40.100 flv
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc58.40.100 aac
frame=    0 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   [h264 @ 0x3831c40] error while decoding MB 30 1, bytestream -11
[h264 @ 0x3831c40] concealing 3539 DC, 3539 AC, 3539 MV errors in P frame
frame=    2 fps=1.5 q=2.0 size=       0kB time=00:00:00.05 bitrate=  57.9kbits/s[h264 @ 0x384a1a0] error while decoding MB 64 6, bytestream -13
[h264 @ 0x384a1a0] concealing 3105 DC, 3105 AC, 3105 MV errors in P frame
frame=    6 fps=2.8 q=7.0 size=     265kB time=00:00:01.50 bitrate=1447.5kbits/sframe=    9 fps=3.3 q=15.5 size=     270kB time=00:00:01.50 bitrate=1472.7kbits/frame=   13 fps=3.7 q=26.4 size=     274kB time=00:00:01.50 bitrate=1496.4kbits/frame=   15 fps=3.6 q=30.2 size=     276kB time=00:00:01.50 bitrate=1507.6kbits/frame=   17 fps=3.6 q=31.0 size=     278kB time=00:00:01.50 bitrate=1518.9kbits/frame=   20 fps=3.6 q=31.0 size=     284kB time=00:00:01.50 bitrate=1551.1kbits/[h264 @ 0x3389140] error while decoding MB 42 4, bytestream -5
[h264 @ 0x3389140] concealing 3287 DC, 3287 AC, 3287 MV errors in P frame
frame=   23 fps=3.7 q=31.0 size=     287kB time=00:00:01.50 bitrate=1568.5kbits/frame=   24 fps=3.6 q=31.0 size=     288kB time=00:00:01.50 bitrate=1574.1kbits/frame=   60 fps=5.7 q=31.0 size=     295kB time=00:00:02.95 bitrate= 817.9kbits/frame=   62 fps=5.5 q=31.0 size=     418kB time=00:00:03.05 bitrate=1121.3kbits/frame=   62 fps=5.2 q=31.0 size=     419kB time=00:00:03.07 bitrate=1114.9kbits/frame=   62 fps=5.0 q=31.0 size=     419kB time=00:00:03.07 bitrate=1114.9kbits/frame=   62 fps=4.8 q=31.0 size=     419kB time=00:00:03.07 bitrate=1114.9kbits/frame=   62 fps=4.6 q=31.0 size=     419kB time=00:00:03.07 bitrate=1114.9kbits/frame=   62 fps=4.4 q=31.0 size=     419kB time=00:00:03.07 bitrate=1114.9kbits/frame=   62 fps=4.2 q=31.0 size=     419kB time=00:00:03.07 bitrate=1114.9kbits/frame=   63 fps=4.1 q=31.0 size=     419kB time=00:00:03.10 bitrate=1108.0kbits/frame=   65 fps=4.0 q=31.0 size=     424kB time=00:00:03.20 bitrate=1084.3kbits/frame=   68 fps=4.0 q=31.0 size=     429kB time=00:00:03.35 bitrate=1049.4kbits/frame=   71 fps=4.0 q=31.0 size=     435kB time=00:00:03.50 bitrate=1017.3kbits/frame=   74 fps=4.1 q=31.0 size=     441kB time=00:00:03.65 bitrate= 988.5kbits/frame=   77 fps=4.1 q=31.0 size=     446kB time=00:00:03.80 bitrate= 961.0kbits/frame=   80 fps=4.1 q=31.0 size=     452kB time=00:00:03.95 bitrate= 936.5kbits/frame=   83 fps=4.1 q=31.0 size=     457kB time=00:00:04.10 bitrate= 913.1kbits/frame=   85 fps=4.1 q=31.0 size=     461kB time=00:00:04.21 bitrate= 896.4kbits/frame=   88 fps=4.1 q=31.0 size=     467kB time=00:00:04.35 bitrate= 878.6kbits/frame=   91 fps=4.1 q=31.0 size=     473kB time=00:00:04.50 bitrate= 860.1kbits/[flv @ 0x37246b0] Failed to update header with correct duration.
[flv @ 0x37246b0] Failed to update header with correct filesize.
frame=   93 fps=4.0 q=31.0 Lsize=     478kB time=00:00:04.63 bitrate= 844.7kbits/s dup=38 drop=36 speed=0.202x    
video:425kB audio:49kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.859331%
[aac @ 0x3268610] Qavg: 185.380
Exiting normally, received signal 2.

Спасибо

...