Motion-Project / motion

Motion, a software motion detector. Home page: https://motion-project.github.io/
GNU General Public License v2.0
3.69k stars 550 forks source link

Won't connect to device but works with ffmpeg #1796

Closed RegProctor closed 3 months ago

RegProctor commented 3 months ago

Did you read the guide?

Yes

What is the base version number of Motion being used?

4.6.x

What was the install method?

Installed via package tool

What is base architecture?

x86

What is the distro being used?

Other

Disto version number

OpenSUSE Tumbleweed

Camera type(s) being used?

Network camera with RTSP

Describe the issue/problem and steps to reproduce

I added a new camera to my network which is a: SV3C HX02

It doesn't want to connect. To make sure I could connect to the camera on the machine with motion I did:

ffmpeg -i rtsp://zzzzzzz:XXXXXXXXXX@YYYYYYY:554/11 -c copy output.mkv

and since this machine has no monitor copied the output to another machine and was able to see the video just fine. The camera config is nothing special, just:

# Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL).
; log_level 9

# Target directory for pictures, snapshots and movies
target_dir /srv/cctv/garage-inner-wall

# The full URL of the network camera stream.
netcam_userpass YYYY:XXXXXXXXXX
netcam_high_url rtsp://zzzzzzzzz:554/11
netcam_url      rtsp://zzzzzzzzz:554/12

############################################################
# Image Processing configuration parameters
############################################################

# Image width in pixels.
width 1920

# Image height in pixels.
height 1080

# Maximum number of frames to be captured per second.
framerate 10

# Text to be overlayed in the lower left corner of images
text_left Garage Inner Wall

My OS details are:

>cat /etc/os-release
NAME="openSUSE Tumbleweed"
# VERSION="20240807"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20240807"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
# CPE 2.3 format, boo#1217921
CPE_NAME="cpe:2.3:o:opensuse:tumbleweed:20240807:*:*:*:*:*:*:*"
#CPE 2.2 format
#CPE_NAME="cpe:/o:opensuse:tumbleweed:20240807"
BUG_REPORT_URL="https://bugzilla.opensuse.org"
SUPPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo-Tumbleweed"

Since I was able to stream from the camera through through ffmpeg I figured this is more likely a motion issue than an issue with my computer setup.

ffmpeg showed:

ffmpeg -i rtsp://xxxxx:yyyyyy@zzzzzzzzz:554/11 -c copy output2.mkv
ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13 (SUSE Linux)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -ffat-lto-objects -g' --optflags='-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -ffat-lto-objects -g' --disable-htmlpages --enable-pic --disable-stripping --enable-shared --disable-static --enable-gpl --enable-version3 --disable-openssl --enable-gnutls --enable-ladspa --enable-libshaderc --enable-vulkan --enable-libplacebo --disable-cuda-sdk --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libdc1394 --enable-libdrm --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libjack --enable-libjxl --enable-librist --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopenh264-dlopen --enable-libopus --enable-libpulse --enable-librav1e --enable-librubberband --enable-libsvtav1 --enable-libsoxr --enable-libspeex --enable-libssh --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lto --enable-lv2 --enable-libvpl --enable-vaapi --enable-vdpau --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libxvid --enable-muxers --enable-demuxers --disable-encoders --disable-decoders --disable-decoder='h264,hevc,vc1' --enable-encoder=',a64multi,a64multi5,aac,ac3,adpcm_adx,adpcm_argo,adpcm_g722,adpcm_g726,adpcm_g726le,adpcm_ima_alp,adpcm_ima_amv,adpcm_ima_apm,adpcm_ima_qt,adpcm_ima_ssi,adpcm_ima_wav,adpcm_ima_ws,adpcm_ms,adpcm_swf,adpcm_yamaha,alac,alias_pix,amv,anull,apng,ass,asv1,asv2,av1_nvenc,av1_vaapi,ayuv,bitpacked,bmp,cinepak,cljr,dca,dfpwm,dnxhd,dpx,dvdsub,dvvideo,exr,ffv1,ffvhuff,flac,flashsv,flashsv2,flv,g723_1,gif,h261,h263,h263_v4l2m2m,h263p,hdr,huffyuv,ilbc,jpeg2000,jpegls,libaom,libaom_av1,libcodec2,libgsm,libgsm_ms,libjxl,libmp3lame,libopencore_amrnb,libopenh264,libopenjpeg,libopus,librav1e,libschroedinger,libspeex,libsvtav1,libtheora,libtwolame,libvo_amrwbenc,libvorbis,libvpx_vp8,libvpx_vp9,libwebp,libwebp_anim,libxvid,mjpeg,mjpeg_qsv,mjpeg_vaapi,mlp,mp2,mp2fixed,mpeg1video,mpeg2_qsv,mpeg2_vaapi,mpeg2video,mpeg4,mpeg4_v4l2m2m,msmpeg4v1,msmpeg4v2,msmpeg4v3,msnsiren,msvideo1,nellymoser,opus,pam,pbm,pcm_alaw,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_mulaw,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar,pcm_s24be,pcm_s24le,pcm_s24le_planar,pcm_s32be,pcm_s32le,pcm_s32le_planar,pcm_s8,pcm_s8_planar,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,pcx,pgm,pgmyuv,phm,png,ppm,qoi,qtrle,r10k,r210,ra_144,rawvideo,roq,roq_dpcm,rpza,rv10,rv20,s302m,sbc,sgi,siren,smc,snow,sonic,sonic_ls,speedhq,srt,ssa,subrip,sunrast,svq1,targa,text,tiff,truehd,tta,ttml,utvideo,v210,v308,v408,v410,vc2,vnull,vorbis,vp8_qsv,vp8_v4l2m2m,vp8_vaapi,vp9_qsv,vp9_vaapi,wavpack,wbmp,webvtt,wmav1,wmav2,wmv1,wmv2,wrapped_avframe,xbm,xface,xsub,xwd,y41p,yuv4,zlib,zmbv,' --enable-decoder=',aac,aasc,ac3,acelp_kelvin,adpcm_4xm,adpcm_adx,adpcm_afc,adpcm_agm,adpcm_aica,adpcm_argo,adpcm_ct,adpcm_dtk,adpcm_ea,adpcm_ea_maxis_xa,adpcm_ea_r1,adpcm_ea_r2,adpcm_ea_r3,adpcm_ea_xas,adpcm_g722,adpcm_g726,adpcm_g726le,adpcm_ima_acorn,adpcm_ima_alp,adpcm_ima_amv,adpcm_ima_apc,adpcm_ima_apm,adpcm_ima_cunning,adpcm_ima_dat4,adpcm_ima_dk3,adpcm_ima_dk4,adpcm_ima_ea_eacs,adpcm_ima_ea_sead,adpcm_ima_iss,adpcm_ima_moflex,adpcm_ima_mtf,adpcm_ima_oki,adpcm_ima_qt,adpcm_ima_rad,adpcm_ima_smjpeg,adpcm_ima_ssi,adpcm_ima_wav,adpcm_ima_ws,adpcm_ms,adpcm_mtaf,adpcm_psx,adpcm_sbpro_2,adpcm_sbpro_3,adpcm_sbpro_4,adpcm_swf,adpcm_thp,adpcm_thp_le,adpcm_vima,adpcm_xa,adpcm_xmd,adpcm_yamaha,adpcm_zork,alac,alias_pix,amrnb,amrwb,amv,anm,ansi,anull,apac,ape,apng,arbc,argo,ass,asv1,asv2,atrac1,atrac3,atrac3al,atrac3p,atrac3pal,aura,aura2,av1,av1_nvdec,av1_qsv,av1_vaapi,ayuv,bethsoftvid,bfi,bink,binkaudio_dct,binkaudio_rdft,bintext,bitpacked,bmp,bmv_audio,bmv_video,bonk,brender_pix,c93,cbd2_dpcm,ccaption,cdgraphics,cdtoons,cdxl,cinepak,clearvideo,cljr,cook,cpia,cscd,cyuv,dca,dds,derf_dpcm,dfa,dfpwm,dirac,dnxhd,dolby_e,dpx,dsd_lsbf,dsd_msbf,dsicinaudio,dsicinvideo,dss_sp,dvaudio,dvbsub,dvdsub,dvvideo,dxa,dxtory,eacmv,eamad,eatgq,eatgv,eatqi,eightbps,eightsvx_exp,eightsvx_fib,escape124,escape130,evrc,exr,ffv1,ffvhuff,ffwavesynth,fits,flac,flashsv,flashsv2,flic,flv,fmvc,fourxm,ftr,g723_1,g729,gdv,gem,gif,gremlin_dpcm,gsm,gsm_ms,h261,h263,h263_v4l2m2m,h263i,h263p,hap,hca,hcom,hdr,hnm4_video,hq_hqa,hqx,huffyuv,hymt,iac,idcin,idf,iff_ilbm,ilbc,imc,indeo2,indeo3,indeo4,indeo5,interplay_acm,interplay_dpcm,interplay_video,ipu,jacosub,jpeg2000,jpegls,jv,kgv1,kmvc,lagarith,libaom,libaom_av1,libcodec2,libdav1d,libgsm,libgsm_ms,libjxl,libopencore_amrnb,libopencore_amrwb,libopenh264,libopenjpeg,libopus,libschroedinger,libspeex,libvorbis,libvpx_vp8,libvpx_vp9,libzvbi_teletext,loco,lscr,m101,mace3,mace6,mdec,media100,metasound,microdvd,mimic,misc4,mjpeg,mjpeg_qsv,mjpegb,mlp,mmvideo,motionpixels,mp1,mp1float,mp2,mp2float,mp3,mp3adu,mp3adufloat,mp3float,mp3on4,mp3on4float,mpc7,mpc8,mpeg1_cuvid,mpeg1_v4l2m2m,mpeg1video,mpeg2_cuvid,mpeg2_qsv,mpeg2_v4l2m2m,mpeg2_vaapi,mpeg2video,mpeg4,mpeg4_cuvid,mpeg4_v4l2m2m,mpegvideo,mpl2,msa1,mscc,msmpeg4,msmpeg4v1,msmpeg4v2,msmpeg4v3,msnsiren,msp2,msrle,mss1,msvideo1,mszh,mts2,mv30,mvc1,mvc2,mvdv,mvha,mwsc,mxpeg,nellymoser,nuv,on2avc,opus,paf_audio,paf_video,pam,pbm,pcm_alaw,pcm_bluray,pcm_dvd,pcm_f16le,pcm_f24le,pcm_f32be,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_lxf,pcm_mulaw,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar,pcm_s24be,pcm_s24daud,pcm_s24le,pcm_s24le_planar,pcm_s32be,pcm_s32le,pcm_s32le_planar,pcm_s64be,pcm_s64le,pcm_s8,pcm_s8_planar,pcm_sga,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,pcm_vidc,pcx,pfm,pgm,pgmyuv,pgssub,pgx,phm,photocd,pictor,pjs,png,ppm,prosumer,psd,ptx,qcelp,qdm2,qdmc,qdraw,qoi,qpeg,qtrle,r10k,r210,ra_144,ra_288,rasc,rawvideo,realtext,rka,rl2,roq,roq_dpcm,rpza,rscc,rv10,rv20,s302m,sami,sanm,sbc,screenpresso,sdx2_dpcm,sgi,sgirle,shorten,simbiosis_imx,sipr,siren,smackaud,smacker,smc,smvjpeg,snow,sol_dpcm,sonic,sp5x,speedhq,speex,srgc,srt,ssa,stl,subrip,subviewer,subviewer1,sunrast,svq1,svq3,tak,targa,targa_y216,tdsc,text,theora,thp,tiertexseqvideo,tiff,tmv,truehd,truemotion1,truemotion2,truemotion2rt,truespeech,tscc,tscc2,tta,twinvq,txd,ulti,utvideo,v210,v210x,v308,v408,v410,vb,vble,vcr1,vmdaudio,vmdvideo,vmnc,vnull,vorbis,vp3,vp4,vp5,vp5,vp6,vp6,vp6a,vp6a,vp6f,vp6f,vp7,vp8,vp8_qsv,vp8_v4l2m2m,vp9,vp9_qsv,vp9_v4l2m2m,vplayer,vqa,vqc,wady_dpcm,wavarc,wavpack,wbmp,wcmv,webp,webvtt,wmav1,wmav2,wmavoice,wmv1,wmv2,wnv1,wrapped_avframe,ws_snd1,xan_dpcm,xan_wc3,xan_wc4,xbin,xbm,xface,xl,xpm,xsub,xwd,y41p,y41p,ylc,yop,yuv4,yuv4,zero12v,zerocodec,zlib,zmbv,'
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Input #0, rtsp, from 'rtsp://xxxxx:yyyyyy@zzzzzzzzz:554/11':
  Metadata:
    title           : 10
  Duration: N/A, start: 0.101000, bitrate: N/A
  Stream #0:0: Video: hevc (Main), none, 1920x1080, 10 fps, 19.75 tbr, 90k tbn
Output #0, matroska, to 'output2.mkv':
  Metadata:
    title           : 10
    encoder         : Lavf60.16.100
  Stream #0:0: Video: hevc (Main), none, 1920x1080, q=2-31, 10 fps, 19.75 tbr, 1k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[matroska @ 0x559496a4d300] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
size=     180kB time=00:00:09.41 bitrate= 156.5kbits/s speed=1.29x

[q] command received. Exiting.

[out#0/matroska @ 0x559496a4d200] video:310kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.470839%
size=     311kB time=00:00:09.61 bitrate= 265.3kbits/s speed=1.27x
reg@cctv:~> exit
logout
Connection to cctv closed.

Here is more detail about the hardware:

# lscpu
Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          36 bits physical, 48 bits virtual
  Byte Order:             Little Endian
CPU(s):                   4
  On-line CPU(s) list:    0-3
Vendor ID:                GenuineIntel
  BIOS Vendor ID:         Intel(R) Corporation
  Model name:             Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz
    BIOS Model name:      Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz Fill
                          By OEM CPU @ 3.4GHz
    BIOS CPU family:      205
    CPU family:           6
    Model:                58
    Thread(s) per core:   1
    Core(s) per socket:   4
    Socket(s):            1
    Stepping:             9
    CPU(s) scaling MHz:   48%
    CPU max MHz:          3800.0000
    CPU min MHz:          1600.0000
    BogoMIPS:             6786.95
    Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep m
                          trr pge mca cmov pat pse36 clflush dts acpi m
                          mx fxsr sse sse2 ss ht tm pbe syscall nx rdts
                          cp lm constant_tsc arch_perfmon pebs bts rep_
                          good nopl xtopology nonstop_tsc cpuid aperfmp
                          erf pni pclmulqdq dtes64 monitor ds_cpl smx e
                          st tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_
                          2 x2apic popcnt tsc_deadline_timer aes xsave
                          avx f16c rdrand lahf_lm cpuid_fault epb pti s
                          sbd ibrs ibpb stibp fsgsbase smep erms xsaveo
                          pt dtherm ida arat pln pts md_clear flush_l1d
Caches (sum of all):
  L1d:                    128 KiB (4 instances)
  L1i:                    128 KiB (4 instances)
  L2:                     1 MiB (4 instances)
  L3:                     6 MiB (1 instance)
NUMA:
  NUMA node(s):           1
  NUMA node0 CPU(s):      0-3
Vulnerabilities:
  Gather data sampling:   Not affected
  Itlb multihit:          KVM: Mitigation: VMX unsupported
  L1tf:                   Mitigation; PTE Inversion
  Mds:                    Mitigation; Clear CPU buffers; SMT disabled
  Meltdown:               Mitigation; PTI
  Mmio stale data:        Unknown: No mitigations
  Reg file data sampling: Not affected
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Mitigation; Speculative Store Bypass disabled
                           via prctl
  Spectre v1:             Mitigation; usercopy/swapgs barriers and __us
                          er pointer sanitization
  Spectre v2:             Mitigation; Retpolines; IBPB conditional; IBR
                          S_FW; STIBP disabled; RSB filling; PBRSB-eIBR
                          S Not affected; BHI Not affected
  Srbds:                  Vulnerable: No microcode
  Tsx async abort:        Not affected

Motion log output at log_level 8

For this log I commented out my other cameras, they all work.
motion -n -k ALL
[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0:motion] [NTC] [ALL] config_camera: Processing camera config file /etc/motion/conf.d/8090-IP-_70-Garage-Inner-Wall.conf
[0:motion] [NTC] [ALL] motion_startup: Logging to syslog
[0:motion] [NTC] [ALL] motion_startup: Motion 4.6.0 Started
[0:motion] [NTC] [ALL] motion_startup: Using log type (ALL) log level (ALL)
[0:motion] [INF] [ALL] conf_output_parms: Writing configuration parameters from all files (2):
[0:motion] [INF] [ALL] Thread 0 - Config file: /etc/motion/motion.conf
[0:motion] [INF] [ALL] daemon                    off
[0:motion] [INF] [ALL] setup_mode                off
[0:motion] [INF] [ALL] pid_file
[0:motion] [INF] [ALL] log_file
[0:motion] [INF] [ALL] log_level                 9
[0:motion] [INF] [ALL] log_type                  ALL
[0:motion] [INF] [ALL] quiet                     on
[0:motion] [INF] [ALL] native_language           on
[0:motion] [INF] [ALL] watchdog_tmo              30
[0:motion] [INF] [ALL] watchdog_kill             10
[0:motion] [INF] [ALL] camera_name
[0:motion] [INF] [ALL] camera_id                 0
[0:motion] [INF] [ALL] target_dir
[0:motion] [INF] [ALL] video_device              /dev/video0
[0:motion] [INF] [ALL] video_params
[0:motion] [INF] [ALL] auto_brightness           0
[0:motion] [INF] [ALL] tuner_device
[0:motion] [INF] [ALL] roundrobin_frames         1
[0:motion] [INF] [ALL] roundrobin_skip           1
[0:motion] [INF] [ALL] roundrobin_switchfilter   off
[0:motion] [INF] [ALL] netcam_url
[0:motion] [INF] [ALL] netcam_params
[0:motion] [INF] [ALL] netcam_high_url
[0:motion] [INF] [ALL] netcam_high_params
[0:motion] [INF] [ALL] netcam_userpass
[0:motion] [INF] [ALL] mmalcam_name
[0:motion] [INF] [ALL] mmalcam_params
[0:motion] [INF] [ALL] width                     1920
[0:motion] [INF] [ALL] height                    1080
[0:motion] [INF] [ALL] framerate                 15
[0:motion] [INF] [ALL] minimum_frame_time        0
[0:motion] [INF] [ALL] rotate                    0
[0:motion] [INF] [ALL] flip_axis                 none
[0:motion] [INF] [ALL] locate_motion_mode        off
[0:motion] [INF] [ALL] locate_motion_style       box
[0:motion] [INF] [ALL] text_left
[0:motion] [INF] [ALL] text_right                %Y-%m-%d %T-%q
[0:motion] [INF] [ALL] text_changes              off
[0:motion] [INF] [ALL] text_scale                1
[0:motion] [INF] [ALL] text_event                %Y%m%d%H%M%S
[0:motion] [INF] [ALL] emulate_motion            off
[0:motion] [INF] [ALL] pause                     off
[0:motion] [INF] [ALL] threshold                 1500
[0:motion] [INF] [ALL] threshold_maximum         0
[0:motion] [INF] [ALL] threshold_tune            off
[0:motion] [INF] [ALL] noise_level               32
[0:motion] [INF] [ALL] noise_tune                on
[0:motion] [INF] [ALL] despeckle_filter          EedDl
[0:motion] [INF] [ALL] area_detect
[0:motion] [INF] [ALL] mask_file
[0:motion] [INF] [ALL] mask_privacy
[0:motion] [INF] [ALL] smart_mask_speed          0
[0:motion] [INF] [ALL] lightswitch_percent       0
[0:motion] [INF] [ALL] lightswitch_frames        5
[0:motion] [INF] [ALL] minimum_motion_frames     1
[0:motion] [INF] [ALL] event_gap                 60
[0:motion] [INF] [ALL] pre_capture               3
[0:motion] [INF] [ALL] post_capture              0
[0:motion] [INF] [ALL] on_event_start
[0:motion] [INF] [ALL] on_event_end
[0:motion] [INF] [ALL] on_picture_save
[0:motion] [INF] [ALL] on_area_detected
[0:motion] [INF] [ALL] on_motion_detected
[0:motion] [INF] [ALL] on_movie_start
[0:motion] [INF] [ALL] on_movie_end
[0:motion] [INF] [ALL] on_camera_lost
[0:motion] [INF] [ALL] on_camera_found
[0:motion] [INF] [ALL] picture_output            off
[0:motion] [INF] [ALL] picture_output_motion     off
[0:motion] [INF] [ALL] picture_type              jpeg
[0:motion] [INF] [ALL] picture_quality           75
[0:motion] [INF] [ALL] picture_exif
[0:motion] [INF] [ALL] picture_filename          %Y%m%d%H%M%S-%q
[0:motion] [INF] [ALL] snapshot_interval         0
[0:motion] [INF] [ALL] snapshot_filename         %v-%Y%m%d%H%M%S-snapshot
[0:motion] [INF] [ALL] movie_output              on
[0:motion] [INF] [ALL] movie_output_motion       off
[0:motion] [INF] [ALL] movie_max_time            60
[0:motion] [INF] [ALL] movie_bps                 400000
[0:motion] [INF] [ALL] movie_quality             45
[0:motion] [INF] [ALL] movie_codec               mkv
[0:motion] [INF] [ALL] movie_duplicate_frames    off
[0:motion] [INF] [ALL] movie_passthrough         off
[0:motion] [INF] [ALL] movie_filename            %Y-%m-%d_%H.%M.%S
[0:motion] [INF] [ALL] movie_extpipe_use         off
[0:motion] [INF] [ALL] movie_extpipe
[0:motion] [INF] [ALL] timelapse_interval        0
[0:motion] [INF] [ALL] timelapse_mode            daily
[0:motion] [INF] [ALL] timelapse_fps             30
[0:motion] [INF] [ALL] timelapse_codec           mpg
[0:motion] [INF] [ALL] timelapse_filename        %Y%m%d-timelapse
[0:motion] [INF] [ALL] video_pipe
[0:motion] [INF] [ALL] video_pipe_motion
[0:motion] [INF] [ALL] webcontrol_port           8081
[0:motion] [INF] [ALL] webcontrol_ipv6           off
[0:motion] [INF] [ALL] webcontrol_localhost      off
[0:motion] [INF] [ALL] webcontrol_parms          0
[0:motion] [INF] [ALL] webcontrol_interface      0
[0:motion] [INF] [ALL] webcontrol_auth_method    0
[0:motion] [INF] [ALL] webcontrol_authentication
[0:motion] [INF] [ALL] webcontrol_tls            off
[0:motion] [INF] [ALL] webcontrol_cert
[0:motion] [INF] [ALL] webcontrol_key
[0:motion] [INF] [ALL] webcontrol_header_params
[0:motion] [INF] [ALL] webcontrol_lock_minutes   5
[0:motion] [INF] [ALL] webcontrol_lock_attempts  5
[0:motion] [INF] [ALL] webcontrol_lock_max_ips   25
[0:motion] [INF] [ALL] stream_port               0
[0:motion] [INF] [ALL] stream_localhost          off
[0:motion] [INF] [ALL] stream_auth_method        0
[0:motion] [INF] [ALL] stream_authentication
[0:motion] [INF] [ALL] stream_tls                off
[0:motion] [INF] [ALL] stream_header_params
[0:motion] [INF] [ALL] stream_preview_scale      40
[0:motion] [INF] [ALL] stream_preview_newline    off
[0:motion] [INF] [ALL] stream_preview_method     0
[0:motion] [INF] [ALL] stream_quality            50
[0:motion] [INF] [ALL] stream_grey               off
[0:motion] [INF] [ALL] stream_motion             off
[0:motion] [INF] [ALL] stream_maxrate            1
[0:motion] [INF] [ALL] stream_limit              0
[0:motion] [INF] [ALL] database_type
[0:motion] [INF] [ALL] database_dbname
[0:motion] [INF] [ALL] database_host             localhost
[0:motion] [INF] [ALL] database_port             0
[0:motion] [INF] [ALL] database_user
[0:motion] [INF] [ALL] database_password
[0:motion] [INF] [ALL] database_busy_timeout     0
[0:motion] [INF] [ALL] sql_log_picture           off
[0:motion] [INF] [ALL] sql_log_snapshot          off
[0:motion] [INF] [ALL] sql_log_movie             off
[0:motion] [INF] [ALL] sql_log_timelapse         off
[0:motion] [INF] [ALL] sql_query_start
[0:motion] [INF] [ALL] sql_query_stop
[0:motion] [INF] [ALL] sql_query
[0:motion] [INF] [ALL] track_type                0
[0:motion] [INF] [ALL] track_auto                off
[0:motion] [INF] [ALL] track_port
[0:motion] [INF] [ALL] track_motorx              0
[0:motion] [INF] [ALL] track_motorx_reverse      off
[0:motion] [INF] [ALL] track_motory              0
[0:motion] [INF] [ALL] track_motory_reverse      off
[0:motion] [INF] [ALL] track_maxx                0
[0:motion] [INF] [ALL] track_minx                0
[0:motion] [INF] [ALL] track_maxy                0
[0:motion] [INF] [ALL] track_miny                0
[0:motion] [INF] [ALL] track_homex               128
[0:motion] [INF] [ALL] track_homey               128
[0:motion] [INF] [ALL] track_iomojo_id           0
[0:motion] [INF] [ALL] track_step_angle_x        10
[0:motion] [INF] [ALL] track_step_angle_y        10
[0:motion] [INF] [ALL] track_move_wait           10
[0:motion] [INF] [ALL] track_speed               255
[0:motion] [INF] [ALL] track_stepsize            40
[0:motion] [INF] [ALL] track_generic_move
[0:motion] [INF] [ALL] camera
[0:motion] [INF] [ALL] camera_dir
[0:motion] [INF] [ALL] Thread 1 - Config file: /etc/motion/conf.d/8090-IP-_70-Garage-Inner-Wall.conf
[0:motion] [INF] [ALL] target_dir                /srv/cctv/garage-inner-wall
[0:motion] [INF] [ALL] netcam_url                <redacted>
[0:motion] [INF] [ALL] netcam_high_url           <redacted>
[0:motion] [INF] [ALL] netcam_userpass           <redacted>
[0:motion] [INF] [ALL] framerate                 10
[0:motion] [INF] [ALL] text_left                 Garage Inner Wall
[0:motion] [INF] [ALL] movie_filename            Garage_Inner_Wall_%Y-%m-%d_%H-%M-%S
[0:motion] [INF] [ALL] stream_port               8090
[0:motion] [DBG] [ALL] motion_ntc: v4l2   : available
[0:motion] [DBG] [ALL] motion_ntc: bktr   : not available
[0:motion] [DBG] [ALL] motion_ntc: webp   : available
[0:motion] [DBG] [ALL] motion_ntc: mmal   : not available
[0:motion] [DBG] [ALL] motion_ntc: ffmpeg : available
[0:motion] [DBG] [DBL] motion_ntc: mysql  : not available
[0:motion] [DBG] [DBL] motion_ntc: MariaDB: not available
[0:motion] [DBG] [DBL] motion_ntc: sqlite3: available
[0:motion] [DBG] [DBL] motion_ntc: pgsql  : not available
[0:motion] [DBG] [DBL] motion_ntc: nls    : available
[0:motion] [NTC] [STR] webu_start_strm: Starting camera 1 stream on port 8090
[0:motion] [DBG] [STR] webu_mhd_features_basic: Basic authentication: available
[0:motion] [DBG] [STR] webu_mhd_features_digest: Digest authentication: available
[0:motion] [DBG] [STR] webu_mhd_features_ipv6: IPV6: available
[0:motion] [DBG] [STR] webu_mhd_features_tls: SSL/TLS: available
[0:motion] [NTC] [STR] webu_strm_ntc: Started camera 1 stream on port 8090
[0:motion] [NTC] [STR] webu_start_ctrl: Starting webcontrol on port 8081
[0:motion] [DBG] [STR] webu_mhd_features_basic: Basic authentication: available
[0:motion] [DBG] [STR] webu_mhd_features_digest: Digest authentication: available
[0:motion] [DBG] [STR] webu_mhd_features_ipv6: IPV6: available
[0:motion] [DBG] [STR] webu_mhd_features_tls: SSL/TLS: available
[0:motion] [NTC] [STR] webu_start_ctrl: Started webcontrol on port 8081
[0:motion] [NTC] [ENC] ffmpeg_global_init: ffmpeg libavcodec version 60.31.102 libavformat version 60.16.100
[0:motion] [DBG] [DBL] dbse_global_init: Initializing database
[0:motion] [NTC] [ALL] translate_init: Language: English
[0:motion] [NTC] [ALL] motion_start_thread: Camera ID: 1 is from /etc/motion/conf.d/8090-IP-_70-Garage-Inner-Wall.conf
[0:motion] [NTC] [ALL] motion_start_thread: Camera ID: 1 Camera Name: (null) Service: rtsp:
[0:motion] [NTC] [ALL] main: Waiting for threads to finish, pid: 13559
[1:ml1] [NTC] [ALL] motion_init: Camera 1 started: motion detection Enabled
[1:ml1] [NTC] [VID] vid_start: Opening Netcam RTSP
[1:ml1] [INF] [NET] netcam_rtsp_set_parms: Setting up norm stream.
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >decoder< >NULL<
[1:ml1] [INF] [NET] netcam_rtsp_set_path: Setting up rtsp via netcam
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: Setting rtsp/rtmp
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >rtsp_transport< >tcp<
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: option: rtsp_transport = tcp
[1:ml1] [INF] [NET] netcam_rtsp_open_context: norm: Opened camera((null))
[1:av0] [INF] [NET] netcam_hwdecoders: norm: HW Devices:
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vdpau (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: cuda (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vaapi (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: qsv (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: drm (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vulkan (not implemented)
[1:av0] [ERR] [NET] netcam_rtsp_decoder_error: norm: av_find_best_stream: Decoder not found
[1:ml1] [ERR] [NET] netcam_rtsp_open_context: norm: Unable to open codec context: Operation not permitted
[1:ml1] [INF] [NET] netcam_rtsp_cleanup: norm: Shutting down network camera.
[1:ml1] [NTC] [NET] netcam_rtsp_cleanup: Normal resolution: Shut down complete.
[1:ml1] [ERR] [VID] vid_start: Netcam RTSP failed to open
[1:ml1] [WRN] [ALL] motion_init: Could not fetch initial image from camera
[1:ml1] [WRN] [ALL] motion_init: Motion continues using width and height from config file(s)
[1:ml1] [NTC] [NET] motion_init: Substream not available.  Image sizes not modulo 16.
[1:ml1] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 1 items
[1:ml1] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 4 items
[1:ml1] [WRN] [ALL] mlp_retry: Retrying until successful connection with camera
[1:ml1] [NTC] [VID] vid_start: Opening Netcam RTSP
[1:ml1] [INF] [NET] netcam_rtsp_set_parms: Setting up norm stream.
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >decoder< >NULL<
[1:ml1] [INF] [NET] netcam_rtsp_set_path: Setting up rtsp via netcam
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: Setting rtsp/rtmp
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >rtsp_transport< >tcp<
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: option: rtsp_transport = tcp
[1:ml1] [INF] [NET] netcam_rtsp_open_context: norm: Opened camera((null))
[1:av0] [INF] [NET] netcam_hwdecoders: norm: HW Devices:
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vdpau (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: cuda (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vaapi (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: qsv (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: drm (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vulkan (not implemented)
[1:av0] [ERR] [NET] netcam_rtsp_decoder_error: norm: av_find_best_stream: Decoder not found
[1:ml1] [ERR] [NET] netcam_rtsp_open_context: norm: Unable to open codec context: Operation not permitted
[1:ml1] [INF] [NET] netcam_rtsp_cleanup: norm: Shutting down network camera.
[1:ml1] [NTC] [NET] netcam_rtsp_cleanup: Normal resolution: Shut down complete.
[1:ml1] [ERR] [VID] vid_start: Netcam RTSP failed to open
[0:cn0] [DBG] [STR] webu_parseurl: Sent url: /
[0:cn0] [DBG] [STR] webu_parseurl: Decoded url: /
[0:wu0] [INF] [ALL] webu_answer_ctrl: Connection from: zzzzzzzzzzzzzz
[0:cn0] [DBG] [STR] webu_parseurl: Sent url: /stream
[0:cn0] [DBG] [STR] webu_parseurl: Decoded url: /stream
[0:cn0] [DBG] [STR] webu_parseurl: camid: >stream< cmd1: >< cmd2: >< parm1:>< val1:>< parm2:>< val2:><
[0:st0] [INF] [ALL] webu_answer_strm: Connection from: zzzzzzzzzzzzzzz
[1:ml1] [WRN] [ALL] mlp_retry: Retrying until successful connection with camera
[1:ml1] [NTC] [VID] vid_start: Opening Netcam RTSP
[1:ml1] [INF] [NET] netcam_rtsp_set_parms: Setting up norm stream.
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >decoder< >NULL<
[1:ml1] [INF] [NET] netcam_rtsp_set_path: Setting up rtsp via netcam
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: Setting rtsp/rtmp
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >rtsp_transport< >tcp<
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: option: rtsp_transport = tcp
[1:ml1] [INF] [NET] netcam_rtsp_open_context: norm: Opened camera((null))
[1:av0] [INF] [NET] netcam_hwdecoders: norm: HW Devices:
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vdpau (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: cuda (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vaapi (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: qsv (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: drm (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vulkan (not implemented)
[1:av0] [ERR] [NET] netcam_rtsp_decoder_error: norm: av_find_best_stream: Decoder not found
[1:ml1] [ERR] [NET] netcam_rtsp_open_context: norm: Unable to open codec context: Operation not permitted
[1:ml1] [INF] [NET] netcam_rtsp_cleanup: norm: Shutting down network camera.
[1:ml1] [NTC] [NET] netcam_rtsp_cleanup: Normal resolution: Shut down complete.
[1:ml1] [ERR] [VID] vid_start: Netcam RTSP failed to open
[1:ml1] [WRN] [ALL] mlp_retry: Retrying until successful connection with camera
[1:ml1] [NTC] [VID] vid_start: Opening Netcam RTSP
[1:ml1] [INF] [NET] netcam_rtsp_set_parms: Setting up norm stream.
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >decoder< >NULL<
[1:ml1] [INF] [NET] netcam_rtsp_set_path: Setting up rtsp via netcam
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: Setting rtsp/rtmp
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >rtsp_transport< >tcp<
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: option: rtsp_transport = tcp
[1:ml1] [INF] [NET] netcam_rtsp_open_context: norm: Opened camera((null))
[1:av0] [INF] [NET] netcam_hwdecoders: norm: HW Devices:
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vdpau (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: cuda (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vaapi (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: qsv (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: drm (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vulkan (not implemented)
[1:av0] [ERR] [NET] netcam_rtsp_decoder_error: norm: av_find_best_stream: Decoder not found
[1:ml1] [ERR] [NET] netcam_rtsp_open_context: norm: Unable to open codec context: Operation not permitted
[1:ml1] [INF] [NET] netcam_rtsp_cleanup: norm: Shutting down network camera.
[1:ml1] [NTC] [NET] netcam_rtsp_cleanup: Normal resolution: Shut down complete.
[1:ml1] [ERR] [VID] vid_start: Netcam RTSP failed to open
[1:ml1] [NTC] [ALL] mlp_capture: Video signal lost - Adding grey image
[1:ml1] [WRN] [ALL] mlp_retry: Retrying until successful connection with camera
[1:ml1] [NTC] [VID] vid_start: Opening Netcam RTSP
[1:ml1] [INF] [NET] netcam_rtsp_set_parms: Setting up norm stream.
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >decoder< >NULL<
[1:ml1] [INF] [NET] netcam_rtsp_set_path: Setting up rtsp via netcam
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: Setting rtsp/rtmp
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >rtsp_transport< >tcp<
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: option: rtsp_transport = tcp
[1:ml1] [INF] [NET] netcam_rtsp_open_context: norm: Opened camera((null))
[1:av0] [INF] [NET] netcam_hwdecoders: norm: HW Devices:
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vdpau (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: cuda (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vaapi (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: qsv (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: drm (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vulkan (not implemented)
[1:av0] [ERR] [NET] netcam_rtsp_decoder_error: norm: av_find_best_stream: Decoder not found
[1:ml1] [ERR] [NET] netcam_rtsp_open_context: norm: Unable to open codec context: Operation not permitted
[1:ml1] [INF] [NET] netcam_rtsp_cleanup: norm: Shutting down network camera.
[1:ml1] [NTC] [NET] netcam_rtsp_cleanup: Normal resolution: Shut down complete.
[1:ml1] [ERR] [VID] vid_start: Netcam RTSP failed to open
[1:ml1] [WRN] [ALL] mlp_retry: Retrying until successful connection with camera
[1:ml1] [NTC] [VID] vid_start: Opening Netcam RTSP
[1:ml1] [INF] [NET] netcam_rtsp_set_parms: Setting up norm stream.
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >decoder< >NULL<
[1:ml1] [INF] [NET] netcam_rtsp_set_path: Setting up rtsp via netcam
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: Setting rtsp/rtmp
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >rtsp_transport< >tcp<
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: option: rtsp_transport = tcp
[1:ml1] [INF] [NET] netcam_rtsp_open_context: norm: Opened camera((null))
[1:av0] [INF] [NET] netcam_hwdecoders: norm: HW Devices:
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vdpau (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: cuda (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vaapi (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: qsv (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: drm (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vulkan (not implemented)
[1:av0] [ERR] [NET] netcam_rtsp_decoder_error: norm: av_find_best_stream: Decoder not found
[1:ml1] [ERR] [NET] netcam_rtsp_open_context: norm: Unable to open codec context: Operation not permitted
[1:ml1] [INF] [NET] netcam_rtsp_cleanup: norm: Shutting down network camera.
[1:ml1] [NTC] [NET] netcam_rtsp_cleanup: Normal resolution: Shut down complete.
[1:ml1] [ERR] [VID] vid_start: Netcam RTSP failed to open
[1:ml1] [WRN] [ALL] mlp_retry: Retrying until successful connection with camera
[1:ml1] [NTC] [VID] vid_start: Opening Netcam RTSP
[1:ml1] [INF] [NET] netcam_rtsp_set_parms: Setting up norm stream.
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >decoder< >NULL<
[1:ml1] [INF] [NET] netcam_rtsp_set_path: Setting up rtsp via netcam
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: Setting rtsp/rtmp
[1:ml1] [DBG] [ALL] util_parms_add: Parsed: >rtsp_transport< >tcp<
[1:ml1] [INF] [NET] netcam_rtsp_set_options: norm: option: rtsp_transport = tcp
[1:ml1] [INF] [NET] netcam_rtsp_open_context: norm: Opened camera((null))
[1:av0] [INF] [NET] netcam_hwdecoders: norm: HW Devices:
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vdpau (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: cuda (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vaapi (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: qsv (not implemented)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: drm (available)
[1:av0] [INF] [NET] netcam_hwdecoders: norm: vulkan (not implemented)
[1:av0] [ERR] [NET] netcam_rtsp_decoder_error: norm: av_find_best_stream: Decoder not found
[1:ml1] [ERR] [NET] netcam_rtsp_open_context: norm: Unable to open codec context: Operation not permitted
[1:ml1] [INF] [NET] netcam_rtsp_cleanup: norm: Shutting down network camera.
[1:ml1] [NTC] [NET] netcam_rtsp_cleanup: Normal resolution: Shut down complete.
[1:ml1] [ERR] [VID] vid_start: Netcam RTSP failed to open
^C[0:motion] [NTC] [ALL] sig_handler: Received signal 2.
[1:ml1] [NTC] [ALL] motion_loop: Thread exiting
[0:motion] [NTC] [ALL] main: Threads finished
[0:motion] [NTC] [ALL] main: Motion terminating
tosiara commented 3 months ago

This is the second time I see such issue with openSUSE provided builds. In both cases ffmpegworks fine, but motion fails to perform simple operation. It looks like motion has been built with other ffmpeg libs which are missing needed codecs (licensing issue?)

https://github.com/Motion-Project/motion/discussions/1778

tosiara commented 3 months ago

Can you show what repos do you have in your openSUSE?

zypper lr
Mr-Dave commented 3 months ago

Also, are the other cameras H264 and this is only one that is H265?

To me, it looks like Opensuse requires manual install of additional libs for the codec's. (FFMPEG may have been built with static libs that allow it to work but don't provide access for Motion. An internet search for h265/hevc codec and Opensuse indicate something about "pacman" but I'm an Opensuse user to know if that would help.....)

Also, @RegProctor please email me at MotionMrDave@gmail.com

RegProctor commented 3 months ago
# | Alias                            | Name                                   | Enabled | GPG Check | Refresh
--+----------------------------------+----------------------------------------+---------+-----------+--------
1 | Packman                          | Packman                                | Yes     | (r ) Yes  | Yes
2 | download.opensuse.org-non-oss    | Main Repository (NON-OSS)              | Yes     | (r ) Yes  | Yes
3 | download.opensuse.org-oss        | Main Repository (OSS)                  | Yes     | (r ) Yes  | Yes
4 | download.opensuse.org-tumbleweed | Main Update Repository                 | Yes     | (r ) Yes  | Yes
5 | openSUSE-20230319-0              | openSUSE-20230319-0                    | No      | ----      | ----
6 | repo-debug                       | openSUSE-Tumbleweed-Debug              | No      | ----      | ----
7 | repo-openh264                    | Open H.264 Codec (openSUSE Tumbleweed) | Yes     | (r ) Yes  | Yes
8 | repo-source                      | openSUSE-Tumbleweed-Source             | No      | ----      | ----

and yast shows:

                                                                                                                                            All repositories▒↓
  ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
  │Priority     │Enabled│Autorefresh│Name                                  │Service│URL                                                                      │
  │ 99 (Default)│   x   │     x     │Main Repository (NON-OSS)             │       │http://download.opensuse.org/tumbleweed/repo/non-oss/                    │
  │ 99 (Default)│   x   │     x     │Main Repository (OSS)                 │       │http://download.opensuse.org/tumbleweed/repo/oss/                        │
  │ 99 (Default)│   x   │     x     │Main Update Repository                │       │http://download.opensuse.org/update/tumbleweed/                          │
  │ 99 (Default)│   x   │     x     │Open H.264 Codec (openSUSE Tumbleweed)│       │http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed                  │
  │ 99 (Default)│   x   │     x     │Packman                               │       │https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/     │
  │ 99 (Default)│       │     x     │openSUSE-20230319-0                   │       │hd:/?device=/dev/disk/by-id/usb-Specific_STORAGE_DEVICE_63655065-0:0-part│
  │ 99 (Default)│       │     x     │openSUSE-Tumbleweed-Debug             │       │http://download.opensuse.org/debug/tumbleweed/repo/oss/                  │
  │ 99 (Default)│       │     x     │openSUSE-Tumbleweed-Source            │       │http://download.opensuse.org/source/tumbleweed/repo/oss/                 │

I guess at some point Tumbleweed didn't have H264 which is why I have a repo. in there just for it. I don't know if that is still the case, maybe that's something I can remove now but I won't change anything while you are in the middle of figuring this out unless you want me to.

This camera is the only one that is H265, the other cameras are H264 cameras so that's go to be something there.

Mr-Dave commented 3 months ago

Yea....so finding the codec's for HEVC(H265) definitely looks like the issue. Not sure if it is a additional package or what. The H264 cameras needed that extra one you've included.

RegProctor commented 3 months ago

I did a search and it's in there.

zypper se 265
Loading repository data...
Reading installed packages...

S  | Name                        | Summary                                                   | Type
---+-----------------------------+-----------------------------------------------------------+-----------
   | libde265                    | Open H.265 video codec implementation                     | srcpackage
i+ | libde265-0                  | Open H.265 video codec implementation - libraries         | package
   | libde265-0-32bit            | Open H.265 video codec implementation - libraries         | package
   | libde265-0-32bit-debuginfo  | Debug information for package libde265-0                  | package
   | libde265-0-debuginfo        | Debug information for package libde265-0                  | package
   | libde265-debugsource        | Debug sources for package libde265                        | package
   | libde265-devel              | Open H.265 video codec implementation - development files | package
i  | libx265-199                 | A free H265/HEVC encoder - encoder binary                 | package
i  | libx265-209                 | A free H265/HEVC encoder - encoder binary                 | package
   | libx265-209-32bit           | A free H265/HEVC encoder - encoder binary                 | package
   | libx265-209-32bit-debuginfo | Debug information for package libx265-209                 | package
   | libx265-209-debuginfo       | Debug information for package libx265-209                 | package
   | libx265-devel               | Libraries and include file for the libx265 encoder        | package
i+ | x265                        | A free h265/HEVC encoder - encoder binary                 | package
   | x265                        | A free h265/HEVC encoder - encoder binary                 | srcpackage
   | x265-debuginfo              | Debug information for package x265                        | package
   | x265-debugsource            | Debug sources for package x265                            | package

I also did some cleanup so my repos look like this now:

zypper lr -P
# | Alias                            | Name                       | Enabled | GPG Check | Refresh | Priority
--+----------------------------------+----------------------------+---------+-----------+---------+---------
1 | Packman                          | Packman                    | Yes     | (r ) Yes  | Yes     |   90
2 | download.opensuse.org-non-oss    | Main Repository (NON-OSS)  | Yes     | (r ) Yes  | Yes     |   99
3 | download.opensuse.org-oss        | Main Repository (OSS)      | Yes     | (r ) Yes  | Yes     |   99
4 | download.opensuse.org-tumbleweed | Main Update Repository     | Yes     | (r ) Yes  | Yes     |   99
5 | openSUSE-20230319-0              | openSUSE-20230319-0        | No      | ----      | ----    |   99
6 | repo-debug                       | openSUSE-Tumbleweed-Debug  | No      | ----      | ----    |   99
7 | repo-source                      | openSUSE-Tumbleweed-Source | No      | ----      | ----    |   99

then did a zypper dup to make sure all the changes took effect and then I retested with ffmpeg and it still works so there is an H.265 codec there and working it's just not being utilized by motion.

RegProctor commented 3 months ago

That added package of H265, I took out in the steps above (you can see it's no longer in the repo list) so now it's just using what's native to openSUSE and Packman.

It was there because I moved over to Tumbleweed pretty early when it was released and it wasn't in the distro back then. Now I have a standard basic setup of openSUSE. It showed this when I did the zupper dup (dup = disro. upgrade) as the only change that was made was an update to x265 because it was now taking it out of Packman and not that extra repo. I removed.

Mr-Dave commented 3 months ago

I did just build a OpenSuse Tumbleweed machine and the "stock" ffmpeg does not include H265. This is also consistent with the ffmpeg banner page output from above. The following is a snippet from that output parsed out for clarity.

--snip--- configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --snip--- --enable-libopenh264-dlopen
--snip--- --disable-encoders --disable-decoders --disable-decoder='h264,hevc,vc1' ---snip---

This could also probably be seen via the command ffmpeg -encoders. In my build of OpenSuse, it does not show H265 being available.

I believe what is occurring is that your test of ffmpeg isn't valid. You've used the -c copy option which does not do any decoding of the streams. It just copies packets. You need to tell ffmpeg to encode the video into a different format for a proper test. At that point I suspect ffmpeg will fail because it would need to decode the H265 packets in order to re-encode them into a different format.

Bottom line is that you'll need to either pick a different distro or build ffmpeg and Motion from source in order to have H265 support.

RegProctor commented 3 months ago

Did you add Packman? This is how in openSUSE you get the codecs and a few other goodies, you won't find it in OpenSUSE without Packman, they do it this way for copyright issues. That said, I found it. It seems just zypper dup wasn't enough. I also had to:

zypper dist-upgrade --from Packman --allow-vendor-change (I thought I did this a long time ago)

Then it got everything from Packman and it came up.