fix: shell execute problem on Linux and macOS when calling ffmpeg

pull/13/head
WorldObservationLog 4 months ago
parent 35a520fcf7
commit a092982c4a
  1. 4
      src/mp4.py

@ -214,8 +214,8 @@ async def fix_encapsulate(song: bytes) -> bytes:
new_song_name = Path(tmp_dir.name) / Path(f"{name}_fixed.m4a")
with open(song_name.absolute(), "wb") as f:
f.write(song)
subprocess.run(["ffmpeg", "-y", "-i", song_name.absolute(), "-fflags", "+bitexact", "-c:a", "copy", "-c:v", "copy",
new_song_name.absolute()], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, shell=if_shell())
subprocess.run(f"ffmpeg -y -i {song_name.absolute()} -fflags +bitexact -c:a copy -c:v copy {new_song_name.absolute()}",
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, shell=if_shell())
with open(new_song_name.absolute(), "rb") as f:
encapsulated_song = f.read()
tmp_dir.cleanup()

Loading…
Cancel
Save