Câu trả lời:
Tôi không biết nếu nó ffmpegkhông thể xuất dữ liệu của nó thành thiết bị xuất chuẩn, hoặc ffplaykhông thể lấy đầu vào từ stdin.
Nếu ffmpegkhông thể xuất dữ liệu của nó ra thiết bị xuất chuẩn:
capture /dev/stdout | ffmpeg -i - >(ffplay 2> /dev/null)
(Bạn di chuyển cần thêm một -đối số để ffplaynó lấy đầu vào từ stdin.)
Nếu ffplaykhông thể lấy đầu vào từ stdin:
ffplay <(capture /dev/stdout | ffmpeg -i -) 2> /dev/null
Để biết thêm thông tin về <(command)và >(command)xây dựng, hãy xem phần Thay thế quy trình trong hướng dẫn sử dụng bash.
ffmpeg -i input.avi <options> -f matroska - | ffplay -
sẽ làm việc; bạn cần đặt định dạng chứa cho đầu ra. Điều này thường được đặt với ffmpeg nhìn vào phần mở rộng bạn cung cấp đầu ra, nhưng ở đây bạn phải đặt bằng tay -f. Tôi khuyên dùng matroska (MKV) vì nó có thể chứa hầu hết mọi video, vì vậy bất cứ điều gì bạn đang chuyển mã đều phải hoạt động hoàn hảo.
Lưu ý rằng nếu bạn đang sử dụng Ubuntu 12.04, ffmpeg đã được thay thế bằng ngã ba libav và bạn nên sử dụng avconvvà avplaythay vào đó; cú pháp là giống hệt nhau. Có một loại ffmpeg ở đó, nhưng nó bị tê liệt bởi thiết kế.
pipe:: Invalid data found when processing inputKtrong Power Shell, nhưng hoạt động tốt trong dấu nhắc lệnh
ffmpeg hỗ trợ các hoạt động đường ống. Xem phần đó của tài liệu ở đây .
Tôi không biết ffplay hoạt động như thế nào, nhưng để chuyển đầu ra của ffmpeg thành đầu ra tiêu chuẩn, bạn có thể thêm lệnh pipe vào cuối lệnh ffmpeg. Thí dụ:
ffmpeg -i input.flv pipe:1 | ffplay -i -
man ffplay, tôi không thể thấy ffplayhỗ trợ -ichuyển đổi - có lẽ ffmpegchỉ có vậy không?
pipe:1vs -? -hoạt động trên ffmpeg 2.8.6.
trông giống như các đường ống bình thường hoạt động (ít nhất là trong các cửa sổ):
ffmpeg -i sintel.mpg -pix_fmt yuv420p -f rawvideo - | ffplay -f rawvideo -pix_fmt yuv420p -s 720x480 -
chưa thử nó với đầu vào / đầu ra phức tạp hơn mặc dù ...
ffmpeg -f dshow -i video=screen-capture-recorder -pix_fmt yuv420p -f mpegts - | ffplay -analyzeduration 10 -f mpegts -
khởi động nhanh hơn một chút
Unable to find a suitable output format for 'pipe:'- tôi cần chỉ định một codec với -f.