忘れようとしても思い出せない日記 rebirth

※暫定運用中
CCCD | CD | DVD | Gadget | Internet | Mac | PV | iTMS | ゲーム | ソニーw | ローカル | ヲタ | 映画 | 音楽 | 京ぽん | 書籍 | 地震 | 著作権 | 訂正 | 日常
2003|05|07|10|
2004|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|12|
2014|01|02|04|05|06|07|10|11|12|
2015|01|05|06|
2016|01|
トップ «前の日記(2005.02.24(木)) 最新 次の日記(2005.02.27(日))» 編集

2005.02.25(金) [長年日記]

_ [Mac] ヤター! 変換ヘルパーDropletできたよー!(2)

昨日の続き

えと、Dropletですけど、基本的にやってることはほんとに簡単で、Drag&Dropされたファイルの名前をもとに、ffmpegを呼び出すコマンドラインを組み立てて、do shell scriptしてやっているだけです。

こんなかんじ:

on open itemList
	set commandLine1 to "/usr/local/bin/ffmpeg -y -i "
	set commandLine2 to " -vcodec mpeg4 -s 240x176 -acodec g726 -ac 1 -ab 32 -ar 8000 "
	set successFlag to no
	
	repeat with aItem in itemList
		set srcFile to POSIX path of aItem as string
		set dstFile to (srcFile & ".asf")
		set commandLine to (commandLine1 & srcFile & commandLine2 & dstFile)
		set quitFlag to false
		try
			do shell script commandLine
		on error number errNo
			set quitFlag to true
		end try
		if quitFlag is true then
			display dialog "ffmpegがエラーって言ってますけど…" buttons "残念" default button 1
			quit
		else
			set successFlag to yes
		end if
	end repeat
	if successFlag is yes then
		display dialog "終ったヨー!" buttons "OK" default button 1
	end if
end open

こんだけ。Script Editorが使える人なら、これだけでDroplet作れちゃいますよー。こんなコードはどなたでも自由にお使いください。

ヲレのばやい、これにプログレスウィンドウ出すためのあれこれ加えて、アプリケーションバンドルにしちゃったわけですが。

あとで、Dropletのディスクイメージと、ffmpegのbuild 4718をビルドしただけの暫定インストーラを用意しようかと。ffmpegの暫定版は後で誰かさんがビルドしたパッチ済み版へのリンクと差し替えられる予定w

今、ここのサイトはtDiaryだけ置いてて、配布ページみたいな他のコンテンツ作るのをサボっていたわけですが、こんな急に必要に迫られるとは思ってもみなんだ…。日頃の地道な作業は大切なのねん。

_ [ゲーム] DS「アナザーコード」

…が、23日の発送mailを最後に消息不明な件について。

ヽ(`Д´)ノ ウワアァァン

本日のツッコミ(全12件) [ツッコミを入れる]
_ Wolfard (2005.02.25(金) 15:50)

CalciumさんのパッチはWindows用なんで、適宜DLL周りを回避するとか、_timezoneを置き換えるとか、って作業をしながら動く<br>ようにしてくって感じですね。それでも一からやるよりは256倍<br>は楽なので感謝です。<br>なお私のところでは、最新ビルドに、通りすがりさんが指摘さ<br>れたExtraSizeの対応を「適当」にやったところ、動画は問題な<br>く再生できてます。まあ数分のムービーを再生すると徐々に<br>音は遅れていってますし、早送りとか相変わらずできませんが。

_ Yoz. (2005.02.25(金) 16:32)

あー、修正モノができたらお知らせくださいませ。よろしくです。<br>エントリの方のソースには書き忘れましたが、fourCCについて、Dropletの方でも指定しておくようにしますね。僕が見てたbuild 4742で作ったafsは、'MP4S'だったですけど、もっと新しいやつで変ったみたいですし。プレイやんが気にするかは未確認ですが。<br>しかし、今一番悩んでるのがGPL物件のバイナリ配布のお作法だったりするわけで…。配布dmgの中に、ソースはダウンロードしたtar.gzをそのまんまを入れるとして、pkgの形にしたバイナリが入りのの、あとなんか置いとかないとヤバげですよね。COPYINGとCREDITSとREADMEくらいはtar.gzから出しとかないといけないかなー、とか。<br>うむー、頭痛が…。<br>Free Softwareの偉いひと、ボスケテ…。

_ Yoz. (2005.02.25(金) 18:50)

ヤバイ。-vtagオプションて、build 4718にはないんじゃん…。どうすべ。

_ Calcium (2005.02.25(金) 20:05)

こんばんは。<br>私が作っているpatchですが、環境依存部分はavisynth.cくらいかと思います。libavformatのMakefile,avisynth.c,avisynthdll.h,allformats.cを削除(上書きしない)するだけで大丈夫かと思います。_timezoneの周辺に関してはあってもなくても再生互換性という意味では全く変わりませんので、通らないようなら_timezoneを引き算している所を消してしまえばOKです。<br><br>…というか、プレイやん周辺だけならmovenc.cの修正も全く要らないのですが(笑)<br><br>現状のPatchを全て適用すると、動画が激しく動いた時に画像が崩れるようなブロックノイズが発生したりする場合があるようです。これはおそらくデコーダが対応していないデータを吐いてしまっているのだと推測しているのですが、いわゆるISO MPEG4では何ができて何ができないのか、というあたりをまだ調べていないのでこちらでは手付かずの状態です。<br>(Windows Media Playerではこの現象が確認できるが、Video LAN Clientでは全くその現象が見られないので、デコーダの懐が広い(Profileに縛られない)環境では完全なデータを吐いていることはわかります)<br><br>そこでちょっとお伺いしたいのですが、Wolfard氏のpatchでは実機でこのような現象が起こりますか?起こるのであればデコーダそのものが該当のストリームに対応していないのでしょうから、エンコードエンジンに手を入れる必要があるかと思うのですが、起こらないようであればヘッダから情報を削った(デコーダがProfileを低いものと認識した)のが原因かなと思います。原因の切り分けができるととても有難いのですが…。<br><br>-vtagは結構最近の追加ですね。小手先の逃げでよければ、Dropletでは-vtagを指定しないでおいて、ffmpegのバイナリ側で対応しちゃえばいいかと思います。(avienc.cのFMP4の定義を削除するか、invalid_asf = 1とでもすればOK)あまり美しくはないですが…。<br><br>ただ、こうして苦労してもasync, vsyncあたりはほとんど変わってないので期待には添えないかもしれませんが。。。<br>(いつかこのあたりも詳細に調べようとは思っているんですけどねぇ…)

_ Wolfard (2005.02.25(金) 22:08)

召還されたみたいなので(^^;一応。<br>確かにおっしゃる通り、さほど機種依存部分はありませんでした。DLLの部分と、_timezoneと、あとはmain()の出だしですね。とりあえずはすべてコメントアウトして処理しています。<br><br> ご質問の画面の崩れや、ブロックノイズといったことは、ないようです。歌番組などでカメラワークの激しい動画を変換して見てみましたが、ちゃんと再生されているようです。<br><br> とりあえず、こちらでわかってることを列挙します。既出のものも多いですが、ご容赦を>ALL<br><br>(1).ffmpeg 0.4.9-pre1 build 4718で作成した動画はプレイやんで再生が可能。<br> (ただし、シーク不可、音声遅れ顕著)<br>(2).build 4743で作成した動画は、再生不可。プレイやんでファイルが無いように見えたり、そこまでいかずにハングすることも。<br>(3).build 4743で、ヘッダのサイズの判定/書き出し部分(wav.c)をbuild 4718の処理に戻してみた際には、一応再生が可能。ただし、VBR(-b、-rなし)の時にはハングすることも。この版でもシーク不可。音声の遅れは若干改善されているように聞こえる。<br>(4).build 4743で、提供いただいたパッチソースを適用した場合、(2)に近い状態になるが、ハングはしない。<br>(5).(1),(3),(4)の動画を、ASF View(windows版)で見てみたが、(3),(4)の動画を読み込ませた際に、ヘッダサイズが実際のサイズと合致しないというエラーが出る。(1)はエラー無し。<br><br> こんな感じです。

_ Wolfard (2005.02.25(金) 22:50)

あ、ちなみに最後のはコンパイルを通すために手を入れているので<br>その所為である可能性は高いです。

_ Yoz. (2005.02.26(土) 00:18)

そんなにビルドに手間かからないようなら、公開のタイミング合わせますかね。fourCCの件もあるし。<br>暫定ビルド版と一緒に明日何とかしようかとも思ってたんですが、あんまりせわしなく差し替えとかしても使う人も混乱しちゃうだろうし。<br>と言いつつ、ヲレは週末モードに突入してしまうわけですがw

_ Wolfard (2005.02.26(土) 09:11)

 ビルドの方はちょっと停滞します。土日仕事なんで。仕事のビルドの合間にちょっと見る、って感じになりそう。

_ Wolfard (2005.02.26(土) 12:31)

 なんとなく動いていそうなモノができたので、テスト中。

_ Yoz. (2005.02.28(月) 01:12)

>>Wolfardの人<br>おお、素晴らしい!<br>G5への最適化とか、こちらでビルドのお手伝いとかできると思いますんで。

_ Wolfard (2005.02.28(月) 10:10)

たぶん、今週は手がつかないと思いますので。<br>現時点のソース/バイナリ一式は送っておきました。

_ Yoz. (2005.02.28(月) 11:42)

了解です。んでは、ひとまず、仕事の合間に拝見。

お名前:
E-mail:
コメント:
[]


この日記中で使用されている名称は各社の商標である場合があります。
あと、リンク・TrackBackはご自由に。連絡不要。ただし、言及リンクのないTrackBackは受け取れませんので悪しからず。
ついでに、RDFもドゾー。
Copyright ©2004-2016 Masatoshi "yoz" Yoshizawa