จะหาคุณภาพของวิดีโอได้อย่างไร?


0

หากฉันมีลิงค์ URL หลายอันสำหรับวิดีโอหรือไฟล์เสียงฉันจะทราบได้อย่างไรว่าลิงค์ใดมีคุณภาพดีที่สุด มีข้อมูลส่วนหัวซึ่งบอกฉันเกี่ยวกับคุณภาพของวิดีโอ - แม้ประเภทเนื้อหาจะแตกต่างกันหรือไม่?

ตัวอย่างสำหรับวิดีโอ:

  • ประเภทเนื้อหาของ URL แรกคือ: video/3gpp
  • ประเภทเนื้อหาของ URL ที่สองคือ: video/mp4

ตัวอย่างสำหรับไฟล์เสียง:

  • ประเภทเนื้อหาของ URL แรกคือ: audio/3gpp
  • ประเภทเนื้อหาของ URL ที่สองคือ: audio/webm

เป็นไปได้หรือไม่ที่จะเปรียบเทียบพวกเขาตามคุณภาพ - ที่ฉันได้รับจากข้อมูลส่วนหัว ฉันขอให้ URL นี้มีเพียงเสียงและ URL ที่มีเฉพาะวิดีโอ (เสียงและวิดีโอ)


คุณมีตัวอย่างหรือไม่?
Biswapriyo

อาจเป็นไปได้ว่าคุณสามารถตรวจสอบได้โดยไปที่เทอร์มินัล / บรรทัดคำสั่งและเรียกใช้curlดังนี้: curl -I [url of video]และส่วนหัวควรบอกรายละเอียดทุกอย่างให้คุณ แต่หากไม่รู้ URL ที่คุณกำลังทดสอบคำถามนี้กว้างเกินไป
JakeGould

@Biswapriyo แต่น่าเสียดายที่ไม่ได้ เป็นวิดีโอภายในทั้งหมดซึ่งเข้าถึงได้โดย URL
Emba Bakar

คำตอบ:


2

ส่วนหัวของ HTTP ไม่น่าจะบอกอะไรคุณได้มากกว่ารูปแบบวิดีโอหรือออดิโอคอนเทนเนอร์ แต่รูปแบบวิดีโอและออดิโอคอนเทนเนอร์ที่ทันสมัยส่วนใหญ่สามารถมีคุณสมบัติต่าง ๆ ของวิดีโอหรือเสียงที่เก็บไว้ภายใน หากต้องการทราบว่าข้อมูลจริงที่อยู่ในไฟล์คอนเทนเนอร์นั้นมีคุณภาพเพียงใดคุณจะต้องเริ่มดาวน์โหลดไฟล์และดูที่ส่วนหัวภายในของไฟล์ (ไม่ใช่ส่วนหัว HTTP)

ดังที่กล่าวไว้เนื่องจากตัวอย่างของคุณมีเนื้อหาประเภท 3GPP HTTP ฉันเดาว่าสิ่งเหล่านั้นมีคุณภาพต่ำกว่ารุ่น MPEG-4 และ WebM เนื่องจากวิดีโอ 3GPP ได้รับการออกแบบมาเป็นวิดีโอระดับบิตเรตต่ำซึ่งสามารถสตรีมข้ามช้าได้อย่างง่ายดาย มาตรฐานในปัจจุบัน) เครือข่าย 3G ยุคแรก ๆ ที่พลิกโทรศัพท์ด้วยหน้าจอความละเอียดต่ำเล็ก ๆ จากปี 2549


1

คำตอบนี้เป็นเพียงส่วนขยายของคำตอบ Spiffด้วยตัวอย่างจริง

ตัวอย่างเช่นที่นี่ฉันเลือกวิดีโอนี้เรียกใช้ First Docker Container ใน Azureจาก Channel9 MSDN มีสี่รูปแบบไฟล์ของวิดีโอนั้น ฉันทำอะไรไป? คำตอบ: ใช้curl --headเพื่อแสดงเฉพาะส่วนหัวของคำขอ HTTP / GET นั้นซึ่งมีประเภทเนื้อหาและความยาวเนื้อหา จากนั้นดาวน์โหลดไฟล์เหล่านั้น ใช้ffmpeg -iเพื่อแสดงข้อมูลการเข้ารหัสไฟล์วิดีโอที่ดาวน์โหลดมา (เฉพาะส่วนที่สำคัญมีให้ด้านล่าง) นี่คือสามของพวกเขา:

  1. MP4 คุณภาพต่ำ:
$> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure.mp4"
Content-Length: 42,102,244
Content-Type: video/mp4

$> ffmpeg -i jay-gordon-docker-in-azure.mp4
Duration: 00:17:54.05, start: 0.000000, bitrate: 313 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 210 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
  handler_name    : ?Mainconcept Video Media Handler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
Metadata:
  handler_name    : #Mainconcept MP4 Sound Media Handler
  1. MP4 คุณภาพระดับกลาง:
$> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_mid.mp4"
Content-Length: 129,621,802
Content-Type: video/mp4

$> ffmpeg -i jay-gordon-docker-in-azure_mid.mp4
Duration: 00:17:54.05, start: 0.000000, bitrate: 965 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 828 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
  handler_name    : ?Mainconcept Video Media Handler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
  handler_name    : #Mainconcept MP4 Sound Media Handler
  1. MP4 คุณภาพสูง:
$> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_high.mp4"
Content-Length: 385,374,160
Content-Type: video/mp4

$> ffmpeg -i jay-gordon-docker-in-azure_high.mp4
Duration: 00:17:54.05, start: 0.000000, bitrate: 2870 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 2701 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
  handler_name    : ?Mainconcept Video Media Handler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 160 kb/s (default)
Metadata:
  handler_name    : #Mainconcept MP4 Sound Media Handler

เปรียบเทียบเอาต์พุตคำสั่งทั้งสามนี้ เมื่อคุณภาพเพิ่มขึ้นความยาวของเนื้อหาจึงเพิ่มบิตเรตของเสียงและวิดีโอ ดังนั้นจึงเป็นไปได้ที่จะคาดเดาคุณภาพวิดีโอจากcurl --headคำสั่งความยาวเนื้อหาแต่ส่วนหัว HTTP ไม่ได้ให้การเข้ารหัสวิดีโอเต็มรูปแบบ หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการเข้ารหัสวิดีโอคุณต้องดาวน์โหลดไฟล์ URL เท่านั้นไม่สามารถให้ข้อมูลเหล่านั้นได้

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