ffplay-별도의 비디오 및 오디오 파일을 함께 재생하는 방법


9

따라서 별도의 비디오 및 오디오 파일을 하나의 동영상 파일로 트랜스 코딩 할 수 있습니다.

ffmpeg -ss 0 -lowres 0 -r 24 -i dcp/picture.mxf -vf "xyz2rgb" -i mov/sound.wav -ac 2 -ab 256k -vb 3000k -t 10 -y mov/movie.mp4

결과 영화를보고 들으십시오.

ffplay -ss 0 -lowres 1 -vf "xyz2rgb" mov/movie.mp4

그러나 영화와 사운드를 하나의 파일로 트랜스 코딩하지 않고 볼 수 있도록하기 위해 두 개의 개별 파일을 함께 재생하고 싶습니다. 내가 아는 한, ffplay는 두 개의 다른 파일을 결합하도록 허용하지 않습니다 (오른쪽?).

이 포럼을 읽으면 ffmpeg 출력을 ffplay로 파이프 할 수있는 것 같습니다 . 다음은 내가 얻은 것과 비슷합니다. 그리 가깝지 않습니다. :( 비디오 정보가 명확하게 전달되고 있지만 올바른 프레임 크기에서 녹색 "눈"이며 끔찍한 녹색 눈 속에서 실제 이미지가 춤추는 것을 암시합니다. 제대로 렌더링되지 않습니다.

오디오도 재생되지 않습니다. 소리가 들리지 않습니다. (생각하지 않습니다.) 이제 ... 멈췄습니다. 다음은 내가하려는 일을 제안하지만 작동하지 않습니다.

ffmpeg -ss 0 -lowres 0 -r 24 -i dcp/picture.mxf -vf "xyz2rgb" -i mov/sound.wav -f rawvideo - | ffplay -f rawvideo -vf "xyz2rgb" -s 1998x1080 -

답변:


4

비디오 정보가 명확하게 전달되지만 올바른 프레임 크기에서 녹색 "눈"이며 실제 이미지가 끔찍한 녹색 눈 속에서 춤추는 것을 암시합니다.

픽셀 형식이어야합니다. xyz2rgbDCP 색상 공간을 RGB로 변환 하는 필터를 적용한 다음 원시 비디오를로 파이핑합니다 ffplay. 여기서 xyz2rgb필터를 다시 적용하면 FFmpeg가 원시 비디오가 어떻게 인코딩되는지 알지 못하므로 왜곡이 발생할 수 있습니다. 비디오로 원하는 모든 작업을 수행하고 색상 공간을 두 번 변환 할 수도 있습니다.


Matroska 형식을로 ffplay대신 파이핑하여 좋은 결과를 얻었으며 rawvideo오디오를 디코딩하는 기능도 제공합니다 (아래 참조). Matroska 형식은 모든 종류의 코덱을 포함 수 있습니다 .

옵션 순서는 FFmpeg에서 중요하며 옵션을 넣는 위치가 더 엄격하므로 최신 버전을 사용해야합니다.

  • 같은 글로벌 옵션 -y이 우선입니다.
  • 그런 다음 입력 파일을 읽기위한 옵션을 지정하십시오 – 파일 -r 24의 프레임 속도를 강제 picture.mxf합니다.
  • 그런 다음 모든 입력 파일을 지정하십시오.
  • 그런 다음 비디오 필터, 비디오 비트 전송률 등과 같은 코덱 옵션을 사용하십시오.

상황에 따라 트랜스 코딩 할 필요가 없으므로 오디오 스트림 만 복사하는 것이 좋습니다. 필터를 적용하려면 비디오를 트랜스 코딩해야합니다.

이런 식으로해야합니다. 우리가 명시 적으로 출력 형식을 설정하는 방법을 참고 matroska하고하자 ffplay나머지는 자체 밖으로 그림 :

ffmpeg -r 24 -i dcp/picture.mxf -i mov/sound.wav \
-filter:v "xyz2rgb" -b:v 3000k -c:a copy -t 10 -f matroska - | \
ffplay -

-filter:v대신 -vf, -b:v대신 -vb-c:a대신 과 같은 옵션에 (IMO 덜 모호한) 구문을 사용했습니다 -acodec.

해당 형식이 작동하지 않으면 AVI를 사용해보십시오.

ffmpeg -i picture.mxf -i sound.wav -f avi - | ffplay -

이것은 문제없이 나를 위해 일했으며 필요한 필터를 사용할 필요조차 없었습니다. 오디오도 작동했습니다.


slhck, 감사합니다! <br/> <br/> '-filter : v'에 적합한 출력 형식을 찾을 수 없습니다. -filter : v : 잘못된 인수 <br> <br> ?? (-vf와 동일). 코덱 및 필터는 다음과 같습니다. goo.gl/avE1f- 저자는 독자적인 코덱 및 색 공간 필터를 포함하는 ffmpeg (이 절차와 파일에서만 작동하는 한 가지 버전)의 사용자 정의 설치를 설계했습니다. 그것을 해독 할 수 있습니다. 맞춤형 ffmeg 설치는 ​​picture MFX 내부에 포함 된 독점 JPEG2000 MJPEG 이미지 시퀀스를 읽을 수 있어야합니다. 참고 :)
Bill Rudolph Yaber Russell

죄송합니다. 더미입니다. 명령 행에서 "\"나누기를 제거하는 것을 잊었습니다. 어쨌든, 지금 제안을 입력하면 숫자가 스트리밍을 표시하지만 창이 열리지 않습니다. 약 20 초 후에 다음과 같이 중지됩니다. <br /> <br /> 분할 오류 : 1136.0 size = 138kB time = 00 : 00 : 00.08 bitrate = 13445.2kbits / s
Bill Rudolph Yaber Russell

사진입니다 WORTH 천개의 단어 - 여기, 노력하고 무엇 무엇이 편리한 화면 잡아 비디오 쇼가되지 않습니다 : dl.dropbox.com/u/11290938/screen_grab_ffdcp_750.mov
빌 루돌프 Yaber 러셀

비디오 감사합니다. 우선, 첫 번째 rawvideo 명령에 잘못된 크기를 지정하는 문제가 있습니다. 입력 값이 500x270 이상입니다. 적어도 파이프 라인에 들어가는 것 ffplay입니다. 또한 출력은 rgb48le필터로 인해 픽셀 형식으로 되어 있지만을 ffplay가정 yuv420p하므로 다음과 같이 지정해야합니다 ffplay -f rawvideo -s 500x270 -pix_fmt rgb48le -.. segfault와 관련하여 : 모릅니다… 어쩌면 작은 테스트 파일을 만들어서 업로드 할 수 있습니까?
slhck

우우, 테스트 파일! 감사합니다. 500x270의 이유는 "lores 2"를 지정했기 때문에 크기를 두 배로 줄였습니다 (정확한 화면을 잡기 위해). 배경으로,이 파일은 1998x1080 (1.85 제곱 픽셀 종횡비)의 2K 인 수제 DCP (영화관에서 "디지털 필름 인쇄"를 생각하기 때문에 미디어가 너무 이상해 보이는 이유입니다)입니다. 이미지 시퀀스를 추출 할 때 맞습니다. 저는 어제 패키지를 제출했으며 영화관에서 DLP로 보여주었습니다. (축제에서 1 박 동안)-그것은 맞았습니다 (푸우!).
Bill Rudolph Yaber Russell이

3

이것은 스트림을 트랜스 코딩하지 않습니다.

ffmpeg -i video.mkv -i audio.mkv -c copy -map 0:0 -map 1:1 output.mkv

-map 1:1= 두 번째 파일, 스트림 1 (일반적으로 오디오). -c copy= -c:v copy -c:a copy. 기본적으로 멀티플렉싱 된 파일은 더 긴 파일 -shortest만큼 길지만 더 짧은 파일만큼 길어집니다.


이 인텔에 감사드립니다. 출력 파일이 필요하지 않지만 이러한 스위치는 정말 잘 알고 있습니다.
Bill Rudolph Yaber Russell

3
ffmpeg -lowres 2 -ss 0 -r24 -i MOVIE.MOV -ss 0 -i AUDIO.WAV -vf xyz2rgb -ac: 2 -c:v mpeg2video -f avi - | ffplay -

필자 는 오픈 소스 도구로 구축 할 수 있는 DCP (Digital Cinema Package) 의 내용을 빠르게 검토 할 수 있습니다 . DCP는 xyz 색 공간을 사용하므로 xyz 비디오 필터가 설치되어 있어야합니다 . 그렇지 않으면 위 줄에서 사용할 수 없습니다. (괜찮아요, 짙은 오렌지색으로 보일 것입니다. 실제 색상을 볼 수는 없습니다.)

mpeg2video 코덱 b / c를 추가했지만 품질은 떨어지지 만 속도가 느리고 버퍼가 약간 적으므로 내 컴퓨터에서보다 부드럽게 작동합니다. (또한 어떤 이유로 든 트랜스 코딩없이 먼저 "-ss 0"을 시작하지 않는 한 MXF에서 강력한 125mb / s로 jpeg2000 mjpeg 시퀀스 피드에서 고정 프레임 만 얻습니다. 코덱을 지정하지 않고 ( "-c : v mpeg2video"제거), 전체 크기 ( "-lores 0"), 0 (-ss 0)부터 시작하여 이론적으로 2K 시네마를 검토 할 수 있습니다. 그대로 DCP 품질. XML에 포함 된 특수 명령 (자막 또는 다른 프로그래밍 제외)을 제외하고는. 그러나 일반적으로. (BTW "-ac : 2"는 5.1에서 2.0으로 다운 믹스합니다. 오디션 5.1을 지원하는 하드웨어가있을 수 있지만이 경우 "-c : a 사본"을 사용하십시오.

티아 덕분에 벨 - 주무slhck 참을성이를 통해 저를 산책 위. 감사합니다!!!! 이것은 매우 유용합니다. 사실, 일요일 저녁 에어로 극장에서 창피한 영화 상영으로부터 나를 구해 냈습니다. 내 이미지 시퀀스 번호가 순서가 잘못되었습니다.이 번호를 찾아서 고쳤습니다!

와우,이 모든 것은 단 하나의 명령 줄에 대해서만 알았습니다.)

치 레오-b worldpoop.com


나는이 오류가 발생했습니다 : 없음 같은 필터를 'xyz2rgb를'
Dr.jacky
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.