swf 파일을 mp4로 변환

swf 파일을 mp4로 변환

내가 만난이것좋은 네트워크. 파일 swf도 있습니다 mp3. 나는 mp4그것을 볼 수 있도록 다른 것으로 변환하고 싶습니다 .

나는 시도했지만 gnash성공 ffmpeg하지 못했습니다.

온라인 중Lubuntu 22.04

답변1

먼저, 선택하지 말아야 할 몇 가지 경로와 그 이유에 대해 언급하겠습니다(최신 배포판을 실행하는 한).

Swivel은 swf를 이미지/비디오로 변환할 수 있지만 Linux에서는 사용할 수 없는 Adobe AIR를 사용합니다.

Gnash에는 작동할 수 있는 dump-gnash 명령이 있습니다. 이를 사용하여 원시 rgb32 30fps 비디오를 내보내려고 시도할 수 있지만 내 시스템에서는 작동하지 않습니다. 아무튼 다음과 같은 명령을 내리겠습니다.

dump-gnash -1 -D ./out.raw@30

이에 따르면:https://stackoverflow.com/questions/20194270/convert-compressed-swf-to-mp4Gnash를 사용하는 경우에도 작동할 수 있습니다.


하지만 Gnash는 미완성, 버려진 프로젝트이기 때문에 Ruffle이라는 유지 관리 프로젝트 작업 방법을 보여 드리겠습니다.

최신 버전의 소프트웨어를 얻으려면 최신 버전의 Rust와 해당 구성 요소도 가져와야 합니다. (작성 당시) 설치하려면 명령은 다음과 같습니다.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

패키지 관리자에서 설치하려고 할 때 문제가 발생했습니다. 위 명령은 최신의 안정적인 Rust 배포판을 가져옵니다.

Java를 설치해야 할 수도 있습니다(openJDK가 저에게 효과적이었습니다).

이제 git clone ruffle 마스터 브랜치를 사용하여git clone

cd를 frilly 폴더에 넣으세요:

git clone https://github.com/ruffle-rs/ruffle
cd ruffle/

경고: 분명히 GPU가 필요하므로 헤드리스 서버에서는 작동하지 않습니다. //

그런 다음 다음 명령을 실행하십시오.

cargo run --release --package=exporter -- path/to/file.swf

이렇게 하면 필요한 종속성을 설치하고 내보내기를 시작한 다음 슬라이드쇼를 고품질로 내보냅니다(당시 Flash가 달성한 한... 만족스럽지 않으면 명령줄 인수를 사용할 수도 있습니다).

예, 기본적으로 프로젝트의 주요 구성 요소를 컴파일해야 하지만 적어도 최종 결과는 좋을 것입니다.

이 프로세스가 작동하지 않으면 사용 중인 SWF의 압축을 풀어야 합니다.

wget http://www.swftools.org/swftools-0.9.2.tar.gz
tar xvf swftools-0.9.2.tar.gz
cd swftools-0.9.2.tar.gz/
./configure
make

이제 cd변환에 필요한 swfcombin 바이너리를 찾을 수 있는 src 디렉토리로 이동합니다.

swfcombine -d slide1.swf -o slide1dec.swf
rfxswf error: sprite doesn't end(1)
rfxswf error: sprite doesn't end(2)

예, 오류가 인쇄되지만 작동하는 것 같습니다.

각 슬라이드에 대해 이 작업을 수행해야 하며 find또는 xargs이와 유사한 방법을 사용하여 자동화할 수 있습니다(또는 지원되는 경우 와일드카드 사용).

그런 다음 위와 같이 Ruffle에 넣을 수 있습니다.

입력(PNG 또는 원시 비디오)에 따라 오디오와 비디오를 결합하려면 다음을 수행해야 할 수도 있습니다.

ffmpeg -i /tmp/out.wav \
       -f rawvideo \
       -pix_fmt rgb32 \
       -s:v 800x550 \
       -r 30 \
       -i /tmp/out.raw \
       -c:v libx264 \
       -r 30 \
       -b 160k \
       /tmp/out.mp4

이것이 귀하의 사용 사례에 적합한지 알려주세요.

PS mp3를 한 번에 병합하려면:https://superuser.com/questions/202809/join-multiple-mp3-files-lossless


편집 1:

이미지에 오디오를 추가하려면 다음 방법을 시도해 보십시오.

ffmpeg -loop 1 -i img.png -i slide1.mp3 -shortest slide1withaudio.mp4

관련 정보