お知らせ:


 ◇ YouTube Apple Japan チャンネル で有用なヒントや使い方を配信中です。
 ◇ iOS 向け Apple サポート App のバージョン 2.4.1 が公開されました。

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

質問:

質問: Automatorのエラー

 こんにちは。

 初めての投稿で不慣れですが、質問をさせてください。


 Automatorを使って複数のオーディオファイルをMP3に変換し、既存のプレイリストに保存したいのですがうまくいきません。

変換したいオーディオファイルはMP2形式の2時間尺のものです。

アクション“オーディオファイルを読み込む”でエラーが起きました: “操作を完了できませんでした。(OSStatusエラー-1712)”


実行中に上記のように表示され、MP3変換まではできていますが、プレイリストに追加されません。

試しにWAV形式で一つあたり3分程度のオーディオファイルで10曲一括でやってみたところ、MP3変換もプレイリストへの追加も問題なく行われました。

読み込むファイルがMP2であることか、長尺であることが障害になっているのでしょうか?


*Automatorに指示している内容*


「指定されたFinder項目を取得」

  ↓

「オーディオファイルを読み込む」( iTunes)

方法:MP3エンコーダ

※その他チェックは無し

  ↓

「プレイリストに曲を追加」( iTunes)

既存のプレイリスト  <追加したいプレイリストの名前>

※その他チェックは無し


Mac OS:High Sierra10.13.2

iTunes:12.7.3.46

Automator:バージョン2.8 (444.4)


いつも大量にこの操作を繰り返す必要があるので、Automatorで一括操作できると非常に助かります。

どなたかお詳しい方いらっしゃいませんでしょうか?

相談させてください。

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

MacBook Pro with Retina display, macOS High Sierra (10.13.3), null

投稿日

返信
スレッドに付いたマーク この回答で解決
回答:
回答:

度々、失礼致します。


iTunes.appの、環境設定…>一般>読み込み設定…、で『読み込み方法:』の項目がMP3エンコーダーになっていれば、MP2のファイルをiTunesライブラリに直接読み込んだ時にファイルはMP3に変換されているのではないかと想像しています。


Automator.appの『オーディオファイルを読み込む』アクションは約1分程度でタイムアウトエラーになり、また、アクションの本体(/System/Library/Automator/Import Audio Files.action)のパッケージの中にある、info.plistで、ImportTimeOutValueInSecondsのキーが3600に設定されていることを考えると、このアクションにはバグがあって、使えなさそうです。


そこで、代わりに『AppleScriptを実行』アクションを使ってみたところ、狙い通りに処理を完了することができました(下図)。 Playlistへの追加もAppleScript内で処理した方がエラーにならなかったです。


ユーザがアップロードしたファイル


アクションに入力するステートメンツは以下の通りです。 プレイリストの名前をお使いのものに変更して下さい。 タイムアウトの時間も適切なものに変更して下さい。


tell application "iTunes"

with timeout of (300 * (length of input)) seconds # 一曲につき5分のタイムアウトを設定

set aTrackList to convertinput

end timeout

repeat with thisTrack in aTrackList


duplicatethisTracktoplaylist "Temp" # プレイリストの名前を入力

end repeat

end tell


最初のアクション『指定されたFinder項目を取得』では、項目を入力したり、削除したりする手作業が必要です。 この操作は、ワークフローをサービスに変換することで省くことができ、Finder.appからファイルを選択した状態で、サービスメニューから直接ワークフローを実行できるので便利ですよ(下図)。


ユーザがアップロードしたファイル


ライブラリに読み込んだ元のファイルをゴミ箱に移す操作を自動で行う場合は、上記のステートメンツの下に、


tellapplication "Finder" tomoveinputtotrash


を追加しておきます。

投稿日

スレッドに付いたマーク 参考になった

2018/02/28 11:15 T22T への返信 T22T への返信

T22T様のコメントで解決してますが、私もQuickTime PlayerでScreen Recordingした動画を連結し、2時間強の動画(mp4)を作ってしまったもので...(笑


先ず、"オーディオファイルを読み込む"でエラーが発生するのを確認しました。AutomatorとiTunesの間でやりとりしているAppleEventのタイムアウトは60秒で設定されているようです。タイムアウト後も、iTunesではインポート作業が継続しており、暫く待っていると完了します。当然のことながら、プレイリストには追加されません。

ユーザがアップロードしたファイル

ShellScriptでavconvertコマンドにてコンバートすれば、これを回避できます。インポートした後に、コンバートしたファイルを削除するルーチンも必要です。($TMPDIRに直接ファイルを書き込むのは良くないのですが...)

ユーザがアップロードしたファイル

ユーザがアップロードしたファイル

ユーザがアップロードしたファイル

ディスカッションを部分的に表示しています

返信をすべて表示

ページコンテンツが読み込まれました

2018/02/20 19:57 tomo86 への返信 tomo86 への返信

失礼致します。 


Automator.appの『オーディオファイルを読み込む』アクションの説明をみると(下図)、入力に対応しているファイル種類に、.mp3はあるのですが、.mp2の項目がありません。 私は音楽ファイルの種類に詳しくないのですが、MP2に対応していないということはありませんか?

ユーザがアップロードしたファイル

2018/02/20 19:57

返信 参考になった

2018/02/20 20:41 tomo86 への返信 tomo86 への返信

Automator はどうも大量のファイルや大容量のファイルの操作が苦手なようです。私も写真の大量処理で、エラーを食らったことがあります。

手が無い気がしますので、何か他の手を考えられないでしょうか。

2018/02/20 20:41

返信 参考になった

2018/02/20 21:53 tomo86 への返信 tomo86 への返信

追記:

tomo86 による書き込み:


実行中に上記のように表示され、MP3変換まではできていますが、プレイリストに追加されません。

とのことなのですが、変換されたMP3のトラックは、iTunes.appのライブラリに読み込まれていますか? その場合、再生可能な状態でしょうか? また、元のファイルの全体を読み込んでいる状況でしょうか? それとも、ファイルの一部のみを読み込んでいる状況でしょうか?


お使いのワークフローを実行する際に、最初のアクション(「指定されたFinder項目を取得」)で読み込むファイルを選択する必要がありますよね。 Automator.appのサービスを使うと、Finder.appからワークフローを直接実行できますので、便利ですよ。

2018/02/20 21:53

返信 参考になった

2018/02/21 12:46 tomo86 への返信 tomo86 への返信

OSStatusエラー-1712は、CarbonCore/MacErrors.hに定義されている、タイムアウトエラーです。従って、尺長なのが問題なのでしょうか。

ユーザがアップロードしたファイル

ところで、MP2はビデオの規格です。iTunesで「オーディオファイルを読み込む」前に、MovieのEncode MediaでAAC(拡張子は.m4a)に変換するルーチンを入れてみてはどうでしょうか?(Encode Mediaは、AACしか選べないみたいですが、MP3より高音質です。)

ユーザがアップロードしたファイル

シェルスクリプトを使えば出来るとは思いますが敷居が高いですか?

2018/02/21 12:46

返信 参考になった

2018/02/22 12:59 T22T への返信 T22T への返信

T22Tさま


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


確かにそもそもMP2がサポート対象外のようですね!


参考になりましたm(_ _)m

2018/02/22 12:59

返信 参考になった

2018/02/22 13:01 T22T への返信 T22T への返信

追伸もいただいておりましたね!ありがとうございます!


MP3に変換されている音源は何も問題なく全体がコピーされており、再生可能な状態です!

2018/02/22 13:01

返信 参考になった

2018/02/22 13:32 hohokihai への返信 hohokihai への返信

hohokihai 様

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

なるほどタイムアウトエラーなのですね!

ムービーのエンコード試してみましたが残念ながら同じ状況です。

ちなみに、最初に自分が設定した状態でMP2から読み込んでもファイル1つ(2時間分)であればエラーなく指示通りの結果になりました。

2つ(4時間分)からエラーがでます。

やはり尺の問題でしょうか…

シェルスクリプトは私の知識では、とても使いこなせません😢

シェルスクリプトを使えばタイムアウトエラーが改善される可能性はあるのでしょうか?

ご親切な書き込みありがとうございます。

今後ともよろしくお願いいたします。

2018/02/22 13:32

返信 参考になった

2018/02/23 15:42 tomo86 への返信 tomo86 への返信

AppleEventのデフォルトのタイムアウトは2分のようです。このぐらいのタイミングでエラーが表示されていませんか?


When a command fails to complete in the allotted time (whether the default of two minutes, or a time set by a with timeout statement), AppleScript stops running the script and returns the error "event timed out".

https://developer.apple.com/library/content/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_con…


Automaterではタイムアウトを設定する箇所は見当たらないのですが、AppleScriptでは指定できるようです。

ユーザがアップロードしたファイル

> ちなみに、最初に自分が設定した状態でMP2から読み込んでもファイル1つ(2時間分)であれば

> エラーなく指示通りの結果になりました。


ということは、ファイルを一個ずつ行えば問題ないということでしょうか?


> シェルスクリプトを使えばタイムアウトエラーが改善される可能性はあるのでしょうか?


ShellScriptは、AppleEventとは関わりがないのでAppleEventのタイムアウトの制約は受けません。


私は、2時間超えのファイルを持っていないので、試しに、ShellScriptのルーチンを加え、擬似的に2分間のスリープを加えてみましたがタイムアウトは起こりませんでした。参考までに。

ユーザがアップロードしたファイル

ところで、AutomatorでRunすれば、上記のように✅マークが付くわけで、どこで失敗してるか分かる筈です。こうした情報を開示していただければあれこれ考えずに済むのですが...

2018/02/23 15:42

返信 参考になった

2018/02/23 21:54 tomo86 への返信 tomo86 への返信

ご説明を頂きまして、有難うございます。


インターネット上を検索してみると、MP2のファイルもiTunes.appに読み込みできるとの情報がありました。 Automator.appのワークフローとは別に、iTunes.appのメニューにある、ファイル>ライブラリに追加… ⌘O のコマンドを実行してみた場合は、どうでしょうか? 読み込みが可能でしょうか? また、読み込んだトラックの情報を表示して、情報を表示して(⌘I)、ファイル情報のパネルを開いたとき、ファイルの拡張子はどの様になっていますでしょうか? .mp2のままでしょうか? それとも他の拡張子に変更されていますか?

2018/02/23 21:54

返信 参考になった

2018/02/23 21:51 tomo86 への返信 tomo86 への返信

度々、失礼致します。 読み込んだMP3のトラックの終わりの部分を再生した時に、読み込む前のMP2の終わりの同じ部分と一致しているかどうかを確認してみるとどうでしょうか? つまり、MP3のトラックがiTunesのライブラリ上では読み込みが終わっている様に見えるのですが、実際に再生してみると最後まで読み込みが終わっていない可能性があるかもしれません。

2018/02/23 21:51

返信 参考になった

2018/02/23 22:27 tomo86 への返信 tomo86 への返信

度々、失礼致します。


小説を使って、9時間18分(再生時間)の音声ファイル一つ(拡張子:.aiff、サイズ:1.5 GB)を作成して、同じワークフローを実行することで現象を再現できました(下図)。 MP2のファイルでなくてワークフローは正常に実行できないです。 興味深いのは、エラーが表示されてワークフローが止まっても(実行から60秒程度で終了)、iTunes.appライブラリへの読み込みは継続していて、音声ファイルの読み込みは正常に終了する(全て読み込む)ようです。 最初のアクションを削除して、サービス形式のワークフローにしても同じ結果でした。

ユーザがアップロードしたファイル

2018/02/23 22:27

返信 参考になった
スレッドに付いたマーク この回答で解決

2018/02/28 11:14 tomo86 への返信 tomo86 への返信

度々、失礼致します。


iTunes.appの、環境設定…>一般>読み込み設定…、で『読み込み方法:』の項目がMP3エンコーダーになっていれば、MP2のファイルをiTunesライブラリに直接読み込んだ時にファイルはMP3に変換されているのではないかと想像しています。


Automator.appの『オーディオファイルを読み込む』アクションは約1分程度でタイムアウトエラーになり、また、アクションの本体(/System/Library/Automator/Import Audio Files.action)のパッケージの中にある、info.plistで、ImportTimeOutValueInSecondsのキーが3600に設定されていることを考えると、このアクションにはバグがあって、使えなさそうです。


そこで、代わりに『AppleScriptを実行』アクションを使ってみたところ、狙い通りに処理を完了することができました(下図)。 Playlistへの追加もAppleScript内で処理した方がエラーにならなかったです。


ユーザがアップロードしたファイル


アクションに入力するステートメンツは以下の通りです。 プレイリストの名前をお使いのものに変更して下さい。 タイムアウトの時間も適切なものに変更して下さい。


tell application "iTunes"

with timeout of (300 * (length of input)) seconds # 一曲につき5分のタイムアウトを設定

set aTrackList to convertinput

end timeout

repeat with thisTrack in aTrackList


duplicatethisTracktoplaylist "Temp" # プレイリストの名前を入力

end repeat

end tell


最初のアクション『指定されたFinder項目を取得』では、項目を入力したり、削除したりする手作業が必要です。 この操作は、ワークフローをサービスに変換することで省くことができ、Finder.appからファイルを選択した状態で、サービスメニューから直接ワークフローを実行できるので便利ですよ(下図)。


ユーザがアップロードしたファイル


ライブラリに読み込んだ元のファイルをゴミ箱に移す操作を自動で行う場合は、上記のステートメンツの下に、


tellapplication "Finder" tomoveinputtotrash


を追加しておきます。

2018/02/28 11:14

返信 参考になった (1)
スレッドに付いたマーク 参考になった

2018/02/28 11:15 T22T への返信 T22T への返信

T22T様のコメントで解決してますが、私もQuickTime PlayerでScreen Recordingした動画を連結し、2時間強の動画(mp4)を作ってしまったもので...(笑


先ず、"オーディオファイルを読み込む"でエラーが発生するのを確認しました。AutomatorとiTunesの間でやりとりしているAppleEventのタイムアウトは60秒で設定されているようです。タイムアウト後も、iTunesではインポート作業が継続しており、暫く待っていると完了します。当然のことながら、プレイリストには追加されません。

ユーザがアップロードしたファイル

ShellScriptでavconvertコマンドにてコンバートすれば、これを回避できます。インポートした後に、コンバートしたファイルを削除するルーチンも必要です。($TMPDIRに直接ファイルを書き込むのは良くないのですが...)

ユーザがアップロードしたファイル

ユーザがアップロードしたファイル

ユーザがアップロードしたファイル

2018/02/28 11:15

返信 参考になった (2)

2018/02/28 11:26 T22T への返信 T22T への返信

T22T様

お返事が大変遅くなりすみません!

また、ファイルの変換が必要になったので、書き込んでいただいた方法でオーディオ24時間分一気にやってみたところ、何もエラーなく無事に完了することができました!

指定のプレイリストに入り、再生も大丈夫です!!!

おかげさまで、あの面倒な作業から解放されました😢😢

本当に感謝しています!

ありがとうございます!m(_ _)m

2018/02/28 11:26

返信 参考になった
ユーザのユーザプロフィール: tomo86

質問: Automatorのエラー