ใช้เวิร์กโฟลว์นี้เพื่อสร้างไฟล์คำบรรยายจากวิดีโอ Weydub รองรับวิธีการแยกสองแบบ:
- การแยกด้วย OCR สำหรับคำบรรยายแบบฝังถาวรที่มองเห็นอยู่แล้วในเฟรมวิดีโอ
- การแยกด้วย ASR สำหรับบทสนทนาที่เป็นเสียงพูดในแทร็กเสียง
ต้องการตรวจสอบคุณภาพผลลัพธ์ก่อนเริ่มพัฒนาหรือไม่ ลองใช้เวิร์กโฟลว์บนเว็บของ Weydub ที่สอดคล้องกัน: สร้างคำบรรยาย
สำหรับคำอธิบายระดับระบบเกี่ยวกับการทำ OCR กับวิดีโอตามลำดับเวลา การกรองข้อความในฉาก และการแบ่งส่วน ASR ที่พร้อมใช้สร้างคำบรรยาย โปรดอ่าน การสร้างคำบรรยายด้วย AI โดยใช้ OCR สำหรับวิดีโอและ ASR
ปลายทาง
POST /v-w-c/gateway/ve/work/freeการแยกคำบรรยายทำงานแบบอะซิงโครนัส ให้บันทึก body.idProject และ body.dataList[].id จากนั้นใช้ โมเดลงานแบบอะซิงโครนัส สำหรับการโพล คอลแบ็ก พฤติกรรมการลองใหม่ และการลงนามคอลแบ็ก
การเข้าถึงและขีดจำกัด
| กฎ | ข้อกำหนด |
|---|---|
| การเข้าถึงของบัญชี | ต้องเปิดใช้งานสิทธิ์เข้าถึง API หลักสำหรับวิดีโอ โดยทั่วไปการแยกด้วย OCR/ASR เป็นส่วนหนึ่งของกลุ่มงานวิดีโอ แต่นโยบายบัญชีอาจยังคงจำกัดขนาดแบตช์หรือตัวเลือกขั้นสูง |
| วิดีโอต้นฉบับ | ใช้ HTTPS URL สาธารณะที่เสถียร ขีดจำกัดแบบตายตัวในปัจจุบันสำหรับวิดีโอคือ 15 นาทีต่อไฟล์และ 1000 MB ต่อไฟล์ |
| การเรียกเก็บเงิน | เวิร์กโฟลว์วิดีโอเรียกเก็บเงินเป็นหน่วยละ 30 วินาที คลิปที่สั้นกว่า 30 วินาทีจะนับเป็น 30 วินาที |
| งานที่ล้มเหลว | หากค่าสุดท้ายเป็นไปตามเงื่อนไข processStatus > 1 ระบบจะไม่หักเครดิต |
| การเก็บรักษา | ไฟล์คำบรรยายและแอสเซ็ตที่เรนเดอร์เป็นไปตามกฎการเก็บรักษาข้อมูลบนเว็บของ Weydub โดยค่าเริ่มต้น ระบบจะเก็บแอสเซ็ตต้นฉบับ/ที่เรนเดอร์จากช่วง 30 วันที่ผ่านมาไว้ ให้ดาวน์โหลดสำเนาสำหรับเก็บรักษาระยะยาวหลังได้รับคอลแบ็ก |
เลือก OCR หรือ ASR
| โหมด | ควรใช้เมื่อ | สัญญาณที่ต้องมี | ผลลัพธ์ทั่วไป |
|---|---|---|---|
| การแยกคำบรรยายแบบฝังถาวรด้วย OCR | คำบรรยายถูกฝังลงในภาพ โดยปกติจะอยู่ที่ด้านล่างของเฟรม | needChineseOcclude: 14, videoInpaintMasks, videoInpaintLang, lang. | srcSrtUrl, tgtSrtUrl. |
| การแยกเสียงพูดด้วย ASR | มีบทสนทนาอยู่ในแทร็กเสียงและคุณต้องการบทถอดเสียงพร้อมข้อมูลเวลา | needWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0. | srcSrtUrl, tgtSrtUrl. |
อย่าใช้ OCR เพื่อถอดเสียงวิดีโอที่มีเฉพาะเสียงพูด อย่าใช้ ASR เพื่ออ่านข้อความคำบรรยายแบบฝังถาวรในวิดีโอที่ไม่มีเสียง
เพย์โหลดการแยกคำบรรยายด้วย OCR
ใช้ OCR เมื่อคำบรรยายฝังอยู่ในภาพวิดีโอแล้ว
{
"urls": ["https://example.com/video.mp4"],
"needChineseOcclude": 14,
"videoInpaintLang": "en",
"lang": "en",
"videoInpaintMasks": "[{\"type\":\"trans_only_ocr\",\"region\":[[0,0.8],[1,0.8],[1,1],[0,1]]}]",
"extraOptions": "{\"extra_inpaint_config\":{\"auto_correct_on\":false,\"strip_last_punct_on\":true,\"scene_filter_on\":false}}",
"callback": "https://your-domain.example/webhooks/weydub"
}หมายเหตุ:
needChineseOccludeต้องเป็น14.- ต้องระบุ
videoInpaintMasksสำหรับการแยกด้วย OCR และควรทำให้เป็นสตริง JSON แบบกระชับก่อนลงนาม typeควรเป็นtrans_only_ocr.- ตั้งค่า
langให้เท่ากับvideoInpaintLangเมื่อไม่จำเป็นต้องแปล - พิกัดได้รับการปรับให้อยู่ในช่วงมาตรฐานตั้งแต่
0ถึง1โดยเรียงลำดับเป็นซ้ายบน ขวาบน ขวาล่าง และซ้ายล่าง
มาสก์ OCR
ใช้มาสก์อย่างน้อยหนึ่งรายการเมื่อทราบบริเวณคำบรรยายที่มองเห็นได้ มาสก์ที่กำหนดช่วงเวลาช่วยหลีกเลี่ยงการแยกคำใบ้เนื้อเรื่องชั่วคราวหรือข้อความลงทะเบียนเป็นบทสนทนา
| ฟิลด์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
type | string | ใช่ | ใช้ trans_only_ocr สำหรับการแยกคำบรรยายด้วย OCR |
region | array | ใช่ | จุดพิกัดที่ปรับให้อยู่ในช่วงมาตรฐานสี่จุด: [[x1,y1],[x2,y2],[x3,y3],[x4,y4]] |
start | number | ไม่ | เวลาเริ่มต้นเป็นวินาที ไม่ต้องระบุฟิลด์นี้หรือใช้ 0 เมื่อมาสก์มีผลตั้งแต่เริ่มต้น |
end | number | ไม่ | เวลาสิ้นสุดเป็นวินาที มีประโยชน์เมื่อมาสก์มีผลเฉพาะช่วงเกริ่นนำ |
to_end | number | ไม่ | จำนวนวินาทีก่อนวิดีโอจบ ควรใช้ end ที่ระบุชัดเจนเมื่อทราบค่า |
บริเวณที่ใช้บ่อย:
| สถานการณ์ | บริเวณ |
|---|---|
| แถบคำบรรยายแนวตั้งอัตราส่วน 16:9 | [[0,0.56],[1,0.56],[1,0.76],[0,0.76]] |
| บริเวณมาตรฐานสำหรับคำบรรยายแนวนอน | [[0,0.8],[1,0.8],[1,1],[0,1]] |
| แถบด้านล่างแบบกำหนดเอง | [[0,0.7],[1,0.7],[1,0.95],[0,0.95]] |
ตัวเลือก OCR
extraOptions.extra_inpaint_config สามารถปรับแต่งการทำความสะอาด OCR ได้:
| ตัวเลือก | ชนิด | คำอธิบาย |
|---|---|---|
auto_correct_on | boolean | ระบุว่าจะแก้ไขข้อความคำบรรยายที่ระบบรู้จำโดยอัตโนมัติหรือไม่ |
strip_last_punct_on | boolean | ระบุว่าจะลบเครื่องหมายวรรคตอนท้ายออกจากคำบรรยายแต่ละบรรทัดหรือไม่ |
scene_filter_on | boolean | ระบุว่าจะกรองข้อความในฉากที่ไม่ใช่บทสนทนาหรือไม่ ตัวเลือกนี้มักปิดใช้งานสำหรับการแยกคำบรรยายภาษาอังกฤษและภาษาอื่นที่ไม่ใช่ CJK เมื่อต้องการข้อความคำบรรยายที่มองเห็นได้ทั้งหมด |
เก็บ extraOptions เป็นสตริง JSON แบบกระชับสำหรับเพย์โหลดของ API สาธารณะ เว้นแต่สัญญาสำหรับบัญชีของคุณจะระบุไว้เป็นอย่างอื่น
เพย์โหลดการแยกคำบรรยายด้วย ASR
ใช้ ASR เมื่อวิดีโอมีเสียงพูดและคุณต้องการบทถอดเสียงพร้อมข้อมูลเวลา
{
"urls": ["https://example.com/video.mp4"],
"needWanyin": 1,
"sourceLang": "en",
"lang": "en",
"wyTaskType": "ONLY_ASR",
"needWyEdit": 0,
"wyNeedText": 0,
"extraOptions": "{\"asr_speaker_detect_on\":true,\"extra_video_translate_config\":{\"remove_last_punct_on\":true}}",
"callback": "https://your-domain.example/webhooks/weydub"
}หมายเหตุ:
wyTaskTypeต้องเป็นONLY_ASR.wyNeedText: 0หมายความว่าไม่ต้องเรนเดอร์คำบรรยายลงในวิดีโอใหม่needWyEdit: 0ปิดใช้งานการทำงานแบบแก้ไขด้วยตนเอง/แบบ pro-draft สำหรับงานแยกนี้sourceLangคือภาษาพูด ส่วนlangคือภาษาคำบรรยายที่ส่งออก ให้ใช้รหัสเดียวกันเมื่อไม่จำเป็นต้องแปล
ตัวเลือก ASR
| ตัวเลือก | ชนิด | คำอธิบาย |
|---|---|---|
asr_speaker_detect_on | boolean | เปิดใช้งานการตรวจจับผู้พูดเมื่อรองรับ มีประโยชน์สำหรับบทสนทนาที่มีผู้พูดหลายคน |
extra_video_translate_config.remove_last_punct_on | boolean | ลบเครื่องหมายวรรคตอนท้ายออกจากบรรทัดคำบรรยายที่สร้างขึ้น |
พารามิเตอร์
| พารามิเตอร์ | OCR | ASR | คำอธิบาย |
|---|---|---|---|
urls | จำเป็น | จำเป็น | URL วิดีโอสาธารณะ ใช้ URL HTTPS ที่เสถียรในระบบที่ใช้งานจริง |
needChineseOcclude | 14 | ไม่ใช้ | โหมดการแยกคำบรรยายด้วย OCR |
videoInpaintLang | จำเป็น | ไม่ใช้ | ภาษาของข้อความคำบรรยายที่มองเห็นได้ |
videoInpaintMasks | จำเป็น | ไม่ใช้ | สตริง JSON แบบกระชับที่อธิบายบริเวณ OCR |
extraOptions | ไม่บังคับ | ไม่บังคับ | สตริง JSON แบบกระชับสำหรับการทำความสะอาด OCR หรือตัวเลือก ASR |
needWanyin | ไม่ใช้ | 1 | เปิดใช้งานการประมวลผลเสียงพูดสำหรับ ASR |
sourceLang | ไม่บังคับ | จำเป็น | ภาษาพูด/ภาษาต้นฉบับ |
lang | จำเป็น | จำเป็น | ภาษาคำบรรยายที่ส่งออก ใช้ค่าเดียวกับภาษาต้นฉบับเมื่อไม่จำเป็นต้องแปล |
wyTaskType | ไม่ใช้ | ONLY_ASR | ประเภทงานสำหรับ ASR เท่านั้น |
needWyEdit | ไม่ใช้ | 0 | ปิดใช้งานกระบวนการแก้ไขด้วยตนเอง/แบบ pro-draft สำหรับการแยก |
wyNeedText | ไม่ใช้ | 0 | ไม่ต้องเรนเดอร์คำบรรยายลงในวิดีโอใหม่ |
callback | ไม่บังคับ | ไม่บังคับ | URL ของ Webhook สำหรับแจ้งเมื่อการประมวลผลแบบอะซิงโครนัสเสร็จสิ้น |
uid | ไม่บังคับ | ไม่บังคับ | ตัวระบุผู้ใช้/ลูกค้าของคุณเมื่อบัญชีใช้การติดตามผู้ใช้ย่อย |
ผลลัพธ์
งานแยกที่สำเร็จสามารถส่งคืนข้อมูลต่อไปนี้:
srcSrtUrltgtSrtUrlprocessStatusprocessProgresspaidPoint- ข้อมูลเมตาของงานภายใต้รายการงานที่ส่งคืน
การแยกข้อมูลด้วย OCR และ ASR ไม่จำเป็นต้องเรนเดอร์วิดีโอใหม่ ตรวจสอบสถานะซ้ำจนกว่า processStatus === 1 แล้วจึงอ่าน srcSrtUrl หรือ tgtSrtUrl
Callback จะส่งเพย์โหลดของรายการงานโดยตรง โดยไม่มีโครงสร้างครอบชั้นนอก code / msg / body ที่ใช้ในการตอบกลับจากการตรวจสอบสถานะซ้ำ
หมายเหตุสำหรับเอเจนต์
- เลือก OCR สำหรับข้อความคำบรรยายที่ฝังอยู่ในภาพ และเลือก ASR สำหรับบทสนทนาที่เป็นเสียงพูด
- คง
videoInpaintMasksและextraOptionsไว้ในรูปแบบที่กะทัดรัดและแปลงเป็นสตริงก่อนลงนาม - อย่าส่งอาร์เรย์มาสก์ OCR เป็นอาร์เรย์เนทีฟ เว้นแต่สัญญาสำหรับบัญชีของคุณจะระบุให้ทำเช่นนั้น
- ใช้คำขอ enum (
POST /v-w-c/enum/query2) เพื่อดึงข้อมูลการรองรับsourceLangและLangในปัจจุบัน โดย endpoint enum นี้ไม่ต้องลงนาม - ตรวจสอบสถานะซ้ำจนกว่า
processStatusจะเป็น1แล้วจึงอ่านsrcSrtUrlหรือtgtSrtUrl - จัดเก็บไฟล์คำบรรยายก่อนการล้างข้อมูลตามระยะเวลาการเก็บรักษา