私が出会ったこれ良いネットワーク。ファイルswf
もありますmp3
。私はmp4
それを見るために別のものに変換したいと思います。
私は試しましたがgnash
成功ffmpeg
しませんでした。
オンライン中Lubuntu 22.04
答え1
まず、選択してはならないいくつかのパスとその理由について説明します(最新のディストリビューションを実行する限り)。
Swivelはswfをイメージ/ビデオに変換できますが、Linuxでは利用できないAdobe AIRを使用します。
Gnashには機能できるdump-gnashコマンドがあります。これを使用して、raw 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