ตกลงดังนั้นงานของฉันคือ:
- ตัดวิดีโอขึ้นเป็นส่วน N
- ffmpeg -i in.mpg -ss 10 -t 10 -codec copy part1.mpg
- ffmpeg -i in.mpg -ss 30 -t 10 -codec copy part2.mpg
- ...
- แมวส่วนเหล่านี้เข้าด้วยกัน
- cat part1.mpg part2.mpg ... & gt; temp.mpg
- ไฟล์นี้ทำงานได้ดี แต่ช่วงเวลา ฯลฯ เกิดความผิดพลาดเนื่องจากค่า PTS ไม่ถูกต้อง
- เรียกใช้ผ่าน FFmpeg
- ffmpeg -i temp.mpg -codec คัดลอก out.mpg
- ไฟล์นี้ยังทำงานได้ดี แต่ในช่วงระยะเวลาการตัดที่แน่นอนตอนนี้มีพื้นที่สีดำ PTS ได้รับการแก้ไขแล้ว แต่เป็นการบัญชีสำหรับเฟรมที่ถูกลบด้วย
ฉันจะแก้ไขค่า PTS ได้อย่างไร
แก้ไข: ฉันถูกบังคับให้ใช้ FFmpeg เวอร์ชันเก่ากว่า (ดังนั้นจึงไม่มีการใช้ตัวกรองเช่นการตัดแต่งหรือการเชื่อมต่อแบบ dematux)
ฉันคิดว่าทุกครั้งที่คุณใช้คำสั่งเพื่อแยกวิดีโอคุณควรใช้ setpts filter เช่น: ffmpeg -i in.mpg -ss 10 -t 10 vf "setpts = PTS-STARTPTS" -codec copy part1.mpg ทำงานได้ แต่การใช้ cat สำหรับวิดีโอไม่ใช่ความคิดที่ดี
—
ptQa
ฉันจะลองดู แมวเป็นตัวเลือกเดียวของฉันโชคไม่ดี
—
Knossos
ขอบคุณดูเหมือนว่าจะช่วย คุณสามารถตั้งความคิดเห็นของคุณเป็นคำตอบเพื่อที่ฉันจะยอมรับได้หรือไม่
—
Knossos