It really is a shame that this application is so poorly maintained. It's easily the best simple video trimmer and cutter if only the various "gets stuck at 66%" bugs were addressed.
My own use case is CCTV footage which doesn't have an audio track and VidCutter fails because it assumes that all video has an audio track... a PR which fixes this and other issues was submitted EIGHT YEARS AGO.
Anyway for now I just run this shell script to fix it every time my distro updates it. Only tested on Arch Linux.
#!/bin/bash
set -eu
pkgs=$(python -c 'import site; print(site.getsitepackages())')
pkgs=${pkgs:2}
pkgs=${pkgs::-2}
cd "$pkgs"
sudo patch -p0 << 'EOM'
--- vidcutter/libs/videoservice.py
+++ vidcutter/libs/videoservice.py
@@ -264,8 +264,16 @@ class VideoService(QObject):
else:
args = '-i "{}"'.format(source)
result = self.cmdExec(self.backends.ffmpeg, args, True)
- vcodec = re.search(r'Stream.*Video:\s(\w+)', result).group(1)
- acodec = re.search(r'Stream.*Audio:\s(\w+)', result).group(1)
+ match = re.search(r'Stream.*Video:\s(\w+)', result)
+ if match:
+ vcodec = match.group(1)
+ else:
+ vcodec = None
+ match = re.search(r'Stream.*Audio:\s(\w+)', result)
+ if match:
+ acodec = match.group(1)
+ else:
+ acodec = None
return vcodec, acodec
def parseMappings(self, allstreams: bool = True) -> str:
EOM
It really is a shame that this application is so poorly maintained. It's easily the best simple video trimmer and cutter if only the various "gets stuck at 66%" bugs were addressed.
My own use case is CCTV footage which doesn't have an audio track and VidCutter fails because it assumes that all video has an audio track... a PR which fixes this and other issues was submitted EIGHT YEARS AGO.
Anyway for now I just run this shell script to fix it every time my distro updates it. Only tested on Arch Linux.