I'd recommend you capture the full RAW tape using FFmpeg-DL (deck link) via firewire.
Personally I think it's the best way to do this if you have a Firewire connection on your camcorder.
Reason: You'll be able to do a maximum quality transfer via firewire over to your Mac.
After that you can edit / transcode as you wish using the tool(s) that you prefer
1. Install Home-brew
- Go to your terminal app and install Home Brew ( Directions at: https://brew.sh )
2. Install a couple tools that will allow your camcorder to be connected to and communicated with. From your terminal app issue the following 4 commands.
- brew tap amiaopensource/amiaos
- brew tap mediaarea/homebrew-mediaarea
- brew install ffmpegdecklink dvrescue mediainfo
- brew link --force ffmpegdecklink
3. Now run the command below to see what name your Camcorder is listed as or is even recognized:
- ffmpeg-dl -f avfoundation -list_devices true -i ""
You should see some output with the name DCR-TVR18E or something similar. Note down (copy) the EXACT spelling that is shown in above command's output. If your Camcorder is listed that means your Mac and Camcorder are communicating just fine via your firewire connection. NOTE my wire connection was as follows between my camcorder and Mac:
|
|
|
|
|
|
|
|
|
USB-C / Thunderbolt port on a 2020 MacMini M1 (in my case)
If the above command in step 3 shows your camcorder is indeed communicating with the Mac - awesome. You are ready to now capture the entire tape over to a .DV file onto your MacBook. It'll be BIG (~ 20 GB / hr of taped video). If you've go the space no worries -- as you'll later on be able to transcode the .DV file over to another format that you prefer etc. etc. etc. But for now you want to at least capture as losslessly as possible so you can do edits, color correction, etc.. with the best quality material possible)
4. Make sure the camcorder is ON and the switch is set to PLAY / VTR mode (not record mode). Insert your first tape, rewind it fully and then issue this command in terminal app - please replace "DCR-TVR18E" with the actual name you saw in step 3 command's output:
- ffmpeg-dl -f avfoundation -capture_raw_data true -i "DCR-TVR18E" -c copy -map 0 -f rawvideo tape_1_capture_video.dv
In the above command:
- -i "DCR-TVR18E" selects the input device
- -c copy tells the ffmpeg-dl program to NOT re-encode the file into some lossless format but instead keep it fully quality
- -map 0 parameter tells ffmpeg-dl to save all streams of data (video and audio) as is
- -f rawhide tells ffmpeg-dl program that the video stream is raw data
- tape_1_capture_video.dv is the file name it will be saved as
NOTE: Above could also be done via a UI driven process but personally I found it too much -- try running from terminal app the following command - vrecord and an UI will come up on which the 2nd tab - DV would be relevant. (should have been installed as part of the dvrescue package in step 2)
5. Issue the command in step 4 above and hit the PLAY button on your camcorder. ffmpeg-dl will start to capture the entire raw data stream and save it to the tape_1_capture_video.dv file. This will take a long time (as long as the tape is in minutes. So a 60 min tape will take 60 mins, etc.. as it is playing the tape in real time)
6. Rinse and repeat steps 4 and 5 with appropriate output file name - i.e. tape_2_capture_video.dv, etc.. for each of your tapes.
Now you've captured all your tapes over to your Mac you can decide how you want to split the segments, edit, stabilize, color correct, etc. etc. and what format you want to save your corrected video clips as.
You can use Final Cut Pro Express or iMovie or Davinci Resolve, or a multitude of other applications.
Or you can even look at just using:
ffmpeg / ffplay -
https://ffmpeg.org
MPV -
https://mpv.io
ShotCut -
https://www.shotcut.org
Lossless Cut -
https://mifi.github.io/lossless-cut/
Shutter Encoder -
https://www.shutterencoder.com/en/
Personally I found the following useful for my quick workflow:
1. Do above to capture all tapes into DV format on Mac
2. View a tape and note down in a spreadsheet the start and end time for every segment I want to split out into a new file. Also note down any notes on the people in the video, a small description and if I want to do something regarding how bright or saturated the video is.
NOTE: You can also adjust many other parameters besides those and can actually evening pass Adobe Photoshop Curves values or a photoshop ACV file. For example extract a video frame as a PNG image file to use in photoshop where you can make adjustments via curves. i.e. to exact an image at 16 seconds into the video file:
ffmpeg -ss 0:00:16 -I tape_1_video.dv -frames:v 1 tape_1_video_at_16_second_mark_output.png
- Open in Photoshop the pic from above - output.png and adjust the CURVES and save the curves adjustment to a curves preference file - that ends in ACV
- Pass the acv curves file to adjust entire video segment to that
- curves= setting for ffmpeg to use in the -filter: parameter. i.e. curves=psfile=tape_1_video_at_16_second_mark_curves_file_from_Photoshop.acv
Another way to do curves adjustments is directly by specifying the adjustments individually in ffmpeg filter command like above but not referencing a file but instead the individual curve adjustments. Shotcut App or Shutter Encoder App above may make it easier to view and see the various curve adjustments values for ffmpeg.
3. Used MPV Player to view the original DV file with a script to fire it up to jump directly to the start of each video segment with some commands mapped into the keyboard so I could increase/decrease the GAMMA setting and the Saturation settings to see how it would look - note down in my spreadsheet the gamma and saturation setting I liked for that segment (I can document how I did this if someone wants)
4. Ran a script that issued ffmpeg command to create H264 MP4 encoded video segment files. The ffmpeg command for each segment was something similar to below:
ffmpeg -loglevel error -stats \
-ss 0:49:24 -to 0:51:14 \
-i tape_1_capture_video.dv \
-map 0:0 \
-filter:v eq=saturation=1.1:gamma=1.6,bwdif,scale=w=-2:h=720 \
-c:v h264_videotoolbox -b:v 5000k \
-color_primaries:v bt709 -color_trc:v bt709 -colorspace:v bt709 \
-aspect 4:3 \
-map 0:1 -c:a:0 aac_at -aac_at_mode:a:0 cvbr -ar:a:0 48000 \
-sn \
-movflags disable_chpl \
-movflags +faststart \
-metadata title='Title of the Video Segment' \
-metadata description='A verbose desription of the video segment - i.e. the people and what was happening etc.' \
REENCODED_CORRECTED_SEGMENT_OUTPUTFILENAME.mp4
In the above command:
-ss gives the start to end time of the video segment I want to extract and re-encode into H264
-i the input file name of the original DV file
-map 0:0 - video stream from DV file
- filter line - bumping saturation to 1.1 and brightening via changing the gamma to 1.6. bwdif is to de-interlace the video and upscale to 720p res
-c:v is directing ffmpeg to use the (not that great but it is faster while using more space) video toolbox h264 encoder and the hardware capabilities of the m1 chipsets instructions to speed up the process
-b:v 5000 is for a higher bit rate for improving the quality of the lossy encode (prob too high but I am fine with it). Make it a smaller number and you'll get a smaller file and might not be as good quality -- you can experiment.
-aspect command to ensure it maintains original ratio (might not be needed but I kept it in)
-map 0:1 and associated parameters are to re-encode the DV files audio data stream to AAC at 48K
REENCODED_CORRECTED_SEGMENT_OUTPUTFILENAME.mp4 - The filename to save the re-encode to
Good luck