Pekerjaan transkoding dapat gagal karena masalah pada file sumber, seperti tidak adanya aliran video, masalah metadata, kesalahan frame, atau header file yang hilang. Topik ini menjelaskan isu-isu umum terkait transkoding, format yang didukung, serta pertanyaan lain yang sering diajukan beserta solusinya.
Isu transkoding
Bagaimana cara memecahkan masalah pekerjaan transkoding yang gagal yang dikirim melalui API SubmitJobs?
Pertama, pastikan file sumber dapat diputar dengan benar di perangkat lokal. Ini merupakan langkah kritis karena sebagian besar kegagalan transkoding disebabkan oleh masalah pada file sumber, seperti tidak adanya aliran video, masalah metadata, kesalahan frame, atau header file yang hilang. Masalah-masalah tersebut dapat memicu pemantauan efisiensi dan menyebabkan pekerjaan gagal.
Jalankan perintah
ffprobe -show_streams -show_format -of json -i [filePath]untuk memeriksa metadata file guna mengidentifikasi isu seperti tidak adanya atom moov atau pengecualian aliran.Jalankan perintah
ffprobe -show_packets -i [filePath]untuk memeriksa masalah dalam aliran data dan memverifikasi apakah durasi aliran sesuai dengan durasi metadata.CatatanKetidaksesuaian antara durasi dalam metadata dan durasi aktual aliran dapat menyebabkan pekerjaan transkoding gagal. Jika suatu file memiliki masalah metadata, proses file tersebut secara lokal dengan FFmpeg sebelum mengunggahnya untuk transkoding.
Protokol tidak didukung.
Temukan kode kesalahan dalam daftar kode kesalahan dan analisis penyebab kegagalannya.
Jika watermark teks berisi karakter khusus, output watermark mungkin terpotong atau pekerjaan bisa gagal. Anda harus melakukan escape karakter khusus tersebut sebelum mengirim pekerjaan, atau menghubungi Alibaba Cloud untuk dukungan kompatibilitas.
Berikut adalah alasan umum kegagalan transkoding terenkripsi:
Kunci kustom
Hasilkan kunci plaintext untuk enkripsi menggunakan GenerateDataKey. Jangan gunakan string kustom untuk menghasilkan kunci enkripsi. Jika tidak, pekerjaan transkoding terenkripsi akan gagal.
Enkripsi gagal.
Menggunakan jenis kunci selain AES_128 dari GenerateDataKey akan menyebabkan pekerjaan transkoding terenkripsi standar gagal tanpa menghasilkan file terenkripsi.
Dekripsi gagal
Jika pemutaran file terenkripsi standar gagal setelah dekripsi, pastikan API dekripsi melakukan base64-decode terhadap kunci plaintext yang dihasilkan oleh KMS sebelum meneruskannya ke pemutar untuk dekripsi. Jika tidak, pemutaran akan gagal.
Pembuatan berulang
Transkoding terenkripsi standar selalu dipicu oleh pengguna. Jika file terenkripsi dihasilkan berulang kali, periksa apakah API SubmitJobs dipanggil beberapa kali.
Status transkoding tersangkut di "Submitted" dan tidak diperbarui.
Status "Submitted" menunjukkan bahwa pekerjaan transkoding sedang dalam tahap persiapan, yang mencakup pengunduhan dan analisis video. File besar, bitrate tinggi, atau pengaturan templat yang kompleks dapat memperpanjang tahap ini. Harap tunggu hingga pekerjaan selesai.
Video sumber memiliki dua aliran audio, tetapi file output hanya memiliki satu. Bagaimana cara memperbaikinya?
Saat mengirim pekerjaan transkoding, Anda dapat menentukan aliran audio mana yang akan digunakan. Untuk mentranskode aliran audio pertama (diindeks sebagai 0), tambahkan konfigurasi aliran audio "AudioStreamMap":"0:a:0" ke parameter `Output`.
Mengapa lebar dan tinggi video output berbeda dari pengaturan saya?
Dalam templat transkoding, Anda dapat mengaktifkan rotasi otomatis (LongShortMode). Jika rotasi otomatis diaktifkan, atur hanya lebar atau tinggi dan biarkan nilai lainnya kosong. Untuk menghasilkan resolusi tertentu, nonaktifkan rotasi otomatis. Misalnya, dengan rotasi otomatis diaktifkan, Anda dapat mengatur lebar untuk mengontrol sisi lebih pendek video portrait (vertikal), atau mengatur tinggi untuk mengontrol sisi lebih panjang video landscape (horizontal).
File M3U8 yang ditranskode dari file MP4 diputar dengan layar hitam. Bagaimana cara memecahkan masalah ini?
Periksa apakah aliran video dalam file sumber Anda valid. Jika segmen TS pertama dari file M3U8 hasil transkoding tidak berisi data video, pemutar mungkin menampilkan layar hitam. Hal ini dapat terjadi jika terdapat masalah pada file sumber. Untuk mengatasinya, Anda dapat terlebih dahulu mentranskode file sumber menjadi file MP4 baru untuk memperbaikinya, lalu mentranskode file MP4 baru tersebut menjadi M3U8. Output akhir seharusnya dapat diputar dengan benar.
Video berhasil ditranskode tetapi gagal diputar. Apa penyebabnya?
Pemutaran mungkin gagal jika sertifikat HTTPS telah kedaluwarsa atau dikonfigurasi secara salah. Jika hal ini terjadi, coba putar video melalui HTTP.
File sumber berformat HDR. Setelah ditranskode ke SDR, output terlalu terang atau terlalu gelap. Mengapa?
Overeksposur terjadi karena templat tidak dikonfigurasi untuk transkoding adaptif. Anda dapat meminta dukungan Alibaba Cloud untuk mengonfigurasi transkoding adaptif bagi Anda. Undereksposur terjadi ketika file sumber non-HDR ditranskode menggunakan templat yang dirancang untuk HDR. Sebelum transkoding, identifikasi apakah file sumber berformat HDR untuk memastikan Anda menggunakan templat yang tepat.
Apakah ApsaraVideo Media Processing dapat mendeteksi posisi kotak moov? Bagaimana dengan file tanpa kotak moov?
Setelah transkoding, kotak moov ditempatkan di awal file MP4 secara default. Konfigurasi kustom tidak didukung. File tanpa kotak moov tidak dapat diproses dan akan menyebabkan transkoding gagal.
Mengapa durasi file audio output berbeda dari video sumber setelah transkoding?
Logika transkoding ApsaraVideo Media Processing menggunakan aliran audio terpendek dalam file input untuk menentukan durasi pekerjaan. Jika stempel waktu untuk beberapa segmen dalam file sumber tidak kontinu, ApsaraVideo Media Processing mungkin tidak dapat mengambil semua informasi media dari aliran video. Hal ini dapat memengaruhi perkiraan durasi dan menyebabkan deviasi waktu.
Mengapa bitrate audio yang saya atur selama transkoding tidak berlaku?
Jika penyandi audio tetap sama dan bitrate audio output yang ditentukan lebih tinggi daripada bitrate audio input, bitrate audio akan diatur ulang ke nilai aslinya. Untuk informasi lebih lanjut tentang parameter, lihat SubmitJobs.
Apa yang harus saya lakukan jika API mengembalikan data kosong?
Jika API mengembalikan data kosong atau kesalahan "resource does not exist", periksa apakah UID, wilayah permintaan, dan ID resource Anda sudah benar.
Mengapa pekerjaan saya terus-menerus gagal?
Pekerjaan dapat gagal karena berbagai alasan. Periksa pesan kesalahan yang dikembalikan. Misalnya, kesalahan "pre-processing failed" menunjukkan bahwa ApsaraVideo Media Processing tidak dapat mendekode file sumber Anda.
Pertanyaan dasar
Apa itu resource transkoding?
Resource transkoding adalah node komputasi yang digunakan ApsaraVideo Media Processing untuk menjalankan pekerjaan transkoding. Satu resource transkoding dapat menjalankan satu pekerjaan transkoding dalam satu waktu. ApsaraVideo Media Processing menyediakan resource transkoding bersama dan menetapkan kuota untuk setiap pengguna. Jumlah maksimum pekerjaan konkuren untuk seorang pengguna tidak boleh melebihi kuota ini. Saat sistem sibuk, jumlah pekerjaan konkuren mungkin lebih sedikit daripada kuota resource transkoding bersama.
Apa itu templat transkoding preset?
Templat preset adalah templat transkoding bawaan dengan pengaturan yang telah dikonfigurasi sebelumnya, seperti format, resolusi, dan kodek file output. ApsaraVideo Media Processing menganalisis fitur video secara cerdas dan merekomendasikan templat preset yang sesuai untuk berbagai perangkat pemutaran dan kondisi lebar pita jaringan. Saat membuat pekerjaan, Anda dapat menggunakan salah satu templat preset yang direkomendasikan. Jika Anda mengirim pekerjaan transkoding dengan templat preset yang berada di luar rentang yang direkomendasikan, kesalahan akan dikembalikan. Untuk informasi lebih lanjut, lihat Detail templat preset.
Bagaimana jika tidak ada templat transkoding preset yang Anda sediakan cocok untuk saya?
Anda dapat membuat templat transkoding kustom. Untuk informasi lebih lanjut tentang templat transkoding kustom, lihat Templat transkoding kustom.
Bagaimana cara mengunggah file media saya ke OSS?
Anda dapat mengunggah file menggunakan Konsol ApsaraVideo Media Processing atau Konsol OSS. Untuk petunjuk lengkap, lihat Unggah video .
Berapa ukuran maksimum file media yang dapat ditangani oleh ApsaraVideo Media Processing?
ApsaraVideo Media Processing mendukung file input hingga 100 GB. Untuk memproses file media yang lebih besar, hubungi kami.
Apakah saya dapat menggunakan CDN untuk mendistribusikan file media saya?
Ya, kami merekomendasikan agar Anda menggunakan Alibaba Cloud CDN untuk mendistribusikan konten Anda. Anda dapat menggunakan bucket OSS yang menyimpan file output transkoding Anda sebagai origin untuk Alibaba Cloud CDN. Konfigurasi ini mengurangi latensi, meningkatkan kecepatan respons, dan mengatasi isu seperti lebar pita jaringan rendah, trafik pengguna tinggi, dan distribusi jaringan yang tidak merata. Untuk informasi lebih lanjut, lihat halaman produk CDN. Untuk petunjuk spesifik, lihat Konfigurasi nama domain yang dipercepat.
Berapa lama waktu yang dibutuhkan untuk menyelesaikan pekerjaan transkoding?
Banyak faktor yang memengaruhi kecepatan transkoding, termasuk durasi file input, resolusi, bitrate, dan pengaturan templat transkoding. Biasanya, pekerjaan membutuhkan waktu 0,5 hingga 2 kali durasi file input untuk diselesaikan. Jika Anda mengirim beberapa pekerjaan, pekerjaan tersebut akan diantrekan dan diproses secara berurutan.
Apakah saya dapat mengkueri progres transkoding secara real time?
Tidak, ApsaraVideo Media Processing tidak menyediakan API untuk mengkueri progres real time pekerjaan transkoding. Namun, Anda dapat memperkirakan progres berdasarkan persentase penyelesaian:
Progres 0%: Pekerjaan transkoding berada dalam tahap persiapan. Ini mencakup pengunduhan dan analisis video.
Progres 20%: Pekerjaan transkoding telah dimulai. Harap tunggu hingga selesai.
Progres 100%: Pekerjaan transkoding selesai.
Apakah terdapat korespondensi satu-ke-satu antara file input dan output? Dapatkah saya membuat beberapa output untuk satu pekerjaan?
Setiap pekerjaan transkoding berkorespondensi dengan satu file input, satu templat transkoding, dan satu file output. Namun, ApsaraVideo Media Processing memungkinkan Anda menentukan beberapa output dalam satu pengiriman. Sistem kemudian akan membuat pekerjaan terpisah untuk setiap output.
Berapa banyak pekerjaan yang dapat ditangani oleh ApsaraVideo Media Processing secara simultan?
Setiap pengguna memiliki kuota resource transkoding default. Resource transkoding dialokasikan ke antrian MPS, dan setiap antrian bersifat independen. Jumlah pekerjaan konkuren yang dapat diproses oleh suatu antrian tidak boleh melebihi kuota resource yang dialokasikan ke antrian tersebut. Untuk informasi lebih lanjut, lihat Batasan.
Apa itu resource transkoding?
Resource transkoding adalah node komputasi yang digunakan ApsaraVideo Media Processing untuk menjalankan pekerjaan transkoding. Setiap resource transkoding dapat menjalankan satu pekerjaan transkoding dalam satu waktu. ApsaraVideo Media Processing menyediakan resource transkoding bersama dan menetapkan kuota untuk setiap pengguna. Kuota ini membatasi jumlah maksimum pekerjaan yang dapat Anda proses secara simultan. Saat sistem sibuk, jumlah pekerjaan yang dapat Anda proses secara konkuren mungkin lebih sedikit daripada kuota Anda.
Apa itu templat transkoding preset?
Templat preset adalah templat transkoding bawaan yang berisi berbagai pengaturan, seperti format, resolusi, dan kodek file output, yang diterapkan ApsaraVideo Media Processing selama transkoding. ApsaraVideo Media Processing menganalisis fitur video secara cerdas dan merekomendasikan templat preset yang sesuai untuk berbagai perangkat pemutaran dan kondisi lebar pita jaringan. Saat membuat pekerjaan, Anda dapat menentukan templat preset yang direkomendasikan. Jika Anda menentukan templat preset yang tidak direkomendasikan saat mengirim pekerjaan transkoding, kesalahan akan dikembalikan. Untuk informasi lebih lanjut, lihat Detail templat preset.
Bagaimana jika tidak ada templat transkoding preset yang Anda sediakan cocok untuk saya?
Anda dapat membuat templat transkoding kustom. Untuk informasi lebih lanjut, lihat Templat transkoding kustom.
Dapatkah Anda menyediakan transcoder khusus untuk saya?
ApsaraVideo Media Processing tidak mendukung kustomisasi transcoder atau layanan khusus.
Apakah encoding real time didukung?
ApsaraVideo Media Processing saat ini merupakan layanan transkoding berbasis file dan tidak mendukung transkoding real time.
Di wilayah mana saja ApsaraVideo Media Processing tersedia?
Untuk informasi lebih lanjut, lihat Wilayah layanan.
Saat saya membuat topik pesan di ApsaraVideo Media Processing, saya menerima kesalahan "Only one topic can be created!". Mengapa?
Saat ini, setiap pengguna ApsaraVideo Media Processing hanya dapat membuat satu antrian MPS. Inilah penyebab munculnya kesalahan "Only one topic can be created!". Untuk petunjuk cara membuat antrian, lihat Buat antrian MPS.
Apa arti nilai bidang Profile dalam AliyunAudioCodec di ApsaraVideo Media Processing?
Konfigurasi kodek audio di ApsaraVideo Media Processing mendukung lima profil berikut:
aac_low
aac_he
aac_he_v2
aac_ld
aac_eld
Dukungan format
Format input yang didukung
Format wadah
3GP, AVI, FLV, MP4, M3U8, MPG, ASF, WMV, MKV, MOV, TS, WebM, dan lainnya.
Format encoding video
H.264/AVC, H.263, H.263+, MPEG-1, MPEG-2, MPEG-4, MJPEG, VP8, VP9, Quicktime, RealVideo, Windows Media Video, dan lainnya.
Format encoding audio
AAC, AC-3, ADPCM, AMR, DSD, MP1, MP2, MP3, PCM, RealAudio, Windows Media Audio, dan lainnya.
Format output yang didukung
Kami merekomendasikan format output berikut: FLV untuk PC, MP4 untuk perangkat Android, dan TS (M3U8) untuk perangkat iOS. Format encoding video default adalah H.264/AVC, dan format encoding audio default adalah AAC.
Daftar lengkap format yang didukung
Untuk daftar lengkap format yang didukung oleh ApsaraVideo Media Processing, lihat Dukungan format.
Saat membuat file MP4, apakah download progresif didukung?
Menempatkan atom MOOV di awal file MP3 memungkinkan pemutaran dimulai segera tanpa perlu menunggu seluruh file diunduh.
Apakah ApsaraVideo Media Processing mendukung format stereo?
ApsaraVideo Media Processing mendukung output audio hasil transkoding dalam format AAC dan MP3 dua saluran.
Keamanan
Apakah file media saya aman?
Ya. Semua resource media Anda disimpan di bucket OSS milik Anda sendiri. Anda dapat menggunakan RAM untuk memberikan akses transkoding ApsaraVideo Media Processing hanya ke file tertentu di bucket yang Anda tentukan.
Apakah file media terenkripsi didukung?
Tidak. ApsaraVideo Media Processing tidak mendukung file input terenkripsi.