2013-10-09 12 views
6

Tôi đang tạo một video ngắn từ chuỗi 100 hình ảnh bằng cách sử dụng ffmpeg. Có một số bài viết đã giúp tôi đặt cùng một lệnh, nhưng bài viết tôi đang sử dụng được lấy trực tiếp từ ffmpeg images-to-video script anyone?.Các vấn đề phát lại trong VLC với video fps thấp từ hình ảnh bằng cách sử dụng ffmpeg

Lệnh sau tạo ra tệp video hoạt động tốt trong tất cả trình phát video tôi có (OS X).

cat input/*.jpg | ffmpeg -f image2pipe -r 10 -vcodec mjpeg -i - out.mp4 

Nhưng nếu tôi thay đổi nó để,

cat input/*.jpg | ffmpeg -f image2pipe -r 1 -vcodec mjpeg -i - out.mp4 

Nó đóng tốt trong tất cả các nhưng VLC media player. VLC hiển thị hình ảnh ban đầu từ 1 đến 3, sau đó chỉ đóng băng trên khung. Tôi đã thử nghiệm một vài tỷ lệ khung hình khác nhau, và có vẻ như các ngắt mà phá vỡ phát lại video trong VLC nằm ở đâu đó giữa 1,125 và 1,175.

Bất kỳ lời khuyên nào về những gì tôi đang xử lý ở đây sẽ được đánh giá cao.

+0

Thiếu các kết quả đầu ra của bảng điều khiển. Bạn có thể thêm đầu ra '-r' với giá trị được người chơi hỗ trợ. ffmpeg sau đó sẽ nhân đôi khung hình để phù hợp với tỷ lệ khung hình đầu ra được yêu cầu. – LordNeckbeard

+0

Tôi nghĩ rằng đó là một lỗi trong vlc ....Tôi có thể tái tạo sự cố – dsign

+0

Tôi có cùng một vấn đề khi tạo video của biểu đồ thay đổi theo thời gian. Thử nghiệm 0,5 fps và 1 fps với x264, mpeg4 và gif sử dụng avconf và moviepy (với ffmpeg phụ trợ). –

Trả lời

1

Đó là một lỗi lâu được biết đến trong VLC: https://trac.videolan.org/vlc/ticket/3625

Nó đã được báo cáo bởi nhiều người sử dụng với các ngưỡng khác nhau, nhưng từ những gì tôi tìm thấy và kinh nghiệm bản thân mình, ngưỡng là ở đâu đó xung quanh một vài FPS.

Hiện tại tôi rất buồn khi nhìn vào khung hình đầu tiên bị đóng băng của video 2 FPS không phát trong phiên bản hiện tại của VLC (2.2.4) Tôi nhớ nó hoạt động trên một số phiên bản 1.1.x (mặc dù lỗi đã được báo cáo sớm hơn nhiều) nhưng sau khi cập nhật lên 2.x nó đã ngừng hoạt động cho tôi. Tôi và đồng nghiệp của tôi đã thực sự so sánh hành vi với các tập tin video rất giống nhau (2 FPS) một thời gian trước và trong khi tôi có thể chơi tất cả chúng mà không có vấn đề với 1.1.x (tôi nghĩ rằng nó là 1.1.1 nhưng tôi có thể sử dụng được). không chắc chắn 100% nữa), anh ấy không thể chơi bất kỳ thứ gì trong số họ với 2.x. Sau khi hạ cấp VLC xuống 1.1.x, anh ấy cũng có thể chơi chúng.

Vì vậy, có thể hạ cấp là cách để đi, nếu bạn đang tuyệt vọng để sử dụng VLC và sẽ không bỏ lỡ bất cứ điều gì từ 2.x. Nếu không tôi muốn nói tiết kiệm cho mình những giờ đau đớn của fiddling với các thiết lập VLC và chỉ đơn giản là sử dụng một cầu thủ khác nhau.

1

Sử dụng cả hai -framerate-r

Ví dụ, để có một video cuối cùng mà trông giống như 1FPS:

ffmpeg -framerate 1 -pattern_type glob -i '*.png' \ 
    -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 

này được đề cập trên wiki tại địa chỉ: http://trac.ffmpeg.org/wiki/Slideshow#Framerates

Nó đặt đầu ra framerate để 30, mà VLC có thể xử lý, và sao chép mỗi hình ảnh 30 lần, để video đầu ra xuất hiện để được ở 1 FPS.

VLC sau đó có thể phát video bình thường.

Thử nghiệm trên Ubuntu 16.10, VLC 2.2.4, ffmpeg 3.0.5, trong thư mục có 10 PNG.

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