이미지 스트림을위한 ffmpeg 슬라이드 쇼 파이핑 입출력


2

이미지 목록에서 동영상을 만들려고하는데 직접 업로드 할 것입니다. 지금까지 다음과 같은 방법으로 이미지 용 비디오를 제작했습니다.

cat *.jpg | ffmpeg -r 1 -f image2pipe -vcodec mjpeg -i - foo.mp4

그것은 잘 작동하고 나는 그것에 만족합니다. 그러나 지금은 결과물을 파이프로 보내고 싶습니다. 실제로이 작업을 수행 할 수는 없습니다. 나는 두 가지를 시도했다.

cat *.jpg | ffmpeg -f image2pipe -r 1/5 -vcodec mjpeg -i - pipe:1 | cat > p.mpeg

(잠시 후에 테스트를 위해 파일을 파이프로 다시 보내고 직접 업로드 할 것입니다).

다른 스레드에서 ffmpeg에 의해 반환 된 오류가 "pipe : 1 '에 적합한 출력 형식을 찾을 수 없다는 의미로 출력 형식을 지정해야한다고 읽었습니다. 그러나, 나는 문서에서 찾을 수 있습니다 :

-f fmt (input/output)
Force input or output file format. The format is normally auto detected 
for input files and guessed from the file extension for output files, 
so this option is not needed in most cases.

출력 형식과 입력 형식을 어떻게 지정할 수 있습니까?


어디서 아이디어를 얻었 pipe:1습니까? 나는 유닉스 cmd 라인에서 사용 된 것을 본 적이 없다. 그것은 ffmpeg에 대한 의사의 문서에서 발견 한 것입니까? 행운을 빕니다.
쉘터

답변:


3

일부 출력 형식을 명시 적으로 설정해야합니다. 어느 것이 중요하지는 않지만 이후 -i에는 다음이 필요합니다.

  • -c:v copy단지 JPEG 스트림을 복사합니다
  • 에이 -f format
  • - 출력 관으로서

내 경험 matroska에서 출력 형식으로 잘 작동합니다.

cat *.jpg | ffmpeg -f image2pipe -r 1/5 -c:v mjpeg -i - -c:v copy -f matroska - | ffplay -

난 그냥 테스트하고 문제없이 실행됩니다. 통화 | cat > out.mkv대신 VLC에서 파일이 재생됩니다 ffplay.


이봐 요 내가 그걸 들여다 보니 cat *.jpg | ffmpeg -f image2pipe -r 1 -c:v mjpeg -i - -c:v libx264 -r 7 -f mpegts - | cat > foo.mpeg너 덕택으로 일하게 만들었 어 . Btw 나는 입력과 출력에서 ​​비디오 형식으로 쉽게 읽을 수있는 옵션을 base64 이미지를 얻을 계획입니까? Thx again
charly

다행 했어. "쉽게 읽을 수있는"것은 무엇을해야하고 어떻게 읽는가에 달려 있습니다.
slhck

글쎄 람다 웹 사용자가 하나의 노트북 (브라우저가 아님)을 읽을 수 있도록 다운로드 할 가능성이 높기 때문에 vlc 및 친구들 만 읽을 수있는 막연한 코덱에 넣고 싶지는 않습니다.
charly

2
쉬운 일이 아닙니다. 최신 OS는 MP4 컨테이너에서 H.264 비디오 및 AAC 오디오를 재생합니다. 다른 업체는 MPEG-4 (파트 II) 비디오 및 MP3 오디오를 사용합니다. 사용 libx264libfdk_aac또는 mpeg-4libmp3lame인코더로 각각.
slhck

0

나는 그 순간에 당신의 모범을 얻을 수 없으므로 이것을 시험하지 않았습니다. 하지만 "-i -" 다음 에 -f를 넣어 출력 형식을 설정할 수 있습니다 . (즉, -f는 상태 저장이며 다음 입력 / 출력의 형식을 설정합니다.)


흠 나는 cat *.jpg | ffmpeg -f image2pipe -r 1/5 -vcodec mjpeg -i - -f matroska pipe:1 | cat > p.mkv일종의 작업을 시도했습니다 : 그것은 vlc로 열면 파일을 만듭니다. 첫 번째 이미지를 얻었지만 길이가 정의되지 않았고 파일이 명백하게 손상된 것처럼 보입니다 ... 더 이상 생각하지 않으십니까?
charly
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.