Tôi đang cố gắng nối các tập tin mp4 với dòng lệnh sau.
ffmpeg -fflags +genpts -y -f concat -copytb 1 -safe 0 -i .\list.txt -c:a copy -c copy $outputFileName
Tôi nhận được một số lỗi trên các tập tin này.
Auto-inserting h264_mp4toannexb bitstream filter
Auto-inserting h264_mp4toannexb bitstream filterx
Và hơn nữa rất nhiều những lỗi này.
[mp4 @ 0000000002574720] Non-monotonous DTS in output stream 0:0; previous: 1628167, current: 1603584; changing to 1628168. This may result
in incorrect timestamps in the output file.
[mp4 @ 0000000002574720] Non-monotonous DTS in output stream 0:0; previous: 1628168, current: 1604096; changing to 1628169. This may result
in incorrect timestamps in the output file.
[mp4 @ 0000000002574720] Non-monotonous DTS in output stream 0:0; previous: 1628169, current: 1604608; changing to 1628170. This may result
in incorrect timestamps in the output file.
[mp4 @ 0000000002574720] Non-monotonous DTS in output stream 0:0; previous: 1628170, current: 1605120; changing to 1628171. This may result
in incorrect timestamps in the output file.
Các tệp riêng lẻ dường như chỉ phát tốt và tệp đầu ra cuối cùng phát, nhưng có độ dài gấp đôi chính xác so với các tệp đầu vào.
Nói cách khác, khi tôi đến "điểm cuối" của video, người chơi báo cáo rằng video vẫn còn một nửa chặng đường.
tôi rất vui khi mã hóa lại âm thanh nếu cần thiết để khắc phục vấn đề này. bất kỳ đề xuất về cách sửa nó đều được chào đón.
Xóa copytb. Thông báo bộ lọc dòng bit không báo hiệu lỗi. Các cảnh báo DTS có thể bị bỏ qua nếu video / âm thanh phát tốt.
—
Gyan
Tôi đã thử mà không có copytb, kết quả tương tự. nó thực sự là lạ Tôi có thể phát toàn bộ video thông qua, độ dài chỉ gấp đôi một cách kỳ lạ.
—
Jim
Chúng tôi có thể cô lập cho dù đó là luồng âm thanh hoặc video đang theo dõi nó. Chạy concat hai lần, một lần với
—
Gyan
-vn
và sau đó với -an
.
nếu đã thử một lần với
—
Jim
ffmpeg -fflags +genpts -an -y -f concat -copytb 1 -safe 0 -i .\list.txt -c:a copy -c copy $outputFileName
và một lần với ffmpeg -fflags +genpts -vn -y -f concat -copytb 1 -safe 0 -i .\list.txt -c:a copy -c copy $outputFileName
Đầu ra là như nhau, với tệp có độ dài gấp đôi, chỉ trên thời gian.
vn/an
phải đi sau-i list.txt