ฉันจะทำให้ HTML5 h.264 Video ทำงานบน Firefox ได้อย่างไร


27

ตามบันทึกประจำรุ่นสำหรับ Firefox 26ตอนนี้วิดีโอ h.264 ควรทำงานใน Linux นอกจากนี้ยังบอกว่าจำเป็นต้องติดตั้งปลั๊กอิน gstreamer ที่เหมาะสม ไม่มีใครรู้ว่าสิ่งเหล่านี้คืออะไร?

ฉันใช้ไซต์ทดสอบนี้และหน้าYouTube HTML5เพื่อตรวจสอบว่ารองรับ h.264 ใน Google Chrome บน Ubuntu 12.04 64- บิตของฉัน แต่ไม่ทำงานบน Firefox 26


ฉันติดตั้ง gstreamer0.10-plugins เรียบร้อยแล้ว ฉันจะลองติดตั้ง gstreamer0.10-ปลั๊กอินที่ไม่ดีและ gstreamer0.10-ปลั๊กอินที่น่าเกลียด
HarlemSquirrel

โปรดทราบว่าคุณลักษณะนี้มีอยู่ใน Firefox ตั้งแต่รุ่น 24. สิ่งเดียวสิ่งที่มีการเปลี่ยนแปลงใน 26 ว่ามันถูกเปิดใช้งานในขณะนี้โดยค่าเริ่มต้นก่อนหน้านี้คุณมีการตั้งค่าในความจริงmedia.gstreamer.enabled about:config
falconer

ฉันไม่มีในabout:config@falconer - และฉันมี Firefox 25 และทุกอย่างเริ่มต้นด้วย gstreamer :-(
Wilf

1
@ Wilf นั่นน่าสนใจ สำหรับฉันมันใช้งานได้โดยไม่มีปัญหา แต่เมื่อฉันอ่านบน google จะต้องเปิดใช้งานในเวลารวบรวมและเช่น Fedora ไม่อนุญาตให้สร้างขึ้น คุณใช้ FF builds จาก repo ของ Ubuntu อย่างเป็นทางการหรือไม่
falconer

แม้ว่านี่จะไม่ใช่คำตอบสำหรับคำถามที่ถามกัน แต่ฉันก็ยังคิดว่ามันควรค่าแก่การกล่าวถึง: วิดีโอ HTML5 ในขณะที่อุดมการณ์ดีขึ้นอาจส่งผลให้ประสิทธิภาพแย่ลงอย่างสิ้นเชิง เมื่อใช้ youtube กับผู้เล่น HTML5 ฉันเห็นซีพียูฮิตอย่างต่อเนื่อง 100% ไม่ว่าฉันจะใช้เครื่องไหนและการพูดติดอ่างเป็นเรื่องที่พบบ่อย สิ่งนี้บ่งชี้ว่ามีการถอดรหัสซอฟต์แวร์มากมายเกิดขึ้น เมื่อใช้ Adobe Flash Player ด้วยการรวม HW [1] ฉันได้รับปริมาณการใช้ CPU ที่ 10-20% ขณะเล่นวิดีโอ ถ้า Core i7 ที่มี 12GBs แรมไม่สามารถเชื่อถือได้เล่น HTML5 Vide
Jostein Kjønigsen

คำตอบ:


30

สำหรับ 12.04 / 14.04 / 18.10

เพิ่งเยี่ยมชมการทดสอบ HTML5 Youtube และฉันได้ตรวจสอบ H.264 แล้ว คุณอาจจะต้องติดตั้งอุปกรณ์เสริมแบบ จำกัด ของ Ubuntu เพื่อรับตัวแปลงสัญญาณ gstreamer

sudo apt-get install ubuntu-restricted-extras

คุณอาจต้องรีสตาร์ท

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


2
นั่นเป็นเคล็ดลับ! ง่ายมาก! ฉันคิดว่าฉันติดตั้งเรียบร้อยแล้ว ... ทำให้ฉันโง่ แพ็คเกจ ubuntu- flashplugin-installer gstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-bad-multiverse libfaac0 libmjpegtools-1.9 libnspr4-0d libnss3-1d liboil0.3 ubuntu-restricted-addons
limited

เป็นจริงสำหรับ 14.04
Rael Gugelmin Cunha

1
ทำงานบน 16.04 ด้วย!
Rael Gugelmin Cunha

ยืนยันว่าใช้งานได้กับ 16.04 เช่นกัน โปรดทราบว่าหากคุณติดตั้ง Firefox 32- บิต (ผิดปกติ) คุณต้องติดตั้งไลบรารี gstreamer รุ่น i386 เช่นกัน (32- บิต Firefox ไม่สามารถใช้ไลบรารี 64- บิต): sudo apt-get install libavformat-ffmpeg56:i386 libavfilter-ffmpeg5:i386 gstreamer1.0-libav:i386
Nate Lampton

จะรับได้โดยไม่ต้องติดตั้งแฟลช?
Gringo Suave

14

สำหรับ 14.04

โซลูชันด้านบนไม่ทำงานอีกต่อไปกับ Trusty Tahr 14.04 เหตุผลนี้คือแพ็คเกจ gstreamer0.10-ffmpeg ถูกแทนที่ด้วย gstreamer1.0-libav แต่ Firefox กำลังวางแผนที่จะรองรับ gstreamer 1.0 กับรุ่น 30 เท่านั้น

ดังนั้นในระหว่างนี้คุณสามารถติดตั้ง gstreamer0.10-ffmpeg จาก saucy สำหรับสถาปัตยกรรมที่เหมาะสมของคุณได้ที่นี่:


4
ลิงค์นี้นำไปสู่ ​​404
Delapouite

Geoffrey: คุณสามารถเพิ่มแหล่งข้อมูลเพื่อสำรองการอ้างสิทธิ์ของคุณว่า "Firefox กำลังวางแผนที่จะสนับสนุน gstreamer 1.0 เฉพาะกับรุ่น 30" ไม่ใช่ว่าฉันสงสัยคุณ แต่การชี้ไปที่แหล่งข้อมูลที่เชื่อถือได้จะเป็นประโยชน์สำหรับพวกเราที่ต้องการเข้าใจปัญหานี้
Stefan Lasiewski

@Delapouite สวัสดีลองใช้ ppa นี้: launchpad.net/~jon-severinsson/+archive/ffmpegเพื่อดาวน์โหลด ffmpeg สำหรับ 14.04
Akronix

2
Firefox 30 อยู่ในช่วงสุดยอดแล้ว - เสนอ & รองรับgstreamer1.0-libavแพ็คเกจ. h264 ถึง ในบางจุดมันควรจะแสดงใน 14.04 แม้ว่าในปัจจุบันฉันใช้แพ็คเกจที่เสนอมาแล้วใน 14.04 โดยไม่มีปัญหา 0.10-ffmpeg ปลั๊กอินจะยังคงอยู่ใน ppa ปพลิเคชันที่ยังไม่ได้แจ้งความกับ GST-1.0
ดั๊ก

1
Firefox> 35 ทำงานกับ h264 โดยไม่มี ppa พิเศษใด ๆ ใน Ubuntu 14.04 สำหรับวิดีโอติดตั้ง gstreamer1.0-libav สำหรับเสียงติดตั้ง gstreamer1.0-fluendo-mp3
Mariuz

9

Firefox 33 ขึ้นไป

Mozilla เพิ่มการสนับสนุนสำหรับOpenH264เป็นปลั๊กอินในFirefox 33 หากต้องการเปิดใช้งานปลั๊กอิน Firefox จะทำการดาวน์โหลดไบนารีโดยอัตโนมัติจากเว็บไซต์ OpenH264ในครั้งแรกที่คุณเริ่มโปรแกรม

ที่เสียงดีไม่ได้หรือไม่ เดี๋ยวก่อน…นั่นคือปุน

แม้ว่านี่จะเป็นทางออกที่สะดวกมาก แต่ก็ควรเพิ่มความเป็นส่วนตัวและความปลอดภัยเมื่อซอฟต์แวร์ดาวน์โหลดไบนารีจากไซต์ที่เกี่ยวข้องกับ Cisco Systems หรือ บริษัท อื่น ๆ โดยอัตโนมัติไม่ว่ากระบวนการและข้อตกลงใบอนุญาตจะโปร่งใสเพียงใด

ไม่เกี่ยวข้องโดยตรง แต่ถ้าคุณต้องการที่จะลบคุกกี้โดยอัตโนมัติเมื่อ Firefox ได้รับปิดและไม่สามารถหาคุกกี้ที่เหมาะสมเพื่อให้สำหรับการเล่น HTML5 ถาวรแล้วฉันขอแนะนำในการติดตั้งทั้งหมดของ YouTube HTML5

ทดสอบกับ VM 14.04.2 และ 15.04

ฉันเดาว่าการติดตั้งไบนารีตัวถอดรหัส H.264 จะไม่เพียงพอดังนั้นฉันจึงตั้งค่าเครื่องเสมือนใหม่ 2 เครื่อง:

  • Ubuntu 14.04.2 ที่มีแอดออน จำกัด ติดตั้งระหว่างการติดตั้ง
  • Ubuntu 15.04 โดยไม่ต้องติดตั้ง addons ระหว่างการติดตั้ง

หลังจากการติดตั้ง VMs ทั้งสองเสร็จสมบูรณ์ฉันบูตระบบอัปเดตอีกครั้งติดตั้ง VM แขกเพิ่มเติมเริ่ม Firefox เป็นครั้งแรกและเริ่มระบบใหม่สำหรับการทดสอบจริง

เนื่องจาก YouTube ยังมีรูปแบบWebMที่มาเปิดของพวกเขาและฉันต้องการหลีกเลี่ยงรายละเอียดเกี่ยวกับวิธีการทดสอบฉันจำเป็นต้องใช้ไซต์ที่สามารถใช้ HTML5 เพื่อทดสอบการเล่น H.264 ที่เป็นกรรมสิทธิ์ ฉันเลือก Vimeo เพราะพวกเขาบอกว่าพวกเขาเริ่มต้นที่ HTML5และพวกเขาดูเหมือนจะไม่สนับสนุน WebM ซึ่งฉันคิดว่าไม่เป็นสิ่งที่ดี

เมื่อใดก็ตามที่ฉันทำการเปลี่ยนแปลงบางอย่างในการทดสอบเช่นการติดตั้งแพคเกจหรือการเปิด / ปิดการใช้งานบางอย่างใน Firefox ฉันปิดและเปิด Firefox อีกครั้ง

14.04.2 ด้วยแอดออนที่ถูก จำกัด

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

ดังที่คุณเห็นในภาพหน้าจอนี้เฉพาะปลั๊กอิน OpenH264 เปิดใช้งานใน Firefox แพ็คเกจ GStreamer ที่จำเป็นทั้งหมดในเวอร์ชันที่แตกต่างกันจะถูกติดตั้งไว้ล่วงหน้าและวิดีโอจะเล่นตามที่คาดไว้

15.04 โดยไม่มีส่วนเสริมแบบ จำกัด

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

ดังที่คุณเห็นในภาพหน้าจอนี้เปิดใช้งานปลั๊กอิน OpenH264 ไม่มีปลั๊กอิน Flash มีแพ็คเกจ GStreamer บางรุ่นในเวอร์ชันที่แตกต่างกันติดตั้งไว้ล่วงหน้า แต่วิดีโอไม่เล่น! แทนที่จะไซต์บอกเราทันทีว่าไม่สามารถเล่นวิดีโอได้ ทำไมถึงเป็นอย่างนั้น?

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

  • AAC หายไป! - เพื่อให้คำอธิบายง่าย ๆ มีไฟล์บนเซิร์ฟเวอร์ที่ป้อนเข้าสู่เบราว์เซอร์ของเรา หากคุณค้นหาโดยใช้ตัวตรวจสอบจากเมนูบริบทใน Firefox คุณจะพบ MP4 ที่มีการเข้ารหัสเสียง AAC ข้อความแสดงข้อผิดพลาดอาจชัดเจนมากขึ้น แต่ก็สมเหตุสมผลเนื่องจากเราไม่มีตัวถอดรหัสสำหรับ AAC ที่ติดตั้งอยู่ในปัจจุบัน
  • อัปเดต:ดูอีกครั้งในปัญหานี้กับ Firefox 41 ฉันพบว่า OpenH264 ดูเหมือนว่าจะปิดการใช้งานใน about: config through:

    media.fragmented-mp4.exposed;false
    media.fragmented-mp4.gmp.enabled;false
    

    การตั้งค่าเหล่านี้จะtrueไม่มีผลกระทบ การตั้งค่าเพิ่มเติมที่ฉันพยายาม:

    • media.audio_data.enabled;true ไม่มีผลกระทบ.
    • media.mediasource.enabled;true Vimeo ไม่เคยใช้ MSE มาก่อนการเปิดใช้งานการตั้งค่าเหล่านี้และที่เกี่ยวข้องไม่มีผล
    • media.fragmented-mp4.use-blank-decoder;true ผล: ผ้าใบสีเขียวทึบและสัญญาณเสียงไซน์เวฟคงที่

15.04 ด้วยแอดออนแบบจำกัด

วิธีการอันชาญฉลาดจะได้รับการติดตั้งgstreamer1.0-plugins-bad-faadแต่นี่ไม่ได้ทำให้เกิดข้อผิดพลาดเฉพาะใน Vimeo ไปดังนั้นให้ติดตั้ง addons ที่ จำกัด ทั้งหมด

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

ตามที่คาดไว้ทุกอย่างทำงานได้ถ้าคุณติดตั้งแพ็คเกจเสริมแบบ จำกัดหลังจากนั้นแต่คุณอาจต้องการตั้งค่าปลั๊กอิน Flash เป็นอย่างอื่นนอกเหนือจากenabledใน Firefox เพื่อให้แน่ใจว่าได้ใช้วิดีโอ HTML5

การวิเคราะห์หรือทำให้มันพัง

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

เห็นได้ชัดว่าgstreamer1.0-libavเป็นแพคเกจเดียวที่คุณต้องการลบเพื่อให้ได้รับข้อความข้อผิดพลาดกลับมา ดังนั้นมันจึงใช้ตัวถอดรหัส AAC ของ libav? ฉันไม่ได้ขุดลึกลงไปเพื่อหาข้อพิสูจน์สำหรับสิ่งนั้นและฉันก็มองหาตัวถอดรหัสที่ต้องการ (เช่นถ้า OpenH264 มีการใช้งานบน Linux) หรือ Vimeo พ่นข้อความแสดงข้อผิดพลาดนี้เนื่องจากการพึ่งพาอื่น ๆ .264 และ AAC กำลังติดตั้งตัวถอดรหัส

สรุปและแนวโน้ม

เพื่อสรุปผลการเล่นเนื้อหากระแสหลักไม่เพียง แต่ต้องใช้ตัวถอดรหัส H.264 แต่ยังต้องใช้ตัวถอดรหัส AAC และ H.265 กำลังเตรียมที่จะแทนที่ตัวเก่า นอกจากนี้ฉันไม่เห็นข้อกำหนดที่สอดคล้องกันสำหรับ MP4 กับ H.264ที่จะเปลี่ยนแปลงเพื่อแนะนำตัวแปลงสัญญาณเสียงที่เป็นมิตรกับโอเพ่นซอร์สมากขึ้นในอนาคตอันใกล้

ผลักดัน WebM อย่างจริงจัง! คุณได้รับ VP8 + Vorbis เป็นคู่แข่ง H.264 / AVC และ VP9 + Opus เป็นคู่แข่ง H.265 / HEVC


ในวันที่ 15.04 คุณมีโปรแกรมเล่น youtube html5 หรือไม่ สำหรับฉันแล้ววิดีโอเล่น แต่ไม่มีเสียง ฉันได้ติดตั้งแพ็คเกจทั้งหมดที่กล่าวถึงแล้ว ใช้ FF 38.
naught101

น่าสนใจมาก. คุณสามารถบอกเราได้หรือไม่ว่าการติดตั้งตัวแปลงสัญญาณเสียงมีผลต่อการถอดรหัส H264 ที่มีอยู่ใน about: support?
Martin Hansen

2

ปัจจุบัน Firefox ใช้ OpenH264 สำหรับ WebRTC เท่านั้นและไม่ใช้กับแท็กวิดีโอเนื่องจาก OpenH264 ยังไม่รองรับรูปแบบโปรไฟล์ระดับสูงที่ใช้บ่อยสำหรับการสตรีมวิดีโอ

ที่มา: http://andreasgal.com/2014/10/14/openh264-now-in-firefox/

gstreamer1.0-libav อาจเป็นตัวเลือกเดียวในการเพิ่มการรองรับแท็กวิดีโอ H264 HTML5 ใน Firefox สำหรับ Linux


มีเพียงพอสำหรับ Firefox บน Ubuntu 18.04 LTS
kubanczyk

0

ด้วย Firefox30 คุณต้องติดตั้ง GStreamer 1.0 คุณควรติดตั้งปลั๊กอินส่วนใหญ่: ไม่ดีน่าเกลียด ...

ไม่ได้รับสับสนโดยใช้ชื่อแพคเกจที่คุณควรติดตั้ง: gstreamer1ไม่ GStreamer (คนหนึ่ง / 1หมายเลขคือเป็นส่วนหนึ่งของแพคเกจและไม่ได้เป็น "รุ่น") ใช้กฎเดียวกันสำหรับปลั๊กอินทั้งหมด: "gstreamer1-plugins -... "

นี่คือ URL ที่สมบูรณ์ยิ่งขึ้นเพื่อทดสอบความสามารถของเบราว์เซอร์ html5 และการสนับสนุนตัวแปลงสัญญาณ: http://html5test.com/

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