คำสั่งเพื่อแยกเสียงจากวิดีโอโดยไม่มีการแปลง


25

ฉันรู้ว่าflvและmp4ไฟล์aacมีเสียงในขณะที่aviวิดีโอมักจะmp3สตรีมเสียง

คำสั่งอะไร (avconv, ffmpeg) จะแยกเสียงโดยไม่ต้องแปลงรหัส?

audio  video 

คุณอาจสนใจสคริปต์ PHP ที่ฉันสร้างขึ้นซึ่งฉันใช้เพื่อกำหนดส่วนขยายของไฟล์เสียงออกโดยอัตโนมัติ
Gras Double

คำตอบ:


29
ffmpeg -i video.mp4 -vn -acodec copy audio.aac

นี่คือคำอธิบายสั้น ๆ เกี่ยวกับสิ่งที่ทุกพารามิเตอร์ทำ:

  • -i ตัวเลือกระบุไฟล์อินพุต
  • -vn ตัวเลือกที่ใช้ในการข้ามส่วนวิดีโอ
  • -acodec copy จะคัดลอกสตรีมเสียงที่เก็บตัวแปลงสัญญาณดั้งเดิม

ในขณะที่วิดีโอ mp4 มี aac audio ไม่ใช่ mp3 แต่นั่นคือการรักษาสตรีมเสียงโดยไม่แปลงรหัส?

1
ฉันไม่ได้ดูแลส่วนขยายของไฟล์ออก อัปเดตคำตอบ อย่างไรก็ตามถ้าคุณอ่านคำตอบแบบเต็มคุณจะพบว่าสำเนา -acodec นี่จะหลีกเลี่ยงการแปลงรหัส
jherran

ฉันขอแนะนำ m4a (container สำหรับ aac) แทนที่จะ aac เพราะดูเหมือนว่าไม่ใช่เรื่องง่ายที่จะเล่น

เป็นไปได้หรือไม่ในขณะที่ใช้ ffmpeg หรือ avconv จะมีคำสั่งโดยไม่พูดถึงชื่อจริงของไฟล์อินพุต / เอาต์พุตดังนั้นคำสั่งจะถูกนำมาใช้อย่างไร? (ฉันต้องการที่จะใช้ในการดำเนินการเมนูบริบทในตัวจัดการไฟล์ nemo)

1
คุณอาจต้องการใช้ตัวแปรหรืออะไรทำนองนั้น แต่ที่ดีกว่าคือคุณถามคำถามพร้อมรายละเอียดเฉพาะทั้งหมด
jherran

4

เป็นคำตอบที่สมบูรณ์ด้วยคำสั่งที่ไม่ต้องการชื่อเฉพาะของไฟล์

สำหรับวิดีโอที่มีเสียง aac:

ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a

หากต้องการใช้ในคำสั่งเมนูตามบริบทรูปแบบเช่นนี้จะทำงาน:

bash -c 'ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f 

แทนที่ด้วยเอาต์พุตรูปแบบเสียงที่สอดคล้องกันสำหรับอินพุตรูปแบบวิดีโออื่น


แหล่งเริ่มต้นที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.