Hi Martin - I'm thrilled so far by the new FFMPEG encoder - seems extremely efficient!
My only complaint is I can't get it to draw more than about 25% CPU, and this seems to be limiting how far I can max out the 3 bitrates I'd like to send out. Here's a few configurations I've tried:
1. 1920 x 1080 @ 5000
absolutely gorgeous encoding with 10 to 15 percent CPU, no drops. Life is good!
2. 1920 x 1080 @ 2500
1280 x 720 @ 1250
15 to 25 percent, with no drops after a few seconds of startup
3. 1280 x 720 @ 1250
640 x 360 @ 600
320 x 180 @ 300
15 percent, with 1 or 2 drops per second ongoing
4. 1920 x 1080 @ 2500
1280 x 720 @ 1250
640 x 360 @ 600
fails: 'Streaming nknown error occurred' (sic):
The error report:
FFMPEG.Exited
c --enable-zlib --enable-libfaac --enable-nonfree
libavutil 54. 4.100 / 54. 4.100
libavcodec 56. 0.101 / 56. 0.101
libavformat 56. 1.100 / 56. 1.100
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 0.100 / 5. 0.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, dshow, from 'video=vMix Video:audio=vMix Audio':
Duration: N/A, start: 8197.075000, bitrate: 1536 kb/s
Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1920x1080, 30 tb
, 10000k tbn, 30 tbc
Stream #0:1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
[tcp @ 00CB2220] TCP Buffer has been set to 1048576 bytes
[tcp @ 00CBAB20] TCP Buffer has been set to 1048576 bytes
[rtmp @ 00CB4FC0] Ignoring unsupported var reason
[tcp @ 00CBAB20] TCP Buffer has been set to 1048576 bytes
[rtmp @ 00CB4FC0] Incorrect username/password
[rtmp @ 00CB4FC0] Server error: [ AccessManager.Reject ] : [ authmod=adobe ] :
reason=authfailed&opaque=BR5g/g==
rtmp://<redactedusername>:<redactedpassword>@<redactedserver>:1935/live/stream1080:
Unknown error occurred
The fact that a 3 bitrate test at lower resolutions worked fairly well makes me think it should be possible - I'm just pushing it too much with the higher resolutions.
Oddly though, 3 of the 12 ipu's are flatline idle - is there an ffmpeg setting that allows for more threads? Also, I read a post somewhere about how ffmpeg may not always consider hyperthreading, and that there's different builds oriented towards different threading architectures. Admit this is my first exposure to ffmpeg so kind of grasping here ;)
The 'Incorrect username/password' in the error report has me stumped - the publish credentials are not entered 'per bitrate' so no way I could have goofed that up, so I suspect it's a red herring. Maybe there's some reason Wowza would incorrectly report a generic error. Again, I can do high resolutions, and I can do 3 streams, just not all at once.
Misc details:
Same server & application for each stream
Main profile, 2 sec keyframe, 96 Kb AAC audio
vMix 14.0.0.105 x64
Intel i7-3930K @ 3.2 (std), 16 GB
Streaming to Wowza 4.1.0 trial license on Azure
Finally, any knowledgebase info on manually encoding through ffmpeg, much like the 'start it yourself' instructions for FMLE, but perhaps using more CPU via two separate ffmpeg instances? (Non-aligned streams would be OK in this use case)
Thanks!
David