[mythtv-users] garbage output from external HDMI source

David Newman dnewman at networktest.com
Sat Jun 10 03:23:53 UTC 2023


MythTV 32 on Ubuntu 22 LTS

I recently switched from an ancient Hauppauge PVR box to a simple HDMI 
capture card and am setting it up as an external recorder using the wiki 
and some config suggestions from list member Dave Pearson (thanks Dave!).

Scheduled recordings work, but for reasons that aren't clear to me the 
output is just digital noise. I could use help in understanding why –– 
configs and logs pasted below.

My setup is the HDMI input of the capture device [1] connected to the 
the HDMI port of my set Arris DCX3200-M top box (via a 2-port powered 
HDMI splitter [2] for viewing live TV). In mythtv-setup I use the 6200ch 
command to change channels (and this works when executed manually).

Config files and logs from a sample bad recording below. Thanks in 
advance for helping understand what's missing here.

dn


[1] Capture device:

https://www.amazon.com/gp/product/B089ZWX5MY

[2] Powered HDMI splitter:

https://www.amazon.com/gp/product/B0B2R3GXL9/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

-----

/usr/local/bin/MythExternalRecorder (called out in mythtv-setup step 2):

#!/bin/bash

## echo "`date`: /usr/bin/mythexternrecorder" "${@}" >> 
/var/log/mythtv/mythexternrecorder.log

/usr/bin/mythexternrecorder -v all:debug --exec --conf 
/usr/share/mythtv/external.conf "${@}"

-----

/usr/share/mythtv/external.conf:

[RECORDER]
# This is the recorder command to execute
command="mythffmpeg -f v4l2 -framerate 30 -input_format mjpeg 
-video_size 1920x1080 -i /dev/video0 -f alsa -ac 2 -itsoffset 0.150 -i 
hw:1,0 -f mpegts -c:v libx264 -b:v 5200k -preset ultrafast -x264opts 
keyint=50 -c:a aac -b:a 160k pipe:1"

# Optional cleanup command which is executed when this recorder is shut down
#cleanup="/home/mythtv/bin/input-finished.sh"
cleanup="killall mythffmpeg"

# Used in logging events, %ARG% are replaced from the channel info
desc=mythffmpeg \"%URL%\" \"%CHANNUM%\" \"%CHANNAME%\" \"%CALLSIGN%\"

-----

recording output from mythbackend.log:

Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I Scheduler 
scheduler.cpp:2330 (HandleReschedule) Reschedule requested for MATCH 
2800 0 0 - SaveRule Bob's Burgers
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I Scheduler 
scheduler.cpp:2444 (HandleReschedule) Scheduled 1 items in 0.0 = 0.02 
match + 0.00 check + 0.00 place
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent 
tv_rec.cpp:1077 (HandleStateChange) TVRec[1]: Changing from None to 
RecordingOnly
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent 
tv_rec.cpp:3600 (TuningFrequency) TVRec[1]: TuningFrequency
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent 
mythsystemunix.cpp:795 (Signal) Child PID 6601 killed with Terminated
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent 
mythsystemunix.cpp:795 (Signal) Child PID 6601 killed with Killed
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent 
mythsystemunix.cpp:795 (Signal) Child PID 6601 killed with Terminated
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I TVRecEvent 
mythsystemunix.cpp:795 (Signal) Child PID 6601 killed with Killed
Jun  9 20:10:48 buster mythbackend: mythbackend[5592]: I Scheduler 
scheduler.cpp:2899 (HandleRecordingStatusChange) Tuning recording: 
"Bob's Burgers":"Romancing the Beef": channel 1109 on cardid [1], sourceid 1
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: I ExternSH 
recorders/dtvsignalmonitor.cpp:343 (HandlePAT) DTVSigMon[1]: Program 1 
found in PAT of SPTS
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: I CoreContext 
scheduler.cpp:717 (UpdateRecStatus) Updating status for "Bob's 
Burgers":"Romancing the Beef" on cardid [1] (Tuning => Recording)
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: I TVRecEvent 
tv_rec.cpp:4146 (TuningNewRecorder) TVRec[1]: rec->GetPathname(): 
'/mnt/md0/mythtv/1109_20230610031100.ts'
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: I TVRecEvent 
tv_rec.cpp:4179 (TuningNewRecorder) TVRec[1]: TuningNewRecorder - 
CreateRecorder()
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: E TVRecEvent 
recorders/recorderbase.cpp:214 (SetStrOption) 
RecBase[1](/usr/local/bin/MythExternalRecorder): 
SetStrOption(...recordingtype): Option not in profile.
Jun  9 20:10:51 buster mythbackend: mythbackend[5592]: E TVRecEvent 
recorders/recorderbase.cpp:204 (SetIntOption) 
RecBase[1](/usr/local/bin/MythExternalRecorder): 
SetIntOption(...recordmpts): Option not in profile.
Jun  9 20:11:36 buster mythbackend: mythbackend[5592]: I ProcessRequest 
mainserver.cpp:1811 (HandleAnnounce) MainServer: MainServer::ANN Monitor
Jun  9 20:11:36 buster mythbackend: mythbackend[5592]: I ProcessRequest 
mainserver.cpp:1813 (HandleAnnounce) MainServer: adding: 
buster(55bfc66f1870) as a client (events: 0)
Jun  9 20:11:36 buster mythbackend: mythbackend[5592]: I ProcessRequest 
mainserver.cpp:1811 (HandleAnnounce) MainServer: MainServer::ANN Monitor
Jun  9 20:11:36 buster mythbackend: mythbackend[5592]: I ProcessRequest 
mainserver.cpp:1813 (HandleAnnounce) MainServer: adding: 
buster(55bfc670c720) as a client (events: 1)
Jun  9 20:11:38 buster mythbackend: mythbackend[5592]: I 
MythSocketThread(78) mainserver.cpp:7889 (connectionClosed) Monitor 
sock(55bfc66f1870) 'buster' disconnected
Jun  9 20:11:38 buster mythbackend: mythbackend[5592]: I 
MythSocketThread(81) mainserver.cpp:7889 (connectionClosed) Monitor 
sock(55bfc670c720) 'buster' disconnected
Jun  9 20:11:40 buster mythbackend: mythbackend[5592]: I ProcessRequest 
mainserver.cpp:1811 (HandleAnnounce) MainServer: MainServer::ANN Playback



More information about the mythtv-users mailing list