من تنها راه مطمئنی که میشناسم (مطمئن از این نظر که دوباره انکود/دیکود نمیکنه)، استفاده از کامندلاین و ffmpeg هست:
homebrew رو نصب کن (باید Xcode هم قبلش نصب باشه، یا حداقل فایل ۱۶۰ مگابایتی Xcode Command Line Tools رو از
https://developer.apple.com/downloads باید نصب کنید). طریقهٔ نصب homebrew در
https://github.com/mxcl/homebrew/wiki/installation h اومده - باید بعد از نصب Xcode، اسکریپت زیر رو در ترمینال کپی کنید:
کد: انتخاب همه
/usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
بعدش فقط کافیه brew install ffmpeg رو در ترمینال بزنید تا ffmpeg نصب بشه.
----
بعد از نصب ffmpeg، دو خط زیر «منطقاً» باید کاری که شما میخوای رو بکنن (م گم منطقاً چون تستش نکرده م ولی تا حد زیادی ازش مطمئنم):
کد: انتخاب همه
ffmpeg -i 'orig-video.mkv' -an 'silent-video.mkv'
ffmpeg -i 'audio.aac' -i 'silent-video.mkv' -vcodec copy -acodec copy 'final.mkv'
توضیحات: در خط اول، an یعنی اینکه audio رو کپی نکنه. همزاد این سویچ، vn و sn (کپی نکردن زیرنویس) هستند. یک ورودی داریم که فیلم اصلیه و صداش رو دور میریزیم و silent-video.mkv بهدست میآد.
در خط دوم، دو تا input داده میشه که یکی فقط صداست و دیگری فقط تصویر و میگیم که codec هر دو، «کپی» کردن باشه (یعنی عملاً دوباره انکود/دیکود نکنه).