HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0613
Sakura87pipegetでフリーズ5解決


Sakura87

リンク

2008/6/13(Fri) 21:09:29|NO.16690

久方ぶりですが。
最近ffmpegのフロントエンドを作ろうとして躓いております(HSPで作成しているものを本体と記す)
ffmpegを実行するまではいいのですが、途中で本体がフリーズしてffmpegも処理をしなくなります。
本体を強制的に終了させるとffmpegは再び処理を開始します。
いろいろなヘルプを見てみたのですが、いまいち分かりませんでした。
どこかプログラムにおかしい部分がありますでしょうか?

以下、本体の問題と思われる部分のプログラムを記載します。

notesel list:noteget this,0 p="\""+dir+"\\ffmpeg.exe\" -i \""+this+"\" -acodec aac -ab 128k -ar 48000 -s 512x384 -r 29.97 -vcodec h264 -b 768k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs+brdo -me umh -subq 7 -trellis 2 -bidir_refine 1 -refs 2 -bf 1 -b_strategy 1 -coder 1 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 768k -maxrate 4k -bufsize 4k -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 21 -f mp4 t:\\test.mp4" pipeexec ffmpeg_q,p *main wait 100 pipeget tmp6 if stat=0:goto *out syscolor 15:boxf:syscolor 29:boxf 0,0,320,16:pos 0,2:syscolor 30:font "",12:print "PSP動画変換":syscolor 8:pos 0,380 notesel ffmpeg_q ffmpeg_e=noteinfo(0) noteget ffmpeg_p,ffmpeg_e-1 print ffmpeg_p goto *main

また、プログラム全体を以下の場所においてあります。
http://sakura87.net/tmp/pspdouga.txt
また、使用したffmpegはこのバージョンのものです。
http://ffdshow.faireal.net/mirror/ffmpeg/ffmpeg.rev9133.7z
ちなみにr13712でもテストしましたが結果は同じでした。
(最新のものはp=の行のh264をlibx264にaacをlibfaacにする必要あり

どなたか原因の分かる方お願いします。



この記事に返信する


ANTARES

リンク

2008/6/13(Fri) 22:40:16|NO.16694

 とりあえず、以下を参考にどこでフリーズしているか
調べてはいかがでしょう。
「強制終了」を「フリーズ」に読みかえてください。
http://antares.cn/hsp/trap/index.html#illegal



Sakura87

リンク

2008/6/14(Sat) 07:13:17|NO.16702

返信ありがとうございます。

*mainの部分を


wait 100 pipeget tmp6 dialog "0" if stat=0:goto *out syscolor 15:boxf:syscolor 29:boxf 0,0,320,16:pos 0,2:syscolor 30:font "",12:print "PSP動画変換":syscolor 8:pos 0,380 notesel ffmpeg_q ffmpeg_e=noteinfo(0) noteget ffmpeg_p,ffmpeg_e-1 print ffmpeg_p dialog "1"
としてみたところ、0と書かれたダイアログが表示され、1と書かれたダイアログが表示された後フリーズしました。
この結果より、どうやらpipeget tmp6のあたりでフリーズしていることは分かったのですが、
pipegetのヘルプにあるサンプルコードを実行してみたところ同じ部分でフリーズしていることが分かりました。
HSPは3.1を利用しているのですが、もしかしてHSPの問題ですか?



Shark++

リンク

2008/6/14(Sat) 16:01:25|NO.16707

hspextのソースを見てみましたが恐らく標準出力の取得中にブロッキングされているのだと思います。
とりあえずバグトラッキングに登録しておきました。
http://quasiquote.org/hspbt/guest?project=hspb3&action=view_report&id=208
今のところhspext側で対処するしか回避する方法はないと思います。
(自力で実装する以外には)



Sakura87

リンク

2008/6/15(Sun) 06:43:29|NO.16743

えぇ!?
前のときも同じようなことだった気がするが…。
とりあえず今はexecで起動してウィンドウのタイトルを監視し続け、ウィンドウが消えたら処理するようにしました。
3.2で修正されるとうれしいですが…。

ありがとうございます。



Sakura87

リンク

2008/6/15(Sun) 07:01:25|NO.16746

解決済みにしてなかった



ONION software Copyright 1997-2023(c) All rights reserved.