Tôi đã có một loạt các phân đoạn ts được mô tả bởi một tệp index.m3u8:
index.m3u8
segment1_0_av.ts
segment2_0_av.ts
segment3_0_av.ts
segment4_0_av.ts
segment5_0_av.ts
Tôi biết tất cả chúng đều được mã hóa theo cùng một cách. ffprobe cho tôi những điều sau:
Input #0, mpegts, from 'segment1_0_av.ts':
Duration: 00:00:10.00, start: 0.100511, bitrate: 1251 kb/s
Program 1
Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 960x540 [SAR 1:1 DAR 16:9], 12.50 fps, 25 tbr, 90k tbn, 25 tbc
Stream #0:1[0x101]: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 105 kb/s
Stream #0:2[0x102]: Unknown: none ([21][0][0][0] / 0x0015)
Tôi muốn kết hợp chúng vào một thùng chứa mp4. Nhưng khi tôi thử các lệnh như:
ffmpeg -f concat -i filelist.txt -c copy output.mp4
trong đó việc tạo filelist.txt từ tệp index.m3u8, nó phàn nàn về việc không thể đọc các tệp khác nhau. Nhưng bản thân việc chuyển đổi các tập tin ts dường như hoạt động tốt. Tôi nghĩ rằng tôi không sử dụng ffmpeg đúng cách.
Làm cách nào để sử dụng ffmpeg để kết hợp các tệp ts được mô tả bởi index.m3u8 vào một thùng chứa mp4 bằng cách sử dụng codec sao chép?
-bsf:a aac_adtstoasc
.