Tôi đang cố gắng ghép hai tập tin mp4 bằng ffmpeg. Tôi cần điều này là một quá trình tự động do đó tại sao tôi chọn ffmpeg. Tôi đang chuyển đổi hai tệp thành tệp .ts và sau đó ghép chúng lại và sau đó thử mã hóa tệp .ts được nối. Các tập tin được mã hóa h264 và aac và tôi hy vọng sẽ giữ được chất lượng như cũ hoặc gần với bản gốc nhất có thể.
ffmpeg -i part1.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part1.ts
ffmpeg -i part2.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part2.ts
cat part1.ts part2.ts > parts.ts
ffmpeg -y -i parts.ts -acodec copy -ar 44100 -ab 96k -coder ac -vbsf h264_mp4toannexb parts.mp4
Thật không may, tôi nhận được thông báo lỗi sau từ ffmpeg trong quá trình mã hóa:
[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[NULL @ 0x101d600]error, non monotone timestamps 13779431 >= 13779431kbits/s
av_interleaved_write_frame(): Error while opening file
Điều này xảy ra khoảng một nửa trong quá trình mã hóa khiến tôi nghĩ rằng bạn không thể kết hợp hai tệp .ts lại với nhau và để nó hoạt động.