Hmm. I hadn’t considered that. What I’m actually doing is combining two 1920 x 1080 streams into a 3840 x 1080 stream. Would an NVidia 1030 be able to do that, twice?
Back on my Mac mini, I’m still learning how to manage services in macOS vs. Raspbian, but I have the stream running right now: https://www.youtube.com/channel/UCcIZVSZfzrxS6ynL8DQeC-Q/live My largest display is only 1920 x 1200. Can anyone with a 4K display tell me if YT is presenting this as a 3840-wide stream? Thanks! p.s. re: my previous misgivings about a reduction to “only 30% CPU’ was totally misguided. That’s 30% of one core, and the Mini has 8 cores, so the system is very lightly loaded. GUI-level Activity Monitor shows Idle at ~92%. I should be able to run many instances of ffmpeg on here, if I can get them all running properly. > On Nov 8, 2021, at 9:43 AM, andrei ka <[email protected]> wrote: > > you could simply plug a recent low profile nvidia (e.g. 1030) into pcie > slot of your hpe micro and nvenc would do 2 fhd h264 encodes like a charm > &rei > > On Sun, Nov 7, 2021 at 11:40 PM Steven Kan <[email protected]> wrote: > >>> On Jan 18, 2021, at 10:42 PM, Carl Eugen Hoyos <[email protected]> >> wrote: >>> >>> Am Mo., 18. Jan. 2021 um 23:34 Uhr schrieb Steven Kan <[email protected]>: >>>> >>>>> On Jan 18, 2021, at 12:50 PM, Michael Koch < >> [email protected]> wrote: >>> >>>>>> C:\Program Files\ffmpeg\bin> .\ffmpeg.exe -re -thread_queue_size 1024 >> -i rtsp://anonymous:[email protected]:554 -i rtsp:// >> anonymous:[email protected]:554 -vcodec h264_amf -acodec copy -t >> 01:47:02 -filter_complex hstack=inputs=2 -f flv out.flv >>>>>> >>>>>> [snip >>>> >>>>>> Input #0, rtsp, from 'rtsp://anonymous:[email protected]:554': >>>>>> Metadata: >>>>>> title : Media Server >>>>>> Duration: N/A, start: 0.080000, bitrate: N/A >>>>>> Stream #0:0: Video: h264 (High), yuvj420p(pc, bt709, progressive), >> 1920x1080, 25 fps, 25 tbr, 90k tbn, 180k tbc >>>>>> Input #1, rtsp, from 'rtsp://anonymous:[email protected]:554': >>>>>> Metadata: >>>>>> title : Media Server >>>>>> Duration: N/A, start: 0.100000, bitrate: N/A >>>>>> Stream #1:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, >> 100 tbr, 90k tbn, 180k tbc >>>>> >>>>> I see that the two streams have different pixel formats yuvj420p and >> yuv420p. You could try to bring them to the same pixel format before using >> hstack. >>>>> [0]format=yuv420p[a];[a][1]hstack >>>>> >>>>> It's only a wild guess, I'm not sure. >>>> >>>> Do I put this into the filter_complex argument, e.g. -filter_complex >> "[0]format=yuv420p[a];[a][1] hstack=inputs=2” >>>> >>>> That still results in the "Conversion failed!” error. >>> >>> There is a "scale" missing behind format iirc but for performance >> reasons you >>> want to overwrite the pix_fmt instead, not sure if this is possible. >> >> Some progress, here. I’m now attempting this on an M1-powered Mac mini: >> >> ./ffmpeg -thread_queue_size 1024 -hwaccel videotoolbox -i rtsp:// >> anonymous:[email protected]:554 -hwaccel videotoolbox -i rtsp:// >> anonymous:[email protected]:554 -vcodec h264_videotoolbox -acodec >> copy -t 01:00:00 -filter_complex hstack=inputs=2 -f flv "rtmp:// >> a.rtmp.youtube.com/live2/<my-youtube-streaming-key” >> >> which results in: >> >> ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers >> built with Apple clang version 12.0.0 (clang-1200.0.32.27) >> configuration: --prefix=/Volumes/tempdisk/sw >> --extra-cflags=-fno-stack-check --arch=arm64 --cc=/usr/bin/clang >> --enable-gpl --enable-videotoolbox --enable-libopenjpeg --enable-libopus >> --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libvpx >> --enable-libwebp --enable-libass --enable-libfreetype --enable-libtheora >> --enable-libvorbis --enable-libsnappy --enable-libaom --enable-libvidstab >> --enable-libzimg --enable-libsvtav1 --enable-version3 >> --pkg-config-flags=--static --disable-ffplay --enable-postproc >> --enable-nonfree --enable-neon --enable-runtime-cpudetect >> --disable-indev=qtkit --disable-indev=x11grab_xcb >> libavutil 56. 70.100 / 56. 70.100 >> libavcodec 58.134.100 / 58.134.100 >> libavformat 58. 76.100 / 58. 76.100 >> libavdevice 58. 13.100 / 58. 13.100 >> libavfilter 7.110.100 / 7.110.100 >> libswscale 5. 9.100 / 5. 9.100 >> libswresample 3. 9.100 / 3. 9.100 >> libpostproc 55. 9.100 / 55. 9.100 >> Input #0, rtsp, from 'rtsp://anonymous:[email protected]:554': >> Metadata: >> title : Media Server >> Duration: N/A, start: 0.080000, bitrate: N/A >> Stream #0:0: Video: h264 (High), yuvj420p(pc, bt709, progressive), >> 1920x1080, 25 fps, 25 tbr, 90k tbn, 180k tbc >> Input #1, rtsp, from 'rtsp://anonymous:[email protected]:554': >> Metadata: >> title : Media Server >> Duration: N/A, start: 0.060000, bitrate: N/A >> Stream #1:0: Video: h264 (Main), yuv420p(progressive), 1920x1080, 100 >> tbr, 90k tbn, 180k tbc >> Stream #1:1: Audio: aac (LC), 8000 Hz, mono, fltp >> Stream mapping: >> Stream #0:0 (h264) -> hstack:input0 >> Stream #1:0 (h264) -> hstack:input1 >> hstack -> Stream #0:0 (h264_videotoolbox) >> Stream #1:1 -> #0:1 (copy) >> Press [q] to stop, [?] for help >> [rtsp @ 0x14a00ca00] max delay reached. need to consume packet >> [rtsp @ 0x14a00ca00] RTP: missed 146 packets >> [rtsp @ 0x139013a00] Thread message queue blocking; consider raising the >> thread_queue_size option (current value: 8) >> [rtsp @ 0x14a00ca00] max delay reached. need to consume packet >> [rtsp @ 0x14a00ca00] RTP: missed 80 packets >> Output #0, flv, to 'rtmp:// >> a.rtmp.youtube.com/live2/q9rg-sqaq-f0mg-yj1c-e42f': >> Metadata: >> title : Media Server >> encoder : Lavf58.76.100 >> Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), nv12(progressive), >> 3840x1080, q=2-31, 200 kb/s, 1k tbn (default) >> Metadata: >> encoder : Lavc58.134.100 h264_videotoolbox >> Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 8000 Hz, mono, >> fltp >> [h264_videotoolbox @ 0x14b01b800] Color range not set for nv12. Using MPEG >> range. >> [rtsp @ 0x139013a00] max delay reached. need to consume >> packettrate=6235.2kbits/s dup=0 drop=1 speed=0.794x >> [rtsp @ 0x139013a00] RTP: missed 29 packets >> [rtsp @ 0x139013a00] max delay reached. need to consume packet >> [rtsp @ 0x139013a00] RTP: missed 78 packets >> [rtsp @ 0x139013a00] max delay reached. need to consume packet >> [rtsp @ 0x139013a00] RTP: missed 132 packets >> [rtsp @ 0x139013a00] max delay reached. need to consume packet >> [rtsp @ 0x139013a00] RTP: missed 49 packets >> [rtsp @ 0x139013a00] max delay reached. need to consume packet >> [rtsp @ 0x139013a00] RTP: missed 12 packets >> [h264 @ 0x139074600] hardware accelerator failed to decode picture >> [h264 @ 0x139074c00] hardware accelerator failed to decode picture >> [h264 @ 0x139075200] hardware accelerator failed to decode picture >> [h264 @ 0x139070a00] hardware accelerator failed to decode picture >> [h264 @ 0x139072800] hardware accelerator failed to decode picture >> [h264 @ 0x139072e00] hardware accelerator failed to decode picture >> [h264 @ 0x139073400] hardware accelerator failed to decode picture >> [h264 @ 0x139073a00] hardware accelerator failed to decode picture >> Error while decoding stream #1:0: Unknown error occurred >> [h264 @ 0x139074000] hardware accelerator failed to decode picture >> Error while decoding stream #1:0: Unknown error occurred >> >> After a few seconds those errors go away, and then the status line just >> reads: >> >> frame=20249 fps= 55 q=-0.0 size= 67873kB time=00:06:12.99 >> bitrate=1490.7kbits/s dup=0 drop=2 speed= 1x >> >> I don’t know why the errors occur, nor why they resolve themselves, but >> eventually it works. ¯\_(ツ)_/¯ >> >> top shows ffmpeg consuming about ~30% of the CPU, which is more than I had >> hoped for, but far better than I’d seen on my previous i5- and AMD-powered >> boxes. >> >> So I should be able to stream 4 cameras to 2 YT channels without >> completely cooking my mini. >> >> I tried using hevc_videotoolbox, but I get the error, "Video codec hevc >> not compatible with flv" >> >> I am hopeful that further optimization of ffmpeg for AS is coming! >> _______________________________________________ >> ffmpeg-user mailing list >> [email protected] >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> [email protected] with subject "unsubscribe". >> > _______________________________________________ > ffmpeg-user mailing list > [email protected] > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > [email protected] with subject "unsubscribe". _______________________________________________ ffmpeg-user mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
