<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 3/1/23 15:58, Jay Harbeston wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:C4A3726D-82FA-40DA-8523-C808AD4B3B88@gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <br>
      <div><br>
        <blockquote type="cite">
          <div>On Mar 1, 2023, at 1:12 PM, Peter Bennett
            <a class="moz-txt-link-rfc2396E" href="mailto:pb.mythtv@gmail.com"><pb.mythtv@gmail.com></a> wrote:</div>
          <br class="Apple-interchange-newline">
          <div>
            <div><br>
              On 3/1/23 11:00, Jay Harbeston wrote:<br>
              <blockquote type="cite">I did check out your lean capture
                page, and I used the test on it to see how it fared as
                far as cpu usage, and the RPI4 stinks in comparison to
                what you are using. The events per second for the RPi 4
                processor is 393, so that is a non starter for trying to
                use transcode with H264.<br>
                <br>
                I did try just copying to mpegts , but I couldn’t view
                video using it, either with vlc or mythtv.<br>
                <br>
                The best success I have had is creating an mkv, or an
                avi, but have not been able to get mythtv to accept it
                via a pipe.<br>
                <br>
                Looks like I am SOL then when using the RPI4 as the
                capture for the USB HDMI .<br>
                <br>
                UNLESS there is some other magic!?<br>
                <br>
                Some of the other experiments I tried were to treat it
                as a v4l2 capture device(there look like there are a
                couple of choices as tuners in Mythtv) since it is v4l2
                video, but that was also a fail. I’m guessing the v4l2
                driver is only looking for 640x480 video likes old
                school analog tv?<br>
                <br>
              </blockquote>
              Did you try using ffmpeg using copy to prevent encoding
              and specifying ts output, something like this -<br>
              <br>
              ffmpeg -hide_banner -loglevel error -f v4l2
              -thread_queue_size 256 -input_format mjpeg \<br>
                -framerate 60 -video_size 1280x720 \<br>
                -use_wallclock_as_timestamps 1 \<br>
                -i /dev/video0 -f alsa -ac 2 -ar 48000
              -thread_queue_size 1024 \<br>
                -itsoffset 0.150 -i hw:2.0 \<br>
                -c:v copy -vf format=yuv420p  -c:a copy \<br>
                -f mpegts outfile.ts<br>
              <br>
              This may not work if ts format does not support mjpeg or
              the audio format.<br>
              <br>
              The alsa audio requires you to find the correct audio
              device and to disable pulseaudio. I have a script to find
              the alsa device.<br>
            </div>
          </div>
        </blockquote>
      </div>
      <br>
      <div>I am using fixes/32.0-40 from the mythtv lite packages from
        Peter if that makes a difference regarding how mythtv accepts
        the output.</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>I tried the above example, modified slightly to suit my
        command, and the following occurred: </div>
      <div><br>
      </div>
      <div>The only big change to your command was to use pulse default
        instead of also as the input for audio. I also used 1920x1080
        resolution and 30 fps frame rate. </div>
      <div><br>
      </div>
      <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">ffmpeg -f pulse
          -thread_queue_size 1024 -i default  -f v4l2 -thread_queue_size
          1024 -input_format mjpeg -video_size 1920x1080 -framerate 30
          -use_wallclock_as_timestamps 1 -i /dev/video0 -f mpegts -c:v
          yuv420p -c:a copy  ~/outfile.ts</span><br style="caret-color:
          rgb(0, 0, 0); color: rgb(0, 0, 0); font-family:
          Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        The output encoder is having troubles as shown in the error:<br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavutil      56. 51.100 / 56.
          51.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavcodec     58. 91.100 / 58.
          91.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavformat    58. 45.100 / 58.
          45.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavdevice    58. 10.100 / 58.
          10.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavfilter     7. 85.100 /  7.
          85.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavresample   4.  0.  0 /  4.
           0.  0</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libswscale      5.  7.100 /  5.
           7.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libswresample   3.  7.100 /  3.
           7.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libpostproc    55.  7.100 / 55.
           7.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">Guessed Channel Layout for Input
          Stream #0.0 : stereo</span><br style="caret-color: rgb(0, 0,
          0); color: rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">Input #0, pulse, from 'default':</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> Duration: N/A, start:
          1677702787.763392, bitrate: 1536 kb/s</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">   Stream #0:0: Audio:
          pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">[mjpeg @ 0x1606550] EOI missing,
          emulating</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">Input #1, video4linux2,v4l2,
          from '/dev/video0':</span><br style="caret-color: rgb(0, 0,
          0); color: rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> Duration: N/A, start:
          1677702788.117759, bitrate: N/A</span><br style="caret-color:
          rgb(0, 0, 0); color: rgb(0, 0, 0); font-family:
          Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">   Stream #1:0: Video: mjpeg
          (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080,
          30 fps, 30 tbr, 1000k tbn, 1000k tbc</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">Unknown encoder 'yuv420p'</span></div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>Here is what I am using that gives me audio and video that
        can be played by vlc.  The bit rate for mkv is around 10,000kbps
        less than the avi.</div>
      <div><br>
      </div>
      <div>The bit rate for mkv is ~34,000 kbps while Avi below is
        ~45,000kbps.</div>
      <div><br>
      </div>
      <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">###################################################################################</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">ffmpeg to create mkv stream
           that works correctly, including being able to watch using vlc
          while recording:</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0); font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">ffmpeg -f pulse
          -thread_queue_size 1024 -i default  -f v4l2 -thread_queue_size
          1024 -input_format mjpeg -video_size 1920x1080 -framerate 30
          -i /dev/video0 -f matroska -codec copy pipe:1 > ~/file.mkv</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">ffprobe file.mkv</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavutil      56. 51.100 / 56.
          51.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavcodec     58. 91.100 / 58.
          91.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavformat    58. 45.100 / 58.
          45.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavdevice    58. 10.100 / 58.
          10.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavfilter     7. 85.100 /  7.
          85.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libavresample   4.  0.  0 /  4.
           0.  0</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libswscale      5.  7.100 /  5.
           7.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libswresample   3.  7.100 /  3.
           7.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> libpostproc    55.  7.100 / 55.
           7.100</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">[mjpeg @ 0x16e0c60] EOI missing,
          emulating</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">[matroska,webm @ 0x16de540]
          Estimating duration from bitrate, this may be inaccurate</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">Input #0, matroska,webm, from
          'file.mkv':</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> Metadata:</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">   ENCODER         :
          Lavf58.45.100</span><br style="caret-color: rgb(0, 0, 0);
          color: rgb(0, 0, 0); font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"> Duration: 01:25:19.33, start:
          0.000000, bitrate: 1536 kb/s</span><br style="caret-color:
          rgb(0, 0, 0); color: rgb(0, 0, 0); font-family:
          Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">   Stream #0:0: Video: mjpeg
          (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080,
          30 fps, 30 tbr, 1k tbn, 1k tbc (default)</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">   Stream #0:1: Audio:
          pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s (default)</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">#######################################################################################</span><br
          style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">ffmpeg to create avi stream that
          works correctly including being able to watch using vlc while
          recording:</span><br style="caret-color: rgb(0, 0, 0); color:
          rgb(0, 0, 0); font-family: Palatino-Roman;">
        <br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">
        <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">ffmpeg -f v4l2
          -thread_queue_size 1024 -input_format mjpeg -video_size
          1920x1080 -framerate 30 -i /dev/video0 -f pulse
          -thread_queue_size 1024 -i default -codec copy
          vid_1080p_30.avi</span></div>
      <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"><br>
        </span></div>
      <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">I have had no dropouts using the
          above methods, and ffmpeg uses ~15% of cpu according to top
          while capturing with either of the above.</span></div>
      <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;"><br>
        </span></div>
      <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
          font-family: Palatino-Roman;">Regards!</span></div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
</pre>
    </blockquote>
    <p>Looks good, so if you change your format to <span
        style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
        font-family: Palatino-Roman;"> -f mpegts and the file to have a
        ts extension, does that work? If so you may be able to use that
        ffmpeg command to create a stream into mythtv using the external
        recorder.</span></p>
    <p><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
        font-family: Palatino-Roman;">Peter<br>
      </span></p>
    <p><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);
        font-family: Palatino-Roman;"></span></p>
  </body>
</html>