今回はバグFIXとともに幾つか機能追加と仕様変更を行っています。
■オリジナル品質変換機能を実装しました
こちらは少し説明が必要だと思います。
まず背景から説明すると、ニコニコPodderも初期バージョンを公開してからほぼ二年が経過して、ニコニコ動画周辺も投稿される動画もかなり変容してきました。その中で、そろそろ変換される画質が気に入らなくなってきていた、という前提があります。
そもそもニコニコPodderは当初iPodやiPhone(その頃はtouchだけでしたが)で手軽にニコ動を見るために、画質・音質とも高品質を追求するのではなく、変換サイズも考慮して良すぎもせず悪すぎねせず、というところで変換オプションを調整していました。
以前はまだまだ著作権的に問題のある動画も多い時代で品質の悪いものも多く、またFLVだけでもありニコニコ動画全体の画質もあまりよくなかったので、これはこれでよくバランスが取れていたと思っています。
しかし最近はMPEG4も導入されたり、初音ミクなどに代表されるようなユーザーオリジナル動画の品質(画質とか音質)の向上には目を見張るものがあり、例えば「プロの犯行」などと呼ばれるのはご承知の通りです。
となるとニコニコPodderのデフォルト設定での画質・音質も甚だ不本意になってきており、デフォルト値を変えて、サイズや変換時間は多くなるものの、実際の動画に見合った品質にしたいな、と思っていました。
しかし問題が一つありました。
これは多くの変換ツールでも同じことなんですが、ffmpegのオプションなどでは変換時にビットレートやフレームレートなどの設定値をあらかじめ指定しないといけません。
もちろんある特定の動画であればそれに合わせればいいのですが、不特定多数の動画が変換される場合、具体的に値をどうするかは大きな問題です。
初期のニコニコPodderでは変換サイズとiPod画面で見ることを前提に、悪く言えば、良くも悪くもないどっちつかずの値を採用していました。
しかしそうすると、その品質を上回る動画を変換する際には当然それだけ品質は悪くなりますし、反対に品質の悪い動画の場合は帯域を使ってファイルサイズが無駄に大きくなります。
そこで今回、ダウンロードされた動画のビットレートその他の属性値を変換前に取得して、それを元に実際の変換値を決定する「オリジナル品質自動設定」機能を導入しました。
変換パラメータの設定値は元の動画に応じて毎回調整されますので、これであれば比較的元の動画に応じた品質とファイルサイズ、変換スピードのバランスが取れることになります。
とは言え、まだやっていることは単純で、例えば元動画のビットレートが800Kであれば、それをそのまま変換オプションへ渡しているだけです。また実際にはフォーマットの変換を行うのに、元動画の設定値そのままでいいのか、という考えもあります。
まだファーストチャレンジですので諸々欠点もあるのですが、少なくともこれまでよりiPodやiPhoneに相応しい画質・音質になるとは思いましたので、今回導入としました。
恐らく今後のバージョンではこの機能を拡張していくことになるかと思います。
長々と難しく書きましたが、使うユーザーにとっては、操作などはこれまでと何ら変わることはありません。
また以前の変換オプションを手動で設定することも問題ありません。
少し前より絵や音がきれいになったかな?ぐらいに感じてもらえれば幸いです。
なお今回変換オプション仕様を変更した都合上、nicoPodder.iniの変換オプション指定はすべて強制的に最新に更新しています。以前の設定はnicoPodder_backup.iniという名前でバックアップされていますので、必要に応じて参照または変更してください。
■SWFConvertは同梱にしました
ライセンス上も問題ないだろうと判断し、今回から同梱にしました。そのためパッケージに含むファイルは格段に増えています。
また1.0.3としてオリジナル品質自動設定に対応したほか、変換ステップ数も削減しています。
なおSWFConvert自体のライセンスは従来から変わりなくGPLv2です。別途ソースコードも公開しています。
従来まで使用していた”SWFConvert”フォルダはもう使用しません。お手数ですが手動にて削除しておいてください。
■右クリックメニューからの変換やiTunes登録の実行は再実行としました
■iTunes登録チェック時に無効なパスのファイルが登録されている場合には正しいパスで登録し直すようにしまし
た
微妙な変更ですが、一部コメント欄でリクエストも頂いていました。
これまでは右クリックメニューからファイル変換やiTunes登録をしても、すでにファイルが変換されていたりiTunesへ登録されていた場合には何も行いませんでした。これは「一括」の場合や「開始」ボタンを押した場合も同じです。
今回から右クリックメニューからの変換とiTunes登録については、更新という扱いにしました。
変換の場合はすでにファイルがあるかどうかに関わらず再度変換を行います。またiTunes登録の場合は、登録はそのままに説明やプレイリスト、アーティストなどの属性を更新します。
基本的に登録の削除は行いませんが、例外的に登録ファイルパスが無効な場合のみ、一度削除してから再度登録としています。本当はファイルパスも更新できるといいんですが現状では無理なため、一度削除としていますのでお気を付けください。
その他変更はアップデート履歴もご覧ください。
では何かありましたらコメント欄までどうぞ。
* R1.1.10をリリースしました。今後はそちらへどうぞ
2009-09
15
23:33:00
ニコニコPodder R1.1.9をリリースしました
2009-09
15
23:33:00
ありがとうございます。
試してみた動画は、
ttp://www.nicovideo.jp/watch/sm7362595
ttp://www.nicovideo.jp/watch/sm7381552
ttp://www.nicovideo.jp/watch/sm7082009
です。
>Mさん
こちらの環境では発生したことはないのですが、マイリストによるのかも知れません。
マイリストのURLを教えて頂けるのであれば調査できるかも知れません。
ニコニコPodder、ダウンロードさせていただきました。
そしてお聞きしたいのですが…
どの動画をダウンロードしようとしても、「RSSロード時に異常終了しました[‘–‘ は予期しないトークンです。予期していたトークンは ‘>’ です。 行 31、位置 3 です。]」とエラーになってしまいます…
機械には強くなくて、自分では解決法がわからず、ご質問させていただきました。
>shigeorgさん
ありがとうございます。確かにその通りです。
初期起動時に空になってしまいますね。
完全に当方のバグのようです。皆さん申し訳ない。。
ただバグ報告を頂いていた内容からは以前のバージョンへの上書きインストールをされていると理解していたのですが、そうではなく新規フォルダへのインストールだったのでしょうか。
恐らく以前からのバージョンへの上書きであればこの現象は発生していないと思うのですが、この点が疑問です。実際に現象が発生していらっしゃる方からの情報を頂ければと思います。
またshigeorgさんもご指摘されている通り一度終了して再度起動すれば変換は可能になりますので試して頂ければと思います。
いずれにせよ大きな問題と思いますので、対応バージョンは準備しますね。
ROCA さん、横から失礼します。
shan さんの設定ファイルが致命的に歯抜けだったとのことですが、実は私も 1.1.9 を一番最初に起動してすぐに終了した時の ini ファイルは同様に変換関連の行が一切ありませんでした。(1.1.8 の ini ファイルからマイリスト関係行をコピーしようとして開いてみて気付いたのです)
その時はオリジナル品質変換機能を入れた関係で変換設定は省略されるようになったのかなと勝手に勘違いしてスルーしていたのですが、その後 2 回目に起動して終了したらちゃんと行が増えていたので、そういう仕様に変わったのだろうと思っていました。
今再度 1.1.9 をダウンロードして ZIP から展開しなおして、まっさらの初期状態にしてから、起動してすぐに終了して作成された ini ファイルを見てみたら、やはり変換関係の行が含まれていません。
その状態で再度起動して終了すると変換関係の行が追加されていました。
さらに、そのまま ini ファイル を削除して再度起動・終了したら、(再度) 作成された ini ファイル中に変換関係の行はありませんでした。
また、ini ファイルがない (初期) 状態から起動して、そのまま適当なマイリストを指定してダウンロード・変換をさせてみたら、shan さんと同様に「変換設定が見つかりません…」というメッセージが出て変換できませんでした。
この状態で終了して作成された ini ファイルは、起動後すぐに終了した場合と同様に変換関係の行はありませんでした (マイリスト関係や保存フォルダ等の行は当然ながら追加されていましたが)。
そして、このまま 2 回目の起動を行って変換をさせると、今度はちゃんと変換できますし、終了後に保存された ini ファイルには変換関係行がありました (上述の起動直後終了の 2 回目に変換関係の行が追加されていたことから、この動作は予想できましたが)。
ここまでに書いた現象は再現性があり、何度でも同じことがおきます。
今試してみたマシンは私が普段使っているマシンとは別のものですが、いずれも OS は WindowsXP SP3 32bit で (普段使いのマシンは自作デスクトップ PC, 今試したのは ThinkPad X32 です)、両方のマシンで同じ現象が起きたということは、少なくとも XP SP3 32bit だと多くの環境でそういう動作をするのではないでしょうか。
(普段使いのマシンは今は手元にないので、展開後、起動・終了で ini ファイルに変換関係の行がなかった、ということが言えるだけではありますが)
ちなみに、1.1.8 までは ZIP 展開後、起動してすぐに終了した状態で ini ファイルに変換関連の行が存在していました。(普段使いのマシンでの話です)
ふと今思い立って、nicoPodder.ini の中身を空にしてから (もしくは 0 バイトで自分で作成してから) 起動・終了してみたら、保存された ini ファイルの中身に変換関係の行がありました。
ということは、内容がなんであれ nicoPodder.ini ファイルが存在しさえすれば変換関係行が (ニコニコPodder の内部・メモリ的にも) 作成されるが、ini ファイルが存在しない状態で起動されると変換関係行が作成されないということですね。
なお、空の ini ファイルで起動したときは、ライセンス確認ダイアログは出ましたが、年齢確認ダイアログは出ませんでした。
(これらも再現性があります)
>shanさん
メールありがとうございました。このファイルです。
確認しましたが、データが致命的に歯抜けで、本来このようになることはまず考えられないのですが。。また何故かマイリストの設定も消えていますね。
但したとえこのデータでも一度再起動して必要に応じてマイリストを再追加すれば変換も問題ないはずなのですが、どうでしょうか。何度かは試されていたでしょうか。
また以前使っていたバージョンとはどれでしょうか。
また現在のOS種類、32bit版か64bit版か、または使用しているPC機種など教えてもらえませんか。
回復方法として、まずはフォルダにあるnicoPodder.iniをまずは削除してしまってください(おかしなデータなのでもう使用できません)。
次に同じフォルダにあるnicoPodder_backup.iniをどこか別の場所にコピーしておいてください。
これは本来以前のバージョンの時のバックアップのはずです。一度nicoPodder_backup.iniをメモ帳で開いて、nicoPodder.iniとぱっと見同じ内容かどうか見てもらえませんか。
もし同じならバックアップとしては使えませんが、もし異なりもっと行が多いようなら、これをnicoPodder.iniにリネームしてからニコニコPodderを起動してください。マイリスト設定もバックアップに残っていれば回復するはずです。
もしこれでも同じ症状だった場合は、nicoPodder.iniを削除してフォルダに無い状態でニコニコPodderを起動すれば初期状態に戻り動作するようになるはずです。
但しマイリストの設定は消えてしまいますので、再度登録し直す必要があります。ダウンロードしたり変換したファイルはダウンロード先や変換先のフォルダに残っており、影響はないはずです。
お手数ですがまたご報告頂ければ助かります。
>ROCA様
メールさせて頂きました。
よろしくお願いします。
>shanさん
ありがとうございます。
恐らく何らかの条件下で発生するバグだと思ったのですが当方では再現しておらず、コード上も問題ないように見えるため困っていましたので助かります。
ニコニコPodderを解凍したフォルダ(niciPodder.exeがあるフォルダ)にnicoPodder.iniというファイルがあると思います。これをメモ帳で構いませんので開いてください。なお”nicoPodder_backup.ini”というファイルもあると思いますが、こちらではありません。
メモ帳の多分一番下のあたりに以下と全く同じ内容があるかどうかを確認してみてください。
ConvertOptionsVersion=1.1.9
ConvertVideoFLVCommand=ffmpeg.exe
ConvertVideoFLVOptions=-y -i “<%InputFile%>” -vcodec libx264 -coder 0 -f ipod -level 13 -bufsize 4M -g 300 -s 480×320 -r <%FrameRate:"29.97"%> -b <%VideoBitRate:"384k"%> -acodec libfaac -ac 2 -ar <%MusicSamplingRate:"44100"%> -ab <%MusicBitRate:"128k"%> -flags +mv4+aic -mbd 2 -cmp 2 -subcmp 2 -precmp 2 -qmin 12 “<%OutputFile%>”
ConvertVideoFLVExtension=mp4
ConvertVideoMP4Command=ffmpeg.exe
ConvertVideoMP4Options=-y -i “<%InputFile%>” -vcodec libx264 -coder 0 -f ipod -level 13 -bufsize 4M -g 300 -s 480×320 -r <%FrameRate:"29.97"%> -b <%VideoBitRate:"384k"%> -acodec libfaac -ac 2 -ar <%MusicSamplingRate:"44100"%> -ab <%MusicBitRate:"128k"%> -flags +mv4+aic -mbd 2 -cmp 2 -subcmp 2 -precmp 2 -qmin 12 “<%OutputFile%>”
ConvertVideoMP4Extension=mp4
ConvertVideoSWFCommand=SWFConvert.exe
ConvertVideoSWFOptions=-i “<%InputFile%>” -o “<%OutputFile%>” -c “<%FfmpegPath%>” -r <%FrameRate:"30.00"%> -b <%VideoBitRate:"384k"%> -ar <%MusicSamplingRate:"44100"%> -ab <%MusicBitRate:"128k"%>
ConvertVideoSWFExtension=mp4
ConvertMusicFLVCommand=ffmpeg.exe
ConvertMusicFLVOptions=-y -i “<%InputFile%>” -f mp3 -ab <%MusicBitRate:"128k"%> “<%OutputFile%>”
ConvertMusicFLVExtension=mp3
ConvertMusicMP4Command=ffmpeg.exe
ConvertMusicMP4Options=-y -i “<%InputFile%>” -f mp3 -ab <%MusicBitRate:"128k"%> “<%OutputFile%>”
ConvertMusicMP4Extension=mp3
ConvertMusicSWFCommand=ffmpeg.exe
ConvertMusicSWFOptions=-y -i “<%InputFile%>” -f mp3 -ab <%MusicBitRate:"128k"%> “<%OutputFile%>”
ConvertMusicSWFExtension=mp3
DoNotConvert=none:none
上記と食い違うのであれば何があって何がないのか、詳しく教えて頂けないでしょうか。
またR1.1.9を最初に起動した時に、何かエラーが出ていたりしなかったでしょうか(出ていても詳しくは覚えてらっしゃらないとは思いますが。。)。
ちなみに上記の各行はは○○○=×××と形式で設定を示しています。
もしこの内容が無ければそれがないのが原因です。足りない行があればそれを追加し、異なっていれば上記に変更して保存してください。それで動作するのではないかと思います。
なお多少ややこしいと思うので、もし可能であればメールでnicoPodder.iniを添付して送って頂いた方がよいかも知れません。宛先のメールアドレスはこのページの一番下に掲載しています。
お手数おかけしますが、ご協力頂ければ幸いです。
初めまして。
今コメント欄を見ていたのですが、私もZさんと全く同じ状況です。
ダウンロードは出来るのですが、全ての動画で音楽への変換ができないようです。
エラーメッセージも全く同じものが表示されます。
ちなみに、前のバージョンの時は普通に変換できていました。音楽も動画も問題は無かったです。
>インストールしたフォルダにあるnicoPodder.iniに、サイトのTips(ttp://www.rocaz.net/nicop/#tips)に示したような設定はされていますか。サイトの内容と変わっていますか。
こちらなのですが、私もあまり機械に詳しくないもので、フォルダの中のどれを見ればいいのかがわかりませんでした。もう少し詳しく教えていただけると幸いです。
>cloloさん
1について
質問にはすべて答えて頂けませんか。
同じ動画で毎回起こりますか。いろいろな動画でも起こるでしょうか。頻度を教えてください。
またエラーの内容を省略せずに教えてもらえますか。
2について
右上のボタンではありません。
「”右クリックメニュー”から「最新のステータスに更新」を選んだ」場合です。