I'm using ffmpeg to combine multiple .dv files into one .dv file. First time ffmpeg user, so I'm still trying to get a feel for it. Based on some examples I found, I came up with the following:
$ffmpeg -f concat -safe 0 -i files.txt -c copy output.dv
But it fails with an audio sample rate error:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.dv
ffmpeg version 7.1-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2024 the FFmpeg developers
built with Apple clang version 16.0.0 (clang-1600.0.26.3)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libharfbuzz --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.100 / 61. 19.100
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
[dv @ 0x7feb74007d00] Estimating duration from bitrate, this may be inaccurate
Input #0, concat, from 'filelist.txt':
Duration: N/A, start: 0.000000, bitrate: 30819 kb/s
Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 8:9 DAR 4:3], 28771 kb/s, 60k fps, 29.97 tbr, 60k tbn
Stream #0:1: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
Stream #0:2: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
[dv @ 0x7feb74110040] Invalid sample rate 32000 for audio stream #0 for this video profile, must be 48000.
[dv @ 0x7feb74110040] Can't initialize DV format!
Make sure that you supply at least two streams:
video: 25fps or 29.97fps, audio: 2ch/48|44.1|32kHz/PCM
(50Mbps allows an optional second audio stream)
[out#0/dv @ 0x7feb74105580] Could not write header (incorrect codec parameters ?): Invalid data found when processing input
Conversion failed!
So the main complaint seems to be this line:
[dv @ 0x7feb74110040] Invalid sample rate 32000 for audio stream #0 for this video profile, must be 48000.
I tried "-ar 48000", and that was no help. I then tried "-an" to disable audio. Not only did that fix the problem, but my output video still had working audio. So I'm really confused as to what is going on here.

BTW, the source .dv files are from a Digital8 camcorder, streamed onto on to an old G4 mac via firewire (and using iMovie 5).

And while I'm here, there is a related question to the above. What is "-safe 0" for? Without it I get:
[concat @ 0x7f9fe4804d00] Unsafe file name 'Clip 01.dv'
I can't find any documentation on what "safe" means and why it is needed in this instance.