Tôi hiện đang sử dụng ffmpeg để chuyển đổi video ở nhiều định dạng khác nhau thành tệp flv. Một yêu cầu cũng đã được đưa ra và đó là để có được thông tin phụ đề chi tiết trong tệp. Có ai có bất kỳ kinh nghiệm với điều này hoặc biết nó thậm chí có thể được thực hiện. Tôi không thấy bất kỳ lựa chọn nào cho nó nhưng tôi nghĩ tôi sẽ hỏi và xem.Có thể ffmpeg trích xuất dữ liệu phụ đề chi tiết
Trả lời
Nếu chú thích được bao gồm như là một dòng riêng, sau đó giải nén chúng được (tương đối) đơn giản:
ffmpeg -i input.mov -an -vn -c:s copy -f rawvideo -map 0:s sub.txt
Nếu nó "đốt cháy" trên các tập tin video, sau đó bạn có lẽ vì may mắn, nhưng điều đó sẽ phổ biến hơn đối với phụ đề hơn là phụ đề chi tiết.
Để nhận được chỉ là phụ đề và không bất kỳ rác meta, tôi đã phát hiện ra rằng
ffmpeg -i input.mov -an -vn -bsf:s mov2textsub -scodec copy -f rawvideo sub.txt
làm việc tốt nhất cho tôi.
Phụ đề chi tiết không phải là các luồng riêng biệt, cũng như chúng được ghi vào hình ảnh, chúng được đan xen trong các đường quét Trong hình ảnh - đây là một ý tưởng kỳ lạ của người Mỹ, không thực sự được sử dụng ở nơi khác. Mặc dù bạn có thể mua đĩa DVD có loại phụ đề này, thông thường những người bên ngoài Hoa Kỳ không thể xem phụ đề và thậm chí có thể không biết có một số phụ đề trong tệp.
CCExtractor có thể trích xuất thông tin này từ VOB bằng cách nhìn vào các siêu dữ liệu TS: http://ccextractor.sourceforge.net/
xuất hiện rằng đối với dòng ATSC, chú thích bằng cách nào đó "chứa nhưng tách biệt" và không phải là hình ảnh, do đó có thể trích xuất được, xem câu trả lời của Anshul. Bây giờ nếu ffmpeg có thể "che phủ chúng" một cách thích hợp và ghi chúng vào, không chắc chắn, nhưng ít nhất khai thác là có thể ... – rogerdpack
đóng chú thích là của 2 định dạng
tiêu chuẩn 1) ATSC Mỹ (hỗ trợ là có trong ffmpeg)
2) ISDB tiêu chuẩn Nhật Bản (hỗ trợ vẫn chưa không có trong ffmpeg)
bạn có thể sử dụng lệnh
ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map s output.srt
sau
Điều này gần đây đã được phát triển vì vậy hãy kiểm tra phiên bản ffmpeg của bạn.
Cảm ơn bạn đã phát triển bản vá này! – tmm1
Nếu bất kỳ ai, giống như tôi, kết thúc trên chuỗi này, dưới đây là giải thích chi tiết hơn về lệnh ffmpeg
đã hoạt động đối với tôi.
ffmpeg -f lavfi -i movie=input.ts[out+subcc] -map 0:1 output.srt
Có vẻ như một yêu cầu khó khăn về nguồn là của mpegts
định dạng (file mở rộng .ts
). Nếu không, bộ lọc lavfi
dường như không hoạt động. Các spec out+subcc
lực lượng ffmpeg để điều trị phụ đề đóng (được nhúng vào dữ liệu khung) như dòng riêng biệt. Sau đó -map 0:1
chỉ làm cho ffmpeg
ánh xạ luồng đó và loại bỏ mọi thứ khác. Kết quả được lưu vào output.srt
. Tùy thuộc vào đầu vào của bạn, ánh xạ có thể khác nhau. Một cách dễ dàng để tìm ra các bản đồ chú thích khép kín là chạy ffprobe
lệnh, như vậy
$ ffprobe -f lavfi -i movie=input.ts[out+subcc]
ffprobe version N-79653-g4efd3ec Copyright (c) 2007-2016 the FFmpeg developers
libavutil 55. 22.101/55. 22.101
libavcodec 57. 38.100/57. 38.100
libavformat 57. 34.103/57. 34.103
libavdevice 57. 0.101/57. 0.101
libavfilter 6. 44.100/6. 44.100
libswscale 4. 1.100/4. 1.100
libswresample 2. 0.101/2. 0.101
libpostproc 54. 0.100/54. 0.100
[h264 @ 0x7fe869826200] Increasing reorder buffer to 1
Input #0, lavfi, from 'movie=input.ts[out+subcc]':
Duration: N/A, start: 1562.233011, bitrate: N/A
Stream #0:0: Video: rawvideo (I420/0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 90k fps, 30 tbr, 90k tbn
Stream #0:1: Subtitle: eia_608
Suối Subtitle: eia_608
có "chỉ số" 0:1
, vì vậy đó là những gì nên được ánh xạ.
Ít ghi chú chia tay, thứ tự của các đối số quan trọng cho ffmpeg
, -f lavfi
phải trước -i move=...
, nếu không thông số kỹ thuật sẽ không được nhận dạng. Tính năng này cũng khá gần đây, vì vậy hãy kiểm tra kỹ phiên bản ffmpeg
và nâng cấp của bạn nếu cần.
- 1. Phụ đề chi tiết trong MPMoviePlayerController cho iPhone
- 2. Có cách nào để Trình tích hợp dữ liệu Oracle trích xuất dữ liệu từ MongoDB
- 3. C# trích xuất dữ liệu từ XML
- 4. Trích xuất dữ liệu từ Wikipedia API
- 5. Trích xuất dữ liệu với Excel
- 6. Trích xuất phụ đề tự động từ video trên YouTube
- 7. Trích xuất dữ liệu số Python
- 8. Cách trích xuất Dump dữ liệu miễn phí cho một chủ đề cụ thể
- 9. Thao tác chi tiết tiêu đề WCF
- 10. Magento không lấy chi tiết cơ sở dữ liệu mới
- 11. FUSE - tài liệu chi tiết
- 12. Cách lấy chi tiết cơ sở dữ liệu magento
- 13. Tiêu đề C++ - tách biệt giữa chi tiết giao diện và chi tiết triển khai
- 14. Cách nhanh nhất để trích xuất khung bằng ffmpeg?
- 15. Mức độ chi tiết của "Chặn triển khai gia tăng nếu mất dữ liệu có thể xảy ra"
- 16. Trích xuất dữ liệu khác từ luồng mjpeg qua http
- 17. Khung thực thể Lưu chi tiết lỗi
- 18. cách trích xuất dữ liệu từ tệp xml bằng notepad ++?
- 19. Trích xuất gói dữ liệu ra khỏi bộ đệm byte
- 20. Để biết chi tiết bảng
- 21. Trích xuất tập con của khung dữ liệu trong R
- 22. Trích xuất dữ liệu HTML5 thuộc tính từ một thẻ
- 23. SSRS: Báo cáo chi tiết chính với hai nguồn dữ liệu
- 24. Cách tìm/trích xuất dữ liệu từ xml bằng jQuery
- 25. Sử dụng ffmpeg để thêm văn bản phụ đề
- 26. Trích xuất một chuỗi từ một khung dữ liệu
- 27. Trích xuất tiêu đề từ tệp PDF?
- 28. FFmpeg không thể giải mã luồng/dữ liệu khung H264
- 29. Lcov: không thể thu thập số liệu thống kê chi tiết về chi nhánh
- 30. Phân vùng Bảng chi tiết tổng thể
Cảm ơn Heshy. Tôi sẽ thấy về việc thử một lần. Bây giờ dự án đã chuyển sang nhưng tôi sẽ ghi lại điều này khi nó quay lại. – spinon