2012-11-19 1 views
3

나는 현재 20000 개가 넘는 FLV를 가지고 있습니다. 현재 알파 채널이없고 검정색 배경에 CGI로 작성된 텍스트입니다.ChromaKey FLV 투명도

내 호 : 검은 색 배경을 제거하고 투명하게 만들 수 있어야합니다. 따라서이 비디오를 내 플래시 프로젝트의 그림 위에 레이어 할 수 있어야합니다.

그것은 그 동영상의 전체 디렉토리를 통해 이동하고 배경 나는 무엇을 시도했다

을 제거 할 수 있습니다, 자동화 된 프로세스가 될 필요가 있겠습니까?

나는 지난 3 일 동안 머리를 꺼내 보냈다. 현재 내가 볼 수있는 옵션은 ffmpeg에 대한 사용자 정의 필터를 작성하는 것입니다.

최종 목표 :

레이어 플렉스에 내장 된 Adobe AIR 응용 프로그램에서 임의로 생성 된 비디오를 통해 FLV 비디오.

+0

ffmpeg를 통해 frei0r 필터 중 하나 (예 : bluescreen0r)가 도움이되는지 확인하십시오. 나는 결코 피곤하지 않았기 때문에 더 자세한 정보를 제공 할 수 없습니다. – LordNeckbeard

+0

@LordNeckbeard 감사합니다. 그 내용을 살펴 보겠습니다. :) –

답변

2

내가 방금 찾은 - 소스를 포함합니다. 그것은 꽤 인상적이며 몇 가지 개조로 당신이 찾고있는 것일 수 있습니다. 나는 라이브 비디오 필터로 노는 것을 좋아한다.행운

http://blog.onthewings.net/2009/12/10/chroma-key-and-thresholding-in-flash-pixel-bender-revised/

좋은!

+0

코드를 컴파일했는데 주 mxml의 47 행에서 'tabNav.selectedChild as DisplayObject; return'로 변경되었습니다. 작동하고 – Gone3d

1

gstreamer를 사용하고 있다면 여기에 파이프 라인을 작성하여 출력물을 볼 수 있습니다. 이 비디오 hi.mp4의 모든 검은 색을 다른 비디오의 내용으로 바꿉니다. 값으로 주위를 둘러보고 필요한 것을 얻으십시오. 텍스트 나 배경 (그 중 하나)이 일정한 색상과 범위 내에 있으면 작동합니다.

gst-launch filesrc location = hi.mp4! decodebin2! ffmpegcolorspace! 알파 알파 = 1 방법 = 3 타겟 -r = 0 타겟 -g = 0 타겟 -b = 0 화이트 - 감도 = 0 블랙 - 감도 = 128! videomixer name = vm! ffmpegcolorspace! sdlvideosink filesrc location = hi2.mp4! decodebin2! ffmpegcolorspace! 알파 알파 = 1! VM.

그런 다음 sdlvideo 싱크를 인코더 x264enc로 바꾸고 비디오 중 하나의 오디오를 통과시켜 컨테이너를 만들 수 있습니다.

gstreamer가 무엇인지 모르거나 frei0r을 사용하면 ffmpeg가 lordneckbeard와 같은 트릭을 수행합니다. 나는 이것이 더 빠르다고 느꼈다. :)

이 파이프 라인에 연결하는 방법?

sudo apt-get install gstreamer-0.10 base, 좋은 좋지 않은 패키지, libav/ffmpeg 플러그인 및 gstreamer-tools 패키지 - 소스에서 빌드하려면 gstreamer.net을보십시오.

위의 명령 줄은 작동하고 파일을 표시합니다. sdlvideo 싱크를 다음과 같이 바꾸십시오 : x264enc bitrate =! flvmux! filesink location = filename.flv

gstreamer를 사용 해보신 적이없는 분은 파이프 라인이 무엇인지와 그 방법을 조금 읽어야합니다. 많은 튜토리얼을 이용할 수 있습니다. gstreamer를 사용하지 않으려한다면 다른 답변에서 지적한 다른 도구가 도움이 될 것입니다. 그러나 나는 gstreamer를 사용할 것을 제안합니다. 왜냐하면 당신이 미래에 어떤 것이 필요하다면 당신은 또한 다른 조작을 할 수 있기 때문입니다.