2012-05-17 36 views
5

Nguồn video: http://www.artworknotavailable.com/tmp/ffmpegtestTại sao ffmpeg báo cáo thời lượng khác nhau?

Quicktime Pro 7.7.1 Inspector (Win 7) báo cáo sau đây cho các tập tin 2398.mov

4.19MB
H.264
Movie FPS: 23,98
Tốc độ Dữ liệu: 2,35 mbits/Sec
Thời lượng 14:97

ffmpeg báo cáo như sau (xem đầy đủ thông tin phiên bản ffmpeg ở cuối bài)

ffmpeg -i 2398.mov

Có vẻ dòng tỷ lệ khung hình 1 bộ giải mã khác với tỷ lệ khung hình container: 47.952,00 (47952/1) ->> 23,98 (2997/125)
Input # 0, mov, mp4, m4a, 3gp, 3g2, mj2, từ '2398.mov':
Metadata:
major_brand: qt

diễn viên phụ _version: 537199360
compatible_brands: qt
Thời gian: 00: 00: 15.97, bắt đầu: 0.-963.005, bitrate: 2210 kb/s
Suối # 0.0 (eng): Âm thanh: aac, 48000 Hz, âm thanh stereo, S16 , 152 kb/s
Suối # 0.1 (eng): video: h264, yuv420p, 848x480, 2060 kb/s, 23,98 fps, 23,98 TBR, 23.976 TBN, 47.952 tbc

Một giây nữa so với báo cáo Quicktime.

Như một thử nghiệm tôi xuất khẩu tập tin này từ Quicktime Pro sử dụng các cài đặt sau:

Frame Rate: Current
chính Frames: Cứ 24 khung
Khung Sắp xếp lại On
nhạc chất lượng cao
Encoding Tốt nhất
Tốc độ dữ liệu: Tự động
Được tối ưu hóa để tải xuống
Tệp kết quả: qtime-export-2398.mov

Quicktime Thanh tra báo cáo:

5,62 MB
H.264
Movie FPS: 23,98
Data Rate: 3.15 Mbits/sec
Thời gian 14:97

ffmpeg giờ đây báo cáo:

ffmpeg -i qtime-export-2398.mov

Có vẻ dòng tỷ lệ khung hình 1 bộ giải mã khác với thùng chứa tốc độ khung hình: 1200,00 (1200/1) -> 23,98 (24000/1001)
Nhập # 0, mov, mp4, m4a, 3gp, 3g2, mj2, từ 'qtime-export-2398.mov':
Siêu dữ liệu:
major_brand: qt
minor_version: 537.199.360
compatible_brands: qt
Thời gian: 00: 00: 14.96, bắt đầu: 0,000000, bitrate: 3153 kb/s
Suối # 0.0 (eng): Âm thanh: pcm_s16le, 44100 Hz, 2 kênh, S16, 1411 kb/s
Suối # 0.1 (eng): video: h264, yuv420p, 678x384, 1738 kb/s, 23,98 fps, 23,98 TBR, 600 TBN, 1200 tbc

ffmpeg của báo cáo về thời lượng đi từ 15,97 đến 14,96 (tôi có thể sống với .1)

Thời lượng này được tính từ tốc độ bit?

Tôi cần báo cáo chính xác thời lượng của các video đã tải lên cũng như chuyển đổi chúng thành FLV. Ai đó có thể cho tôi biết những gì đang xảy ra ở đây và làm thế nào tôi có thể vượt qua điều này?

thông tin ffmpeg bên dưới. Tôi đã thử điều này trên 2 cài đặt/phiên bản hoàn toàn khác nhau của ffmpeg. Cùng một kết quả.

FFmpeg phiên bản 0.6.5, Bản quyền (c) phát triển 2000-2010 của FFmpeg xây dựng trên 29 Tháng 1 2012 23:55:02 với gcc 4.1.2 20.080.704 (Red Hat 4.1.2-51) cấu hình : --prefix =/usr --libdir =/usr/lib64 --shlibdir =/usr/lib64 --mandir =/usr/share/man --incdir =/usr/include --disable-avisynth --extra- cflags = '- O2 -g -pipe -Wall -Wp, -D_FORTIFY_SOURCE = 2 -fexceptions -fstack-protector --param = ssp-buffer-size = 4 -m64 -mtune = generic -fPIC' --enable-avfilter - -enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads - có thể chia sẻ --enable-swscale --enable-vdpau - -enable-version3 --enable-x11grab libavutil 50.15. 1/50,15. 1 libavcodec 52,72. 2/52,72. 2 libavformat 52.64. 2/52,64. 2 libavdevice 52. 2. 0/52. 2. 0 libavfilter 1.19. 0/1.19. 0 libswscale 0,11. 0/0,11. 0 libpostproc 51. 2. 0/51. 2. 0 FFmpeg 0.6.5 libavutil 50.15. 1/50,15. 1 libavcodec 52,72. 2/52,72. 2 libavformat 52.64. 2/52,64. 2 libavdevice 52. 2. 0/52. 2. 0 libavfilter 1.19. 0/1.19. 0 libswscale 0,11. 0/0,11. 0 libpostproc 51. 2. 0/51. 2. 0

+0

Chỉ cần thử nghiệm với một vài biến thể khác trong xuất Quicktime. Có vẻ như nếu chỉ chọn bất kỳ tốc độ khung hình hoặc tốc độ bit nào để xuất, ffmpeg vẫn có cơ hội báo cáo thời lượng chính xác hơn nhiều. Quicktime có "Sửa lỗi" không? Các container? – kenitech

Trả lời

3

Tôi vừa xem tệp đầu tiên và đây là lý do tại sao họ báo cáo thời lượng khác nhau.

Quicktime đang thu thập giá trị thời lượng từ "tiêu đề phim". Các giá trị ở đây là 8981/600 = 14,97 giây.

FFmpeg đang thu thập giá trị thời lượng từ "tiêu đề phương tiện" là 383000/23976 = 15,97 giây đối với video và 719872/48000 = 15,00 giây cho âm thanh.

Chỉnh sửa: ... và cũng trả lời câu hỏi khác của bạn: Ai đó có thể cho tôi biết cách tôi có thể giải quyết vấn đề này không? Tôi tưởng tượng bạn đang sử dụng ffmpeg để chuyển đổi các tệp thành .FLV? Nếu vậy, tôi sẽ dính vào các báo cáo ffmpeg.

+0

Cảm ơn thông tin. cách tốt nhất để kiểm tra tiêu đề phim của tập tin QT là gì? – kenitech

+0

Tôi cũng thấy rằng nếu tôi sử dụng thông số '-ss' và áp dụng thời gian bắt đầu phủ định được báo cáo bởi ffmpeg, tệp của tôi gần với thời lượng chính xác hơn, cộng với bất kỳ âm thanh nào không đồng bộ xuất hiện được giải quyết. Ví dụ: ffmpeg báo cáo phim input.mov bắt đầu: 0.-963.005 Độ dài: 00: 00: 15.97 ffmpeg -i input.mov -ar 22050 -ab 65536 -s 320x240 -b 524.288 -r 12 - ss 00: 00: 00.963005 output.flv kết quả: Thời lượng: 00: 00: 15.00 xin lỗi, hộp nhận xét lưu lượng trên stackover đang thúc đẩy tôi hạt. – kenitech

+0

Không chắc chắn phương pháp tốt nhất là gì. Tôi sử dụng một thư viện độc quyền tùy chỉnh mà tôi đã xây dựng từ đầu. Về vấn đề đồng bộ hóa, bạn cũng có thể xem xét tham số -async và xem liệu có hữu ích không. Tôi nghĩ rằng thời gian báo cáo của ffmpeg có thể đúng đối với tệp này. Nếu bạn đặt tệp trên dòng thời gian không dựa trên các thành phần Quicktime, chẳng hạn như Adobe Premiere Pro, thời lượng báo cáo là 15 giây và 23 khung hình. – BlueVoodoo

1

FFmpeg hiển thị "Thời lượng: 00: 00: 14.96" tại đây, hãy hiểu rằng phiên bản FFmpeg của bạn cũ (và có nhiều lỗi và hồi quy đã biết), vui lòng xem http://ffmpeg.org/download.html để biết thông tin về cách lấy đầu git hiện tại luôn được đề nghị.

+0

Tôi lấy nó mà bạn đã thử tệp thứ hai chứ không phải tệp thứ nhất? – BlueVoodoo

+0

Cảm ơn thông tin cehoyos. Thật không may, giống như nhiều người ở đó, việc nâng cấp không đơn giản như người ta có thể hy vọng với cơ sở hạ tầng hiện tại. Phiên bản hiện tại chúng tôi có trong sản xuất thậm chí không có số phiên bản. Các ví dụ mà tôi đang sử dụng để kiểm tra ở đây là từ một tài khoản lưu trữ được chia sẻ cá nhân mà tôi có thông qua site5.com. – kenitech

Các vấn đề liên quan