Skip to content

Stuck at 66% if video has no audio track #422

Description

@MrLavender

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions