title: Why would I receive input/output error with testsrc ffmpeg?
body: <p>I am trying to write an integration test which requires actually RTMP streaming to a 3rd party service. <a href="https://stackoverflow.com/questions/44507032/how-to-generate-an-rtmp-test-stream-using-ffmpeg-command">How to generate an RTMP test stream using ffmpeg command?</a> seems like the right answer, however I can't get it to work.</p>
  
  <p>As a baseline, without RTMP, <code>ffmpeg -f lavfi -i testsrc -t 30 -pix_fmt yuv420p test.mp4</code> works.</p>
  
  <p><code>ffmpeg -f lavfi -i testsrc -t 30 -pix_fmt yuv420p -f flv rtmp://mylocation</code> gives me the error <code>rtmp://mylocation: Input/output error</code></p>
  
  <p>I should note that the URL is valid, otherwise I get an error saying it can't open a connection.</p>
  
  <p>I also tried <code>ffmpeg -f lavfi -i testsrc -pix_fmt yuv420p -f flv rtmp://mylocatiom</code>. I had read that if you don't supply time, it goes on forever and thought I might need that for an RTMP stream. I got the same error.</p>
  
  <p>Here is full output from last attempt, with added params as suggested by @Gyan below, along with verbose logging.</p>
  
  <pre><code>ffmpeg -loglevel verbose -f lavfi -i testsrc -pix_fmt yuv420p -f flv -c:v libx264 -g 50 rtmp://myhost:1935/identifier
  ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
    built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox
    libavutil      56. 22.100 / 56. 22.100
    libavcodec     58. 35.100 / 58. 35.100
    libavformat    58. 20.100 / 58. 20.100
    libavdevice    58.  5.100 / 58.  5.100
    libavfilter     7. 40.101 /  7. 40.101
    libavresample   4.  0.  0 /  4.  0.  0
    libswscale      5.  3.100 /  5.  3.100
    libswresample   3.  3.100 /  3.  3.100
    libpostproc    55.  3.100 / 55.  3.100
  [Parsed_testsrc_0 @ 0x7fddf34022c0] size:320x240 rate:25/1 duration:-1.000000 sar:1/1
  Input #0, lavfi, from 'testsrc':
    Duration: N/A, start: 0.000000, bitrate: N/A
      Stream #0:0: Video: rawvideo, 1 reference frame (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
  [tcp @ 0x7fddf3404880] Starting connection attempt to {theIP} port 1935
  [tcp @ 0x7fddf3404880] Successfully connected to {theIP} port 1935
  rtmp://myhost:1935/identifier: Input/output error
  </code></pre>
  
  <p>Updating to <code>debug</code> added some more data like this before error:</p>
  
  <pre><code>[tcp @ 0x7fc4e1601a00] Starting connection attempt to 34.224.30.155 port 1935
  [tcp @ 0x7fc4e1601a00] Successfully connected to 34.224.30.155 port 1935
  [rtmp @ 0x7fc4e1411200] Handshaking...
  [rtmp @ 0x7fc4e1411200] Type answer 3
  [rtmp @ 0x7fc4e1411200] Server version 3.0.1.1
  [rtmp @ 0x7fc4e1411200] Proto = rtmp, path = /identifier, app = identifier, fname = 
  [rtmp @ 0x7fc4e1411200] Window acknowledgement size = 2500000
  [rtmp @ 0x7fc4e1411200] Max sent, unacked = 2500000
  [rtmp @ 0x7fc4e1411200] New incoming chunk size = 4096
  [rtmp @ 0x7fc4e1411200] Releasing stream...
  [rtmp @ 0x7fc4e1411200] FCPublish stream...
  [rtmp @ 0x7fc4e1411200] Creating stream...
  [rtmp @ 0x7fc4e1411200] Sending publish command for ''
  rtmp://myhost:1935/identifier: Input/output error
  </code></pre>
  
  <p><code>Sending publish command for ''</code> is suspect, but not sure what to do about that.</p>