비디오에서 추출 된 ffmpeg 파이프 이미지


8

다음 명령을 사용하여 ffmpeg를 사용하여 비디오에서 이미지를 추출하여 파일 시스템에 저장할 수 있습니다.

... | ffmpeg -i - -f image2 'img-%03d.png'

이 이미지를 파일 시스템에 저장하는 대신 다른 응용 프로그램으로 파이프하고 싶습니다. 파이프에서 이미지를 분리하는 방법은 중요하지 않습니다. 왜냐하면 내가 제어하는 ​​NodeJS 스크립트이기 때문입니다.

다음은 작동하지 않습니다.

... | ffmpeg -i - -f image2 pipe: | ...

오류

[image2 @ 0xe1cfc0] Could not get frame filename number 2 from pattern 'pipe:' (either set updatefirst or use a pattern like %03d within the filename pattern)
av_interleaved_write_frame(): Invalid argument

파일 시스템을 사용하지 않고 ffmpeg를 사용하여 비디오에서 추출한 이미지를 파이프 아웃하는 방법이 있습니까?


시도-f png - | ...
Gyan

@Mulvya 이로 인해 오류가 발생했습니다 [NULL @ 0x10e2860] Requested output format 'png' is not a suitable output format pipe:: Invalid argument.
Birjolaxew

2
시도하십시오 -f image2pipe -vcodec png - | .... vcodec를 제거한 후 출력이 MJPEG 인 경우 PNG가 작동하지 않을 수 있습니다.
Gyan

@Mulvya 그것은 실제로 작동했습니다. 대단히 감사합니다 :)
Birjolaxew

답변:


7

네!

인수를 추가하고 -f image2pipe출력 파일 이름을 단일 하이픈으로 지정하고 ( -이 문맥에서는 의미 함 stdout) 입력 파일 이름을 단일 하이펜 으로 지정하고 ( -i -이 문맥에서는 의미 stdin) 출력 형식을 명시 적으로 지정하십시오 (예 : png의 경우) :) -c:v png, 여기 완전한 예가 있습니다 :

ffmpeg -i - -ss 00:00:3 -s 650x390 -vframes 1 -c:v png -f image2pipe -
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.