- ทำไมฉันจึงเข้าถึงไฟล์ในเครื่องในแอปเดโมไม่ได้
- เหตุใดการส่งออกจึงล้มเหลวในอุปกรณ์บางเครื่อง
- Transformer รองรับการแปลง (หรือบันทึก) สื่อจากระยะไกลไหม
- Transformer รองรับอินพุต 8k ไหม
- Transformer เกี่ยวข้องกับการแปลงสื่อเป็นรูปแบบที่เข้ากันได้กับแพลตฟอร์มอย่างไร
- ฉันจะลดเวลาในการตอบสนองของการส่งออกหรือเพิ่มปริมาณงานได้อย่างไร
เหตุใดฉันจึงเข้าถึงไฟล์ในเครื่องในแอปเดโมไม่ได้
การบังคับใช้พื้นที่เก็บข้อมูลที่จำกัดขอบเขตจาก Android 11 (API ระดับ 30) จะป้องกันการเข้าถึงระบบไฟล์โดยตรง สำหรับการทดสอบด้วยตนเองในระหว่างการพัฒนา คุณสามารถเข้าถึงไฟล์ในเครื่องได้โดยเพิ่มสิทธิ์ในการจัดการพื้นที่เก็บข้อมูลภายนอกในไฟล์ Manifest ของแอปเดโม
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
จากนั้นให้สิทธิ์ผ่าน adb โดยทำดังนี้
adb shell appops set --uid androidx.media3.demo.transformer \
MANAGE_EXTERNAL_STORAGE allow
เหตุใดการส่งออกจึงล้มเหลวในอุปกรณ์ที่เฉพาะเจาะจง
โปรดรายงานปัญหาในเครื่องมือติดตามปัญหา Media3 พร้อมข้อมูลที่เพียงพอ เพื่อจำลองปัญหา เราสามารถเพิ่มวิธีแก้ปัญหาเฉพาะอุปกรณ์ลงใน ไลบรารีเพื่อปรับปรุงความเข้ากันได้เมื่อเวลาผ่านไป
Transformer รองรับการแปลง (หรือบันทึก) สื่อจากระยะไกลไหม
Transformer รองรับสตรีมแบบค่อยๆ ดาวน์โหลดจากระยะไกล รวมถึงคอนเทนเนอร์ไฟล์สื่อ เช่น MP4
ในสภาพเครือข่ายที่ไม่ดีอย่างมาก การส่งออกอาจล้มเหลวเนื่องจากการบัฟเฟอร์สื่อ
ระยะไกลนานเกินไปจะทริกเกอร์การตรวจสอบใน Muxer ซึ่งมีไว้เพื่อ
ระบุว่าไปป์ไลน์ค้างอยู่ คุณจะลบล้างลักษณะการทำงานเริ่มต้นได้โดย
ตั้งค่า maxDelayBetweenMuxerSamplesMs ใน Transformer.Builder ดังนี้
Kotlin
Transformer.Builder(context).setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET).build()
Java
new Transformer.Builder(context).setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET).build();
การส่ง C.TIME_UNSET จะนำการหมดเวลาออกทั้งหมด แต่หากแอปทำงานใน
ชิปเซ็ตที่ MediaCodec อาจค้าง คุณอาจต้องตั้งค่าการหมดเวลาที่ไม่ใช่ศูนย์ให้มีค่ามากขึ้น
Transformer รองรับอินพุต 8k ไหม
Transformer ได้รับการติดตั้งใช้งานในลักษณะที่ไม่ขึ้นกับรูปแบบ จึงไม่จำกัด การจัดการวิดีโอ 8K แต่ความสามารถของฮาร์ดแวร์ในอุปกรณ์อาจทำให้ การส่งออกไม่สำเร็จ เช่น แม้ในอุปกรณ์ที่ถ่ายวิดีโอ 8K ได้ แต่ก็อาจถอดรหัสและเข้ารหัสวิดีโอ 8K อีกครั้งไม่ได้เนื่องจาก ตัวแปลงรหัสฮาร์ดแวร์หรือทรัพยากร RAM ที่มีอยู่เกินขีดจำกัด
Transformer เกี่ยวข้องกับการแปลงสื่อเป็นรูปแบบที่เข้ากันได้กับแพลตฟอร์มอย่างไร
การแปลงรหัสสื่อที่เข้ากันได้ เป็นฟีเจอร์แพลตฟอร์ม Android จาก Android 12 (API ระดับ 31) ที่แปลง สื่อที่มีความยาวไม่เกิน 1 นาทีเป็นรูปแบบที่แอปรองรับ หากคุณ เลือกใช้ฟีเจอร์นี้ การอ่านไฟล์สื่อในรูปแบบที่ไม่รองรับ จะทำให้ระบบแปลงรหัสตามคำขอ และแคชผลลัพธ์ไว้สำหรับการอ่านในภายหลัง
นอกจากนี้ Transformer ยังรองรับการแปลง รูปแบบด้วย แต่ จะพร้อมใช้งานเป็นไลบรารีสนับสนุนและแอปจะควบคุมการ ดำเนินการแปลงรหัสได้อย่างเต็มที่
ฉันจะลดเวลาในการตอบสนองของการส่งออกหรือเพิ่มปริมาณงานได้อย่างไร
Transformer ใช้ MediaCodec ในการถอดรหัสและเข้ารหัสที่มีการเร่งฮาร์ดแวร์ และใช้ OpenGL ในการประมวลผลเฟรมวิดีโอ จากการวัดผลในอุปกรณ์ทั่วไป ปัจจัยที่จำกัดปริมาณงานของ Transformer คือปริมาณงานของตัวเข้ารหัสฮาร์ดแวร์MediaCodecสำหรับกรณีการใช้งานที่ไม่มีการประมวลผลเอฟเฟกต์ที่มีน้ำหนักมาก ซึ่งน่าจะส่งผลต่อการติดตั้งใช้งานอื่นๆ ในลักษณะเดียวกัน ตัวอย่างเช่น ฟีเจอร์การแปลงรหัสที่ใช้ได้กับแพลตฟอร์มมีประสิทธิภาพคล้ายกับ
Transformer
ตัวอย่างการแก้ไขข้อบกพร่องของแอปตัวอย่างจะลดปริมาณงานลงอย่างมาก ดังนั้นให้ปิดฟีเจอร์ตัวอย่างเมื่อทดสอบกับบิลด์รุ่นที่เผยแพร่ของแอปตัวอย่างเพื่อให้ทราบแนวคิดด้านประสิทธิภาพที่สมจริง