0Pricing
HTML Academy · บทเรียน

องค์ประกอบ source สำหรับหลายรูปแบบ

จัดเตรียมรูปแบบสำรองด้วยองค์ประกอบ source

องค์ประกอบ source สำหรับหลายรูปแบบ เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องมีหลายรูปแบบ

เบราว์เซอร์ต่างกันรองรับตัวเข้ารหัสเสียงและวิดีโอแตกต่างกัน:

  • WebM (VP9/VP8) — Chrome, Firefox, Edge (ไม่ใช่ Safari)
  • MP4 (H.264) — เบราว์เซอร์ทั้งหมด (รองรับทั่วไป)
  • OGG — Firefox, Chrome (ไม่ใช่ Safari)
  • OPUS — Chrome, Firefox, Edge (ไม่ใช่ Safari)

องค์ประกอบ <source> ช่วยให้คุณระบุรูปแบบหลายแบบเพื่อใช้เป็นเนื้อหาสำรองได้

องค์ประกอบแหล่งที่มาภายในเสียง

ระบุรูปแบบเสียงหลายแบบ:

<audio controls>
  <!-- Browser picks the first format it supports: -->
  <source src="podcast.opus" type="audio/ogg; codecs=opus">
  <source src="podcast.ogg" type="audio/ogg; codecs=vorbis">
  <source src="podcast.mp3" type="audio/mpeg">
  <!-- Fallback text if none supported: -->
  <p>Download: <a href="podcast.mp3">podcast.mp3</a></p>
</audio>

องค์ประกอบแหล่งที่มาภายใน video

ระบุรูปแบบวิดีโอหลายแบบ:

<video controls width="1280" height="720" poster="thumbnail.jpg">
  <source src="tutorial.webm" type="video/webm">
  <source src="tutorial.mp4" type="video/mp4">
  <p>Your browser doesn't support HTML5 video.
     <a href="tutorial.mp4">Download the video</a></p>
</video>

แอตทริบิวต์ประเภทขององค์ประกอบแหล่งที่มา

แอตทริบิวต์ type แจ้งเบราว์เซอร์เกี่ยวกับชนิด MIME และตัวเข้ารหัส:

<!-- Full MIME type with codec parameter: -->
<source src="video.webm" type="video/webm; codecs=vp9,vorbis">
<source src="video.mp4" type="video/mp4; codecs=avc1.42E01E,mp4a.40.2">
<source src="audio.ogg" type="audio/ogg; codecs=vorbis">

<!-- Simplified (browser may need to probe): -->
<source src="video.webm" type="video/webm">
<source src="video.mp4" type="video/mp4">

การทำงานของการเลือกแหล่งที่มา

เบราว์เซอร์จะประเมินองค์ประกอบแหล่งที่มาตามลำดับ:

  1. อ่านค่า type ของแหล่งที่มาแรก
  2. หากสามารถเล่นชนิดนั้นได้ จะดาวน์โหลดและใช้แหล่งที่มานั้น
  3. หากเล่นไม่ได้ จะเลื่อนไปยังแหล่งที่มาถัดไป
  4. หากไม่มีแหล่งที่มาใดใช้งานได้ จะแสดงเนื้อหาสำรอง

วางรูปแบบที่ต้องการมากที่สุดไว้ก่อน เช่น WebM เพื่อประสิทธิภาพบน Chrome/Firefox

แอตทริบิวต์สื่อขององค์ประกอบแหล่งที่มา

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

<video controls>
  <!-- Mobile: smaller file -->
  <source
    src="video-480.mp4"
    type="video/mp4"
    media="(max-width: 768px)"
  >
  <!-- Desktop: full quality -->
  <source
    src="video-1080.mp4"
    type="video/mp4"
  >
</video>

ลำดับรูปแบบที่แนะนำ

ลำดับแหล่งที่มาที่เหมาะสมที่สุดเพื่อความเข้ากันได้และประสิทธิภาพสูงสุด:

<video controls>
  <!-- AV1 in WebM: best compression, modern browsers -->
  <source src="video.av1.mp4" type="video/mp4; codecs=av01">

  <!-- VP9 in WebM: Chrome/Firefox/Edge -->
  <source src="video.webm" type="video/webm">

  <!-- H.264 in MP4: universal fallback -->
  <source src="video.mp4" type="video/mp4">
</video>

คำแนะนำเกี่ยวกับรูปแบบเสียง

คำแนะนำเกี่ยวกับตัวเข้ารหัสเสียง:

  • OPUS ใน WebM — อัตราส่วนคุณภาพต่อขนาดดีที่สุด ใช้ได้กับ Chrome, Firefox, Edge
  • AAC ใน MP4 — รองรับทั่วไป ใช้ได้กับ Safari, Chrome, Firefox, Edge
  • MP3 — เข้ากันได้กว้างที่สุด ใช้เป็นเนื้อหาสำรองลำดับสุดท้าย

วิดีโอแบบตอบสนองด้วย srcset

สำหรับวิดีโอ ให้ใช้ media กับแหล่งที่มาเพื่อปรับตามแบนด์วิดท์:

<video controls poster="thumbnail.jpg">
  <source
    src="video-720.webm"
    type="video/webm"
    media="(min-width: 1024px)"
  >
  <source
    src="video-360.webm"
    type="video/webm"
  >
  <source src="video-720.mp4" type="video/mp4" media="(min-width: 1024px)">
  <source src="video-360.mp4" type="video/mp4">
</video>

การตรวจสอบ canPlayType

ทดสอบการรองรับตัวเข้ารหัสของเบราว์เซอร์ด้วย JavaScript:

const video = document.createElement('video');

console.log(video.canPlayType('video/webm; codecs=vp9'));
// '' = no, 'maybe' = possibly, 'probably' = likely yes

console.log(video.canPlayType('video/mp4; codecs=avc1.42E01E'));
// 'probably' on most modern browsers

เนื้อหาสำรอง

ควรใส่เนื้อหาสำรองไว้ภายในองค์ประกอบเสียงและ video เสมอ:

<video controls width="800" height="450">
  <source src="demo.webm" type="video/webm">
  <source src="demo.mp4" type="video/mp4">

  <!-- Fallback for browsers without video support: -->
  <p>
    Your browser does not support HTML5 video.
    <a href="demo.mp4">Download the video</a> instead.
  </p>
</video>

ตรวจสอบความเข้าใจ

ควรแสดงรายการองค์ประกอบแหล่งที่มาตามลำดับใด

สรุปทบทวน: องค์ประกอบแหล่งที่มา

สิ่งสำคัญขององค์ประกอบแหล่งที่มา:

  • <source src type> ภายในองค์ประกอบเสียงหรือ video ใช้ระบุทางเลือกของรูปแบบ
  • เบราว์เซอร์เลือกแหล่งที่มาแรกที่ตรงกัน
  • วางรูปแบบสมัยใหม่ที่สุดไว้ก่อน โดยใช้ MP4/AAC เป็นเนื้อหาสำรองที่รองรับทั่วไป
  • ใส่ข้อความหรือลิงก์สำรองภายในองค์ประกอบเสียงหรือ video หลังแหล่งที่มาทั้งหมด
  • ใช้ media กับแหล่งที่มาเพื่อเลือกวิดีโอตามพื้นที่แสดงผล

คำถามที่พบบ่อย

บทเรียน “องค์ประกอบ source สำหรับหลายรูปแบบ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “องค์ประกอบ source สำหรับหลายรูปแบบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “องค์ประกอบ source สำหรับหลายรูปแบบ”

จัดเตรียมรูปแบบสำรองด้วยองค์ประกอบ source คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “องค์ประกอบ source สำหรับหลายรูปแบบ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม

ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. องค์ประกอบ audio: src controls loop autoplay
  2. องค์ประกอบ video และอัตราส่วนภาพ
  3. องค์ประกอบ source สำหรับหลายรูปแบบ
  4. คำบรรยายด้วย track และ WebVTT
← กลับไปที่ HTML Academy