diff --git a/v6d3music/core/ytaudio.py b/v6d3music/core/ytaudio.py
index 23740c8..0f44968 100644
--- a/v6d3music/core/ytaudio.py
+++ b/v6d3music/core/ytaudio.py
@@ -78,17 +78,20 @@ class YTAudio(discord.AudioSource):
         if url in self._durations:
             return
         self._durations.setdefault(url, '')
-        prompt = ''
         if self.tor:
-            prompt = 'torify '
-        prompt += (
-            f'ffprobe -i {shlex.quote(url)}'
-            ' -show_entries format=duration -v quiet -of csv="p=0" -sexagesimal'
-        )
+            args = ['torify']
+        else:
+            args = []
+        args += [
+            'ffprobe', '-i', url,
+            '-show_entries', 'format=duration',
+            '-v', 'quiet',
+            '-of', 'default=noprint_wrappers=1:nokey=1',
+            '-sexagesimal'
+        ]
         p = subprocess.Popen(
-            prompt,
-            stdout=subprocess.PIPE,
-            shell=True
+            args,
+            stdout=subprocess.PIPE
         )
         with Benchmark('FFP'):
             code = await self.loop.run_in_executor(None, p.wait)