<div dir="auto"><div>This sounds exactly like what HDMI was supposed to do: Prevent people from easily copying a digital source.</div><div dir="auto"><br></div><div dir="auto">In the past certain HDMI splitters have worked to remove HDCP content protection, perhaps you could find one of those still lying around somewhere? That's about the only way this will actually work.</div><div dir="auto"><br></div><div dir="auto">Mike</div><div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Fri, Jun 9, 2023, 21:25 David Newman <<a href="mailto:dnewman@networktest.com">dnewman@networktest.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">MythTV 32 on Ubuntu 22 LTS<br>
<br>
I recently switched from an ancient Hauppauge PVR box to a simple HDMI <br>
capture card and am setting it up as an external recorder using the wiki <br>
and some config suggestions from list member Dave Pearson (thanks Dave!).<br>
<br>
Scheduled recordings work, but for reasons that aren't clear to me the <br>
output is just digital noise. I could use help in understanding why –– <br>
configs and logs pasted below.<br>
<br>
My setup is the HDMI input of the capture device [1] connected to the <br>
the HDMI port of my set Arris DCX3200-M top box (via a 2-port powered <br>
HDMI splitter [2] for viewing live TV). In mythtv-setup I use the 6200ch <br>
command to change channels (and this works when executed manually).<br>
<br>
Config files and logs from a sample bad recording below. Thanks in <br>
advance for helping understand what's missing here.<br>
<br>
dn<br>
<br>
<br>
[1] Capture device:<br>
<br>
<a href="https://www.amazon.com/gp/product/B089ZWX5MY" rel="noreferrer noreferrer" target="_blank">https://www.amazon.com/gp/product/B089ZWX5MY</a><br>
<br>
[2] Powered HDMI splitter:<br>
<br>
<a href="https://www.amazon.com/gp/product/B0B2R3GXL9/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1" rel="noreferrer noreferrer" target="_blank">https://www.amazon.com/gp/product/B0B2R3GXL9/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1</a><br>
<br>
-----<br>
<br>
/usr/local/bin/MythExternalRecorder (called out in mythtv-setup step 2):<br>
<br>
#!/bin/bash<br>
<br>
## echo "`date`: /usr/bin/mythexternrecorder" "${@}" >> <br>
/var/log/mythtv/mythexternrecorder.log<br>
<br>
/usr/bin/mythexternrecorder -v all:debug --exec --conf <br>
/usr/share/mythtv/external.conf "${@}"<br>
<br>
-----<br>
<br>
/usr/share/mythtv/external.conf:<br>
<br>
[RECORDER]<br>
# This is the recorder command to execute<br>
command="mythffmpeg -f v4l2 -framerate 30 -input_format mjpeg <br>
-video_size 1920x1080 -i /dev/video0 -f alsa -ac 2 -itsoffset 0.150 -i <br>
hw:1,0 -f mpegts -c:v libx264 -b:v 5200k -preset ultrafast -x264opts <br>
keyint=50 -c:a aac -b:a 160k pipe:1"<br>
<br>
# Optional cleanup command which is executed when this recorder is shut down<br>
#cleanup="/home/mythtv/bin/input-finished.sh"<br>
cleanup="killall mythffmpeg"<br>
<br>
# Used in logging events, %ARG% are replaced from the channel info<br>
desc=mythffmpeg \"%URL%\" \"%CHANNUM%\" \"%CHANNAME%\" \"%CALLSIGN%\"<br>
<br>
-----<br>
<br>
recording output from mythbackend.log:<br>
<br>
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I Scheduler <br>
scheduler.cpp:2330 (HandleReschedule) Reschedule requested for MATCH <br>
2800 0 0 - SaveRule Bob's Burgers<br>
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I Scheduler <br>
scheduler.cpp:2444 (HandleReschedule) Scheduled 1 items in 0.0 = 0.02 <br>
match + 0.00 check + 0.00 place<br>
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent <br>
tv_rec.cpp:1077 (HandleStateChange) TVRec[1]: Changing from None to <br>
RecordingOnly<br>
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent <br>
tv_rec.cpp:3600 (TuningFrequency) TVRec[1]: TuningFrequency<br>
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent <br>
mythsystemunix.cpp:795 (Signal) Child PID 6601 killed with Terminated<br>
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent <br>
mythsystemunix.cpp:795 (Signal) Child PID 6601 killed with Killed<br>
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent <br>
mythsystemunix.cpp:795 (Signal) Child PID 6601 killed with Terminated<br>
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent <br>
mythsystemunix.cpp:795 (Signal) Child PID 6601 killed with Killed<br>
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I Scheduler <br>
scheduler.cpp:2899 (HandleRecordingStatusChange) Tuning recording: <br>
"Bob's Burgers":"Romancing the Beef": channel 1109 on cardid [1], sourceid 1<br>
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: I ExternSH <br>
recorders/dtvsignalmonitor.cpp:343 (HandlePAT) DTVSigMon[1]: Program 1 <br>
found in PAT of SPTS<br>
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: I CoreContext <br>
scheduler.cpp:717 (UpdateRecStatus) Updating status for "Bob's <br>
Burgers":"Romancing the Beef" on cardid [1] (Tuning => Recording)<br>
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: I TVRecEvent <br>
tv_rec.cpp:4146 (TuningNewRecorder) TVRec[1]: rec->GetPathname(): <br>
'/mnt/md0/mythtv/1109_20230610031100.ts'<br>
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: I TVRecEvent <br>
tv_rec.cpp:4179 (TuningNewRecorder) TVRec[1]: TuningNewRecorder - <br>
CreateRecorder()<br>
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: E TVRecEvent <br>
recorders/recorderbase.cpp:214 (SetStrOption) <br>
RecBase[1](/usr/local/bin/MythExternalRecorder): <br>
SetStrOption(...recordingtype): Option not in profile.<br>
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: E TVRecEvent <br>
recorders/recorderbase.cpp:204 (SetIntOption) <br>
RecBase[1](/usr/local/bin/MythExternalRecorder): <br>
SetIntOption(...recordmpts): Option not in profile.<br>
Jun  9 20:11:36 buster mythbackend: mythbackend[5592]: I ProcessRequest <br>
mainserver.cpp:1811 (HandleAnnounce) MainServer: MainServer::ANN Monitor<br>
Jun  9 20:11:36 buster mythbackend: mythbackend[5592]: I ProcessRequest <br>
mainserver.cpp:1813 (HandleAnnounce) MainServer: adding: <br>
buster(55bfc66f1870) as a client (events: 0)<br>
Jun  9 20:11:36 buster mythbackend: mythbackend[5592]: I ProcessRequest <br>
mainserver.cpp:1811 (HandleAnnounce) MainServer: MainServer::ANN Monitor<br>
Jun  9 20:11:36 buster mythbackend: mythbackend[5592]: I ProcessRequest <br>
mainserver.cpp:1813 (HandleAnnounce) MainServer: adding: <br>
buster(55bfc670c720) as a client (events: 1)<br>
Jun  9 20:11:38 buster mythbackend: mythbackend[5592]: I <br>
MythSocketThread(78) mainserver.cpp:7889 (connectionClosed) Monitor <br>
sock(55bfc66f1870) 'buster' disconnected<br>
Jun  9 20:11:38 buster mythbackend: mythbackend[5592]: I <br>
MythSocketThread(81) mainserver.cpp:7889 (connectionClosed) Monitor <br>
sock(55bfc670c720) 'buster' disconnected<br>
Jun  9 20:11:40 buster mythbackend: mythbackend[5592]: I ProcessRequest <br>
mainserver.cpp:1811 (HandleAnnounce) MainServer: MainServer::ANN Playback<br>
<br>
_______________________________________________<br>
mythtv-users mailing list<br>
<a href="mailto:mythtv-users@mythtv.org" target="_blank" rel="noreferrer">mythtv-users@mythtv.org</a><br>
<a href="http://lists.mythtv.org/mailman/listinfo/mythtv-users" rel="noreferrer noreferrer" target="_blank">http://lists.mythtv.org/mailman/listinfo/mythtv-users</a><br>
<a href="http://wiki.mythtv.org/Mailing_List_etiquette" rel="noreferrer noreferrer" target="_blank">http://wiki.mythtv.org/Mailing_List_etiquette</a><br>
MythTV Forums: <a href="https://forum.mythtv.org" rel="noreferrer noreferrer" target="_blank">https://forum.mythtv.org</a><br>
</blockquote></div></div></div>