SWF埋め込み再生について

SWF埋め込み再生について

- KTPorous Media の投稿
返信数: 5
よろしくお願いします。

下記のようにswfを動画としてPDFに埋め込み正常に再生していました。
しかし 今年になって Adobe Flash Player の停止に伴い 文書信頼の許可を出しても再生が拒否されました。
どのように修正または別の方法で上手くswfが再生できるでしょうか?

動作環境は 次の通りです。
Windows 8.1 Pro
美文書 Latex2E 改訂第6版

ご教示お願いします。 KTPorous です。

pdflatexでコンパイラーしました。
---------------------------------------------
\documentclass[leqno,11pt]{beamer}
\usepackage{movie15}
\usepackage[abs]{overpic}
\usepackage{float}
\setlength{\oddsidemargin}{-1.75cm}
\setlength{\evensidemargin}{-1.75cm}
\setlength{\textwidth}{11.5cm}
\usetheme{Boadilla}
\begin{document}
\frame{
\frametitle{}
\begin{center}
\includemovie[poster, text=(total-occupied-area.swf), repeat=3]
{7cm}{4.5cm}{aaa.swf}\\
\end{center}
}
\end{document}
-------------------------------------

KTPorous Media への返信

Re: SWF埋め込み再生について

- 和田 勇 の投稿
あまり得意な面ではないのですが、誰も回答しないので。

画像変換は試みたのでしょうか?

試されていないと仮定してですが、texlive に同梱されている StrobeMediaPlayback.swf を ffmpeg で avi mp4 に変換し、debian linux の okura で再生できることを確認しました。
(私の方ではWindows 環境あまり思わしくないようで Adobe 関連のプレビュアで確認できませんでした)

1) ffmpeg は Windows 上で chocolety でインストールしましたが、vlc などの gui ソフトでも変換できるのではないかと思います。

2) 変換は以下のように行いました。

ffmpeg -i StrobeMediaPlayback.swf StrobeMediaPlayback.avi
ffmpeg -i StrobeMediaPlayback.swf StrobeMediaPlayback.mp4

3) 提供ソースを利用して添付したファイルにある BEAMER.tex に組みこみ、pdflatex BEAMER で pdf 作成

4) 3) でも問題はないけど obsolute なパッケージ使っているよという警告があったので media9 に変えてもできるようです。
 また beamer に含まれている  multimedia でも同様なことができます。ただしmovie15 のように pdf に画像が埋め込まれていないで別途画像ファイルも提供する必要があります。

添付ファイルの内容
SWF/BEMER.pdf .... mobie15
SWF/BEMER.tex .... mobie15
SWF/BEMER2.pdf .... multimedia
SWF/BEMER2.tex .... multimedia
SWF/StrobeMediaPlayback.avi
SWF/StrobeMediaPlayback.mp4
SWF/StrobeMediaPlayback.swf
KTPorous Media への返信

Re: SWF埋め込み再生について

- KTPorous Media の投稿
和田 勇 様

回答いただきましてありがとうございます。
早速 試してみました。

送っていただきました「StrobeMediaPlayback.swf」について 以下の事を行いました。
参考として次のものを添付しています。

flashplayer_32_sa.exe
aaa.swf(私がシミュレーションで作ったswfファイルです)
1-StrobeMediaPlayback.swfをflashplayer_32_Sa.exeにドラッグしたらエラー.png
2-1のエラー表示後更に追加のエラー表示.png


1) 頂いたファイルについて 私のPC(Win8.1)で以下の事を確認しました。

BEMER.pdf -----> 1頁の動画が見えました。2頁目では「プレーヤーの取得」のエラーが出て動画は出ませんでした。
BEMER.tex
BEMER2.pdf -----> 1頁の動画が見えました。2頁は 「サポートされていない形式とのエラー」で動画は出ませんでした。
BEMER2.tex
StrobeMediaPlayback.avi -----> window media player で見えました。
StrobeMediaPlayback.mp4 -----> window media player で再生しても 再生時間を表すスライダーが右に動くだけで画像は現れませんでした。
StrobeMediaPlayback.swf


2) 頂いた BEMER.tex BEMER2.tex を私のPCでpdflatex で処理しました。 1)と同じ結果でした。


3) 頂いたStrobeMediaPlayback.swfに対して PCで 以下の処理をしました。

ffmpeg -i StrobeMediaPlayback.swf StrobeMediaPlayback.avi では 変換中 エラーを出しながら aviファイルが出来ました。
しかし 頂いたaviの容量 28KBに対して16KBに減りました。
window media player で再生できましたが 画像が28KBよりもピンボケしていました。

ffmpeg -i StrobeMediaPlayback.swf StrobeMediaPlayback.mp4 では 変換中 エラーを出しながら mp4ファイルが出来ました。
頂いたmp4の容量 8KBに対して5KBに減りました。両方とも window media playerで再生しても 再生時間を表すスライダーが右に動くだけで画像は現れませんでした。
原因は分かりませんでした。

4) 3)で作ったaviとmp4を用いて 頂いた BEMER.tex BEMER2.tex を私のPCでpdflatex で処理しました。

BEMER.pdf ---> 1頁はシステムにドライバーがありせん。2頁は「プレーヤーの取得」のエラーが出て 共に動画再現できませんでした。
BEMER2.pdf ---> 1頁はプレーヤーでムービーが再生できません。2頁は「サポートされていない形式とのエラー」で 共に動画は出ませんでした。

結局上手くいきませんでした。ffmpegでの変換が上手くいっていなかったのでしょう。


今度は aaa.swfについて 述べます。

5) aaa.swfをflashplayer_32_sa.exe で動画が再生できました。しかし 「StrobeMediaPlayback.swf」はエラーでダメでした(添付のpngファイル1と2にエラー表示)。


6) aaa.swf の avi, mp4変換については次のエラーが生じて変換できませんでした。mp4変換も同様にダメでした。

------------------------------------------------------------------------------
K:\93\2021.02.27.-FlashPlayerStop-Movie-Latex-on-SX2-Solved
> ffmpeg -i "aaa.swf" "aaa.avi"
ffmpeg version N-50911-g9efcfbe Copyright (c) 2000-2013 the
built on Mar 13 2013 21:26:48 with gcc 4.7.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w
g --enable-frei0r --enable-gnutls --enable-libass --enable-
sm --enable-libilbc --enable-libmp3lame --enable-libopencor
ble-libopus --enable-librtmp --enable-libschroedinger --ena
twolame --enable-libvo-aacenc --enable-libvo-amrwbenc --ena
vs --enable-libxvid --enable-zlib
libavutil 52. 19.100 / 52. 19.100
libavcodec 55. 0.100 / 55. 0.100
libavformat 55. 0.100 / 55. 0.100
libavdevice 54. 4.100 / 54. 4.100
libavfilter 3. 45.103 / 3. 45.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[swf @ 00399780] Estimating duration from bitrate, this may
aaa.swf: could not find codec parameters

K:\93\2021.02.27.-FlashPlayerStop-Movie-Latex-on-SX2-Solved
-----------------------------------------------------------------------------

aaa.swfには 他のswfと違ってその生成過程において何か情報が抜けているのでしょうか?
aaa.swfは 計算結果をGnuplotで描画しpdfにして200-500枚作り swftoolsのツール pdf2swfでswf に変換し、更に swfcombineで一つのswfにして作ったものです。
この時のパラメーター、オプションの設定に何かが足らなかったかと思い調べています。


7) ffmpeg 以外の変換として StrobeMediaPlayback.swf はon line上でのソフト AnyConv でaviに変換できました。再生もOKでした。
しかし aaa.swfの変換はエラーになり変換できませんでした。
aaa.swfに何か原因があるようですがよくわかりませんでした。


8) aaa.swfは 添付の flashplayer_32_sa.exe で再生できますので flashplayer_32_sa.exeをカレントディレクトリーにおいて これをLATEXから 再生時に指定できないでしょうか?

最後にepsによる方法を述べてみます。

9) 計算結果をepsでaaa-001.eps .....aaa-399.eps を出力しそれを連続再生する方法を行いました。

\animategraphics[width=7cm,height=4cm,autoplay,controls,loop]{15}{aaa}{001}{399}

これをplatex dvips ps2pdf で処理し 動画は上手く再現できます。
しかし 出来上がったファイルの容量が swfで作ったファイル容量よりも数倍大きくて困っています。
swfの方が容量が少なくて実用的です。
このようなことから 8)の方式ができればと思っています。


10) swfからavi変換のソフトは他にも いろいろあるようですが 注意しないと変なものが抱き合わせでインストールされるので心配です。
安全な変換ソフトを教えていただければ幸いです。


結局は 8)がベストですが 9)の方法で我慢するしかないようです。


何か ご教示いただければ幸いです。
よろしくお願いします。

KTPorous Media
2021年3月21日

KTPorous Media への返信

Re: SWF埋め込み再生について

- 和田 勇 の投稿
SWF → avi/mp4 で「aaa.swf: could not find codec parameters」と言われている原因を解明すれば良いかと思いますが、
報告していただいた内容から状況は、パラパラ画像を動画のように表示したいのだということがわかりました。

SWF に絡む世の中の状況はご理解されていると思いますので、ハードルは高いのですが何らかの回避策で乗り越える必要があります。


さて、レポートを見ると gnuplot → PDF → SWF のようにされていたと理解しましたが gnuplot → PDF → GIF/PNG → avi というような変換ではダメですか? gnuplot をR なり tikz に置き換えるのは大仕事になると思いますが、PDF を GIF/PNG に変換しなおす方法はいかがですか?
PDF → PNGなど画像ファイル変換は 例えば imagemagick のツールを使うと思います。 https://ginpen.com/2019/12/03/convert-pdf-to-png-jpeg-via-imagemagick/

もし gnuplot のデータが存在するなら直接 GIF/PNG を出力する方法もありますね。

念の為 aaa.swf をみましたが、データがあるのであれば gnuplot で直接アニメーションGIF は作れるようなので検討されてみてはいかがですか? ttps://qiita.com/kumamupooh/items/03830fed7c28bfa3de21
この方法であれば gnuplot のデータを書き換える必要はありますが変換作業の中間工程を一気に省くことが可能だと思います。

今回は材料がないので試行できませんが http://opensourceaki.blogspot.com/2007/10/ffmpeg_19.html を参考に思いついたままをかいてみました。
和田 勇 への返信

Re: SWF埋め込み再生について

- 和田 勇 の投稿
動画ファイルが表示できないということなど気になることがあったので改めて検証しました。

1) 素材は以下のコマンドでダウンロードした
  wget http://www.ic.daito.ac.jp/~jun/u-air/math-and-comp-2009-02/gnuplot/gnuplot15.plt
  wget http://www.ic.daito.ac.jp/~jun/u-air/math-and-comp-2009-02/gnuplot/gnuplot16.plt

  gnuplot15,plt から gnuplot16.plt を読み込み、その中で100回ループさせている

2) アニメーション gif 化は以下のコマンド実行
  gnuplot -e 'set term gif animate; set output "gnuplot15-16.gif"; load "gnuplot15.plt"; save output;'
  # save outout のところで警告メッセージが出るが無視

3) PDF ビューアは Adobe Acrovat Reader で確認することにした
サポートしているものは「H.264 圧縮を使用する MOV、M4V、3GP、および 3G2 やその他 MP3、MP4 」とのこと。
ffmeg で変換できたものは MOV M4V MP4 だけでした。
この三つは QuickTime で表示できるようオプション -pix_fmt yuv420p を付与して変換しています。
コマンドやオプションは以下のもの。

  ffmpeg -i gnuplot15-16.gif -pix_fmt yuv420p gnuplot15-16.mov
  ffmpeg -i gnuplot15-16.gif -pix_fmt yuv420p gnuplot15-16.m4v
  ffmpeg -i gnuplot15-16.gif -pix_fmt yuv420p gnuplot15-16.mp4


4) 先日の multimedia を使ったものをを調整したlatex ファイルを用意して pdflatex で pdf を作成

\documentclass[leqno,11pt]{beamer}
\usepackage{multimedia}
\usepackage[abs]{overpic}
\usepackage{float}
\setlength{\oddsidemargin}{-1.75cm}
\setlength{\evensidemargin}{-1.75cm}
\setlength{\textwidth}{11.5cm}
\usetheme{Boadilla}
\begin{document}
\def\XXX#1{
\frame{
\frametitle{#1}
\begin{center}
\movie[loop, width=7cm, height=4.5cm]{#1}{#1}\\
\end{center}
}
}
\XXX{gnuplot15-16.gif}
\XXX{gnuplot15-16.m4v}
\XXX{gnuplot15-16.mov}
\XXX{gnuplot15-16.mp4}
\end{document}

5) Adove Acrobat Reader で pdf を確認したところ対応しているものは MOV だけでした
和田 勇 への返信

Re: SWF埋め込み再生について

- KTPorous Media の投稿
和田 勇 様

いろいろアドバイスいただきまして本当にありがとうございます。
教えていただきました事を試してみますが 私にはまだよく理解できていない点があります。
現在 年度末から新年度に向けて 忙しくなってきましたので 今しばらく時間がかかりそうです。
試してみて 分からなくなりましたら ご連絡申し上げます。

どうかよろしくお願いします。

KTPorous Media
2021年3月30日