การติดตั้ง ffmpeg จาก dmg แล้วเรียกใช้จากเทอร์มินัลมีวิธีที่ดีกว่านี้ไหม


11

จากที่นี่: https://ffmpeg.org/download.html#build-macฉันเลือก static builds 64- บิตซึ่งฉันก็ไปที่https://evermeet.cx/ffmpeg/

ฉันดาวน์โหลดแล้ว:

ป้อนคำอธิบายรูปภาพที่นี่

และเปิดโดยใช้สิ่งนี้:

ป้อนคำอธิบายรูปภาพที่นี่

ซึ่งให้ฉันนี้:

Last login: Wed Jun  6 09:41:56 on ttys000
david-selfs-Air:~ david$ /Volumes/FFmpeg\ 91200-g1616b1be5a/ffmpeg ; exit;
ffmpeg version N-91200-g1616b1be5a-tessus Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 19.104 / 58. 19.104
  libavformat    58. 17.100 / 58. 17.100
  libavdevice    58.  4.100 / 58.  4.100
  libavfilter     7. 24.100 /  7. 24.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting expired sessions...7 completed.

[Process completed]

แต่เมื่อผมเปิด terminal และพยายามffmpegหรือman ffmpegหรือแม้กระทั่งffmpeg -i filename.mp4 -vn filename.wav(จากที่นี่ ) ทั้งหมดที่ฉันได้รับคือ

-bash: ffmpeg: ไม่พบคำสั่ง

ฉันต้องใกล้ชิดมีสถานที่ที่ฉันต้องกำหนดเส้นทางให้ffmpegหรือไม่? ฉันไม่ทราบวิธีการทำเช่นนั้นหรือเส้นทางที่จะใช้

มีวิธีที่ดีกว่า?

คำตอบ:


20

ปัญหาคือการbashที่กำลังมองหาในไดเรกทอรีรายการในffmpeg $PATHไดเร็กทอรีเหล่านี้บางส่วนได้รับการคุ้มครองโดย SIP ดังนั้นคุณจะต้องปิดการใช้งาน SIPเพื่อวางไฟล์ในไดเรกทอรีเหล่านี้ หรือคุณสามารถติดตั้งโดยใช้ Homebrew

ก่อนติดตั้ง HomeBrew ด้วยคำสั่งนี้:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

จากนั้นติดตั้งffmpegด้วยคำสั่งนี้:

brew install ffmpeg

Homebrew จะติดตั้ง ffmpeg ในพา ธ ที่ไม่ได้รับการป้องกันโดย SIPแต่$PATHโดยเฉพาะอย่างยิ่งภายในจะติดตั้งภายใต้ /usr/local/binไดเรกทอรี

นี้สามารถทำได้ด้วยตนเองด้วยคำสั่งด้วยตนเอง (โดยทั่วไปทำในสิ่งที่ homebrew ทำสำหรับวิธีการตรวจสอบคำตอบ @davids นี้แต่ฉันจะแนะนำ homebrew ด้วยเหตุผลหลายประการมันใช้งานง่ายและรวดเร็วกว่าในการติดตั้งเครื่องมือจำนวนมาก ยังสามารถอัปเดตได้เร็วยิ่งขึ้น Homebrew ยังทำให้การติดตั้งอ้างอิงง่ายขึ้น

แก้ไข:ก่อนหน้านี้ฉันเคยมีส่วนหนึ่งของคำตอบนี้ด้วยข้อมูลที่ไม่ถูกต้องที่ฉันได้ทำการเปลี่ยนแปลง ฉันเชื่อว่ามันถูกต้องในขณะนี้ ฉันได้รวมส่วนเกี่ยวกับ SIP ไว้ด้วยเพราะฉันคิดว่ามันสำคัญที่จะต้องเข้าใจว่ามีข้อ จำกัด อะไรบ้างเกี่ยวกับการวางคำสั่งและเหตุใดจึงไม่มีเส้นทางเดียวสำหรับคำสั่งทั้งหมด


26

คุณควรจะคัดลอกโปรแกรมจากอิมเมจของดิสก์ไปยังโฟลเดอร์ในเครื่องของคุณ สถานที่ปกติสำหรับสิ่งเหล่านี้คือ / usr / local / bin

ดังนั้น:

sudo mkdir -p /usr/local/bin
sudo cp /Volumes/FFmpeg\ 91200-g1616b1be5a/ffmpeg /usr/local/bin/
sudo chmod +x /usr/local/bin/ffmpeg

และควรจะดีไป ไม่จำเป็นต้องปิดใช้งาน SIP

ไม่จำเป็นสำหรับ homebrew หรือตัวจัดการแพ็คเกจอื่น ๆ เพื่อติดตั้งไบนารีที่คอมไพล์แล้ว คุณจำเป็นต้องอ่าน UNIX พื้นฐาน


2

เทอร์มินัลเชลล์ของ macOS เช่นเดียวกับใน Windows หรือ Linux กำลังค้นหา$PATHตัวแปรสภาพแวดล้อมเพื่อค้นหาไบนารี

คุณสามารถตรวจสอบ$PATHตัวแปรของคุณ:

echo $PATH

เอาท์พุตใดใน macOS รุ่นล่าสุด:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

คุณต้องใส่สำเนาของไบนารีในหนึ่งในไดเรกทอรีเหล่านั้น (โดยเฉพาะอย่างยิ่ง / usr / local / bin เนื่องจากไม่ได้ป้องกันSIP ) หรือเพิ่มไดเรกทอรีอื่นใน$PATHตัวแปรสภาพแวดล้อมของคุณ

โดยทั่วไปวิธีปฏิบัติที่ดีที่สุดคือการจัดเก็บแอปพลิเคชันของคุณที่อื่น (เช่น/lib) และใส่symlinkในไดเรกทอรี bin ที่ชี้ไปยังไบนารีนั้นเท่านั้น สิ่งนี้เป็นจริงน้อยกว่าสำหรับไบนารีที่มีอยู่ในตัวเอง แต่จำเป็นต้องมีหากคุณต้องการเรียกใช้โปรแกรมปฏิบัติการที่อยู่ใน. app (เช่น/Applications/VLC.app/Contents/MacOS/VLC)


บน MacOS สถานที่ที่เป็นที่ยอมรับสำหรับการติดตั้งด้วยตนเองไบนารียูนิกซ์เป็น/usr/localหรือมากขึ้นโดยเฉพาะ/usr/local/bin,
nohillside
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.