ฉันจะค้นหาตัวแปลงสัญญาณที่ไฟล์ AVI ต้องการได้อย่างไร จะใช้วิธีที่ไม่ต้องการดาวน์โหลดโปรแกรม (เช่นดูไฟล์ในแผ่นจดบันทึก)
ฉันจะค้นหาตัวแปลงสัญญาณที่ไฟล์ AVI ต้องการได้อย่างไร จะใช้วิธีที่ไม่ต้องการดาวน์โหลดโปรแกรม (เช่นดูไฟล์ในแผ่นจดบันทึก)
คำตอบ:
เปิดในแผ่นจดบันทึกทำการค้นหา 'vids' - FOURCC หลังจากนั้น เช่นคุณจะพบสิ่งที่ชอบ:
vidsWMV1
จากนั้น google สำหรับ 'fourcc WMV1' ในตัวอย่างนี้
นี่เป็นกระบวนการที่ง่ายมากและสามารถทำได้โดยใช้เครื่องมือข้อมูลตัวแปลงสัญญาณGSpot เพียงดาวน์โหลดโปรแกรมและติดตั้ง ตอนนี้ไปที่เมนูเริ่มของคุณและเปิดโปรแกรม
ค้นหารหัส FourCCสำหรับตัวแปลงสัญญาณวิดีโอของไฟล์
เยี่ยมชมเว็บไซต์ FourCC และดูว่าใครเป็นผู้พัฒนาตัวแปลงสัญญาณ
ตอนนี้คุณสามารถไปที่เว็บไซต์นักพัฒนาซอฟต์แวร์นั้นเพื่อดาวน์โหลดตัวแปลงสัญญาณของคุณ คุณยังสามารถเยี่ยมชมส่วนตัวแปลงสัญญาณของwmplugins
หมายเหตุ: อย่าดาวน์โหลดสิ่งที่มีป้ายกำกับว่า "Codec Pack" หรือจากลิงก์ที่ด้านบนของเว็บไซต์ FourCC วิธีนี้จะช่วยให้คุณไม่เกิดปัญหาเมื่อเล่นไฟล์
VLC รองรับ Divx และ 3ivx ในตัวสำหรับทุกแพลตฟอร์ม
ฉันต้องการสิ่งนี้พบหน้านี้ (เก่ามาก) และตัดสินใจว่าฉันจะไม่โหลด 260 MB AVI ของฉันลงในโปรแกรมแก้ไขข้อความดังนั้นบางทีโซลูชันของฉันอาจช่วยคนอื่นได้
หากคุณมีเชลล์คล้าย Unix คุณอาจมีโปรแกรมที่เรียกว่า 'strings' ซึ่งค้นหาลำดับของอักขระที่พิมพ์ได้ โดยค่าเริ่มต้นความยาวขั้นต่ำคือสี่ซึ่งเป็นเรื่องปกติสำหรับความต้องการนี้ (สามารถเปลี่ยนแปลงได้ในบรรทัดคำสั่ง) 'vids' และ fourcc จะต่อเนื่องกันในเอาต์พุต (แต่ไม่ใช่สตริงหนึ่งใน AVI ของฉัน)
คุณสามารถส่งผลลัพธ์ให้เป็นสิ่งที่เรียบง่ายเช่น 'มากกว่า' แล้วค้นหาด้วยตัวคุณเอง หรือคุณอาจจะใส่เข้าไปในหัวและหวังว่าจะเดาจำนวนบรรทัดที่คุณต้องการ หรือคุณอาจจะซับซ้อนกว่านี้นิดหน่อยแล้วก็แปะมันผ่าน sed และพิมพ์บรรทัดที่ตรงกับลวดลายที่ต้องการ หรือคุณสามารถใช้ awk ทำเช่นเดียวกัน บนเปลือก cygwin ของฉันตัวเลือกเหล่านั้นดูเหมือนคำสั่งเหล่านี้:
สตริง foo.avi |
สตริงเพิ่มเติมfoo.avi | หัว -10
สตริง foo.avi | sed -n '/ vids /, + 1p'
strings foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; พิมพ์; exit}} '
ข้อเสียของรุ่นที่สามคือฉันต้องประมวลผลไฟล์ทั้งหมดดังนั้นอาจใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์ ฉันมั่นใจว่ามีวิธีที่จะทำให้มันหยุดหลังจากการแข่งขันครั้งแรก แต่ฉันไม่เชี่ยวชาญพอที่จะรู้ (หรือค้นหา) เวอร์ชัน awk หยุดทำงานอย่างชัดเจนหากเงื่อนไขเป็นจริง (รับบรรทัดถัดไปพิมพ์นั้นออก - ในขณะที่คำสั่ง sed มีเพียงสองรายการแรกที่มี +1 และ p) ในทั้งคำสั่ง sed และ awk นั้น / vids / เป็นนิพจน์ปกติที่เราต้องการ (เช่นสตริงการค้นหาในคำตอบของ Chris ข้างต้น) นอกจากนี้โครงสร้าง awk 'NR == 1, / vids /' บอกว่าจะใช้บล็อกโค้ดต่อไปนี้กับบรรทัดจากหมายเลข 1 (บรรทัดอินพุตแรก) กับทุกที่ที่พบนิพจน์ปกติ (สตริงที่ตรงกัน) เงื่อนไข if ป้องกันการพิมพ์บรรทัดทั้งหมดที่ตรงกับที่ตรงกัน ฉันได้มันตรงกับเต็มบรรทัด ($ 0) ซึ่งสำหรับคำสั่ง strings ควรทำงานได้ดี; สตริงจะถูกพิมพ์หนึ่งรายการต่อบรรทัด
โปรดทราบว่าสตริงที่พบอาจรวมถึงอักขระพิเศษ (เช่นจากไฟล์ AVI ของฉันพบว่า 'strf (' ไม่ใช่ 'strf' ซึ่งเป็น fourcc) หากคุณต้องการสับที่อักขระสี่ตัว (เช่นสคริปต์ที่ต้องการ เพื่อจับคู่กับรายการมาตรฐาน) คุณสามารถไพพ์คำตอบของ 'head-c 4' และรับ fourcc เพียงนี่คือคำตอบสุดท้ายของฉัน:
สตริง foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; พิมพ์; exit}} '| หัว -c 4
FWIW, Windows Media Player แสดงรายการตัวแปลงสัญญาณใน AVI ของฉันเป็น "-" สำหรับทั้งเสียงและวิดีโอ
ฉันหวังว่ามันจะคุ้มค่ากับคนที่ฉันใช้เวลาพิมพ์สิ่งนี้! ;-)
ว๊าวมาร์ค