iphoneで撮影した子どもの動画を祖父母がDVDで見たいーと言われ、調べました。
意外と時間と手間がかかったので、もっと簡単な方法(安全で)があれば更新します。
今回DVDに焼きたい動画は、iphoneで撮影した動画80ファイル程度、計12GB
端末はwindows10です。
手順は、
①movファイルをmp4ファイルに変換
②mp4ファイル1ファイルに結合
③結合したmp4ファイルをvobファイルに
④vobファイルをDVDに焼く
手順が多く見える理由は、
・利用するフリーソフトが3つある(ググって上位に来る怪しげなソフトは使いたくないため)
・利用するフリーソフトの制限
movファイル結合quicktimeが必要なのですが、win10からサポートされてないため、一旦mp4に変換する手間が増えました。
探せばもっとスムーズな方法がありそうですが、今回はこれでやってみます。
①movファイルをmp4ファイルに変換
使用するソフトウェア:Xmedia Recode 3.4.7.8 64bit
・窓の杜からDLしました。
https://forest.watch.impress.co.jp/library/software/xmediarecode/
形式タブで形式:MP4を選択
メニューからファイル→ファイルを開く→対象のmovファイルを開く(Shiftキーを押しながら複数選択も可)
開いたファイルが上段のリストに表示されるので、全件選択→メニューから編集→リストに追加
メニューからファイル→エンコード
②mp4ファイル1ファイルに結合
使用するソフトウェア:UniteMovie2.11
・vectorからDLしました
https://www.vector.co.jp/soft/win95/art/se233899.html
追加ボタンクリック→①で作成したmp4ファイルを選択(Shiftキーを押しながら複数選択も可)
※1度に20ファイルまで※
結合ボタンクリック
③結合したmp4ファイルをvobファイルに
WinX DVD Author
・本家からDLしました。
https://donkichirou.web.fc2.com/WinX_DVD_Author/WinX_DVD_Author.html
Convert Video to vobをクリック→②で結合したmp4ファイルを選択→>>ボタンクリック→Start
④vobファイルをDVDに焼く
WinX DVD Author
DVD Disc Burnerをクリック→③のvobファイルを選択>>ボタンクリック→Start
・参考にしたサイト
wmvやmp4形式のファイルをDVDプレーヤーで見るためには。
https://showon-sato.com/blog/296
2019/10/05
2019/08/26
Googleスプレッドシートを使って日々のタスクをメールでお知らせ
【プログラミング初心者向けに、コピペで使えるプログラムです】
今回のプログラムは、
エクセルで管理しているタスク一覧を自分のメールアドレス宛に送付する
です。
なぜ自前で作ったかと言うと、
パソコン、ノート、タブレットなどどの端末からでもタスク管理ができ、機種やツールに依存しない仕組みにしたかったから。
当初iphoneアプリなどを利用していましたが、アプリのバグや、提供終了による他アプリの選定・移行、インターネットに繋がらないと動作しないなど、思いのほか手間がかかり。
結局はエクセルやテキストでの管理に落ち着いています。
とはいえ、アラートする仕組みはやっぱり欲しい!!と思い、今回メール通知するプログラムを作りました。
育児が始まってからは、作業時間は数分単位、作業中に手を止めることが当たり前となり、今日の予定はー、と一々パソコンを立ち上げて、エクセルを起動してなんて時間が取れません。。。
特に新生児はほぼベビーベッドから離れられないため、タブレットやスマホをチェックするので精一杯。
日々の作業をメールでチェックし、進捗やメモを返信することで作業漏れを防いでいます。
※育児中のルーチンや、使用しているアプリについては別途掲載します※
使用するのは、Googleスプレッドシート+Google Apps Script+Gmailです。
(Googleアカウントを持っていれば無料で利用できます。)
Googleスプレッドシートを選んだ理由は、自分の端末からEXCELでメール配信するよりも、ハードルが低く、動作確認が簡単なためです。
自端末からメール配信するプログラムを作るためには、メール配信の設定やうまくいかないときの切り分けをすべて自分で行わないといけません。
今回Googleが提供する仕組みを利用するため、環境依存について気にする必要がありません。
クラウドの利点ですね。
プログラムの動作は、
スプレッドシート1行の内容を、1通のメールで送信。
今日は1行目、明日は2行目と毎日メール本文を入れ替えて送付します。
【手順】作業時間:コピペで10分程度
①Googleスプレッドシートにタスク一覧を作成
②Google Apps Scriptでメール配信プログラムを作成
③②のプログラムをトリガーに登録
①Googleスプレッドシートにタスク一覧を作成
下記表をコピペしてスプレッドシートを作成します。
1行目はタイトル、2行目からメールに記載する内容を書きます。
各項目は以下のように使っています。
№:件数
件名:メールのタイトル
タスク1~3:タスク内容
コメント:タスクの詳細
メッセージ:メモ書きです。
送信履歴:メール送信した日付
一覧の行数は何行増えてもかまいません。上から順にメールします。
②Google Apps Scriptでメール配信プログラムを作成
スプレッドシートのメニューからツール→スクリプトエディタをクリック
コード.gsタブのエディタ内に、既存のコード(function myFunction() {から始まるコード)はすべて消し、以下コードを貼り付けます。
---------------------------------------------------
function TaskMailMain(){
var MySheet=SpreadsheetApp.getActiveSheet(); //シートを取得
var RowSheet=MySheet.getDataRange().getLastRow(); //シートの最終行を取得
var StrFrom="from@gmail.com"; //差出メールアドレス
var StrSender="taskmail"; //差出人名
var StrTo="to@gmail.com"; //送付するアドレス
//タスク一覧の一行目から順に送信履歴をチェックし、送信履歴が空の行をメールで送付
for(var n=2;n<=RowSheet;n++){ //タスク一覧の件数分繰り返す
if (MySheet.getRange(n,9).getValue()===""){ //送信履歴が空欄の場合メールを送付する
var StrSubject=MySheet.getRange(n,3).getValue(); //タイトルを取得
var StrTask1=MySheet.getRange(n,4).getValue(); //タスク1を取得
var StrTask2=MySheet.getRange(n,5).getValue(); //タスク2を取得
var StrTask3=MySheet.getRange(n,6).getValue(); //タスク3を取得
var StrCom=MySheet.getRange(n,7).getValue(); //コメントを取得
var StrMsg=MySheet.getRange(n,8).getValue(); //メッセージを取得
var StrBody=StrTask1+'\n'+StrTask2+'\n'+StrTask3+'\n'+StrCom+'\n\n'+StrMsg; //本文結合
//メールの送信
GmailApp.sendEmail(
StrTo, //toアドレス
StrSubject, //表題
StrBody, //本文
{
from: StrFrom, //fromアドレス
name: StrSender //差出人
}
);
n=n+RowSheet; //for文を抜ける
MySheet.getRange(n,9).setValue(new Date); //今回送った日付を入れる
};
}
}
---------------------------------------------------
貼り付けたコードの内、下記3か所""の中身を、利用環境に合わせて変更してください。
var StrFrom="from@gmail.com"; //差出メールアドレス
var StrSender="taskmail"; //差出人名
var StrTo="to@gmail.com"; //送付するアドレス
▶の実行ボタンをクリックすると、メールが配信されます。
※メール配信時、初回はGoogleからアクセス許可をポップアップが表示されますので、許可してください※
③②のプログラムをトリガーに登録
メニューの編集→現在のプロジェクトのトリガーをクリック
右下のトリガーを追加ボタンをクリック
→
イベントのソースを選択:時間主導型
時間ベースのトリガーのタイプを選択:日付ベースのタイマー
時刻を選択:午前0時~1時 ※お好きな時間を選択してください※
→保存
以上で完了です。
実際に届くメールはこんな感じです。

個人利用を想定し、平易なコード、各行コメントを入れていますので、自分用にカスタマイズしてご利用ください。
カスタマイズしてこんな感じのメールを毎朝届けています。

参考にしたサイト
Gmailを使ってステップメールをかんたんに発行する方法
今回のプログラムは、
エクセルで管理しているタスク一覧を自分のメールアドレス宛に送付する
です。
なぜ自前で作ったかと言うと、
パソコン、ノート、タブレットなどどの端末からでもタスク管理ができ、機種やツールに依存しない仕組みにしたかったから。
当初iphoneアプリなどを利用していましたが、アプリのバグや、提供終了による他アプリの選定・移行、インターネットに繋がらないと動作しないなど、思いのほか手間がかかり。
結局はエクセルやテキストでの管理に落ち着いています。
とはいえ、アラートする仕組みはやっぱり欲しい!!と思い、今回メール通知するプログラムを作りました。
育児が始まってからは、作業時間は数分単位、作業中に手を止めることが当たり前となり、今日の予定はー、と一々パソコンを立ち上げて、エクセルを起動してなんて時間が取れません。。。
特に新生児はほぼベビーベッドから離れられないため、タブレットやスマホをチェックするので精一杯。
日々の作業をメールでチェックし、進捗やメモを返信することで作業漏れを防いでいます。
※育児中のルーチンや、使用しているアプリについては別途掲載します※
使用するのは、Googleスプレッドシート+Google Apps Script+Gmailです。
(Googleアカウントを持っていれば無料で利用できます。)
Googleスプレッドシートを選んだ理由は、自分の端末からEXCELでメール配信するよりも、ハードルが低く、動作確認が簡単なためです。
自端末からメール配信するプログラムを作るためには、メール配信の設定やうまくいかないときの切り分けをすべて自分で行わないといけません。
今回Googleが提供する仕組みを利用するため、環境依存について気にする必要がありません。
クラウドの利点ですね。
プログラムの動作は、
スプレッドシート1行の内容を、1通のメールで送信。
今日は1行目、明日は2行目と毎日メール本文を入れ替えて送付します。
【手順】作業時間:コピペで10分程度
①Googleスプレッドシートにタスク一覧を作成
②Google Apps Scriptでメール配信プログラムを作成
③②のプログラムをトリガーに登録
①Googleスプレッドシートにタスク一覧を作成
下記表をコピペしてスプレッドシートを作成します。
1行目はタイトル、2行目からメールに記載する内容を書きます。
各項目は以下のように使っています。
№:件数
件名:メールのタイトル
タスク1~3:タスク内容
コメント:タスクの詳細
メッセージ:メモ書きです。
送信履歴:メール送信した日付
一覧の行数は何行増えてもかまいません。上から順にメールします。
②Google Apps Scriptでメール配信プログラムを作成
スプレッドシートのメニューからツール→スクリプトエディタをクリック
コード.gsタブのエディタ内に、既存のコード(function myFunction() {から始まるコード)はすべて消し、以下コードを貼り付けます。
---------------------------------------------------
function TaskMailMain(){
var MySheet=SpreadsheetApp.getActiveSheet(); //シートを取得
var RowSheet=MySheet.getDataRange().getLastRow(); //シートの最終行を取得
var StrFrom="from@gmail.com"; //差出メールアドレス
var StrSender="taskmail"; //差出人名
var StrTo="to@gmail.com"; //送付するアドレス
//タスク一覧の一行目から順に送信履歴をチェックし、送信履歴が空の行をメールで送付
for(var n=2;n<=RowSheet;n++){ //タスク一覧の件数分繰り返す
if (MySheet.getRange(n,9).getValue()===""){ //送信履歴が空欄の場合メールを送付する
var StrSubject=MySheet.getRange(n,3).getValue(); //タイトルを取得
var StrTask1=MySheet.getRange(n,4).getValue(); //タスク1を取得
var StrTask2=MySheet.getRange(n,5).getValue(); //タスク2を取得
var StrTask3=MySheet.getRange(n,6).getValue(); //タスク3を取得
var StrCom=MySheet.getRange(n,7).getValue(); //コメントを取得
var StrMsg=MySheet.getRange(n,8).getValue(); //メッセージを取得
var StrBody=StrTask1+'\n'+StrTask2+'\n'+StrTask3+'\n'+StrCom+'\n\n'+StrMsg; //本文結合
//メールの送信
GmailApp.sendEmail(
StrTo, //toアドレス
StrSubject, //表題
StrBody, //本文
{
from: StrFrom, //fromアドレス
name: StrSender //差出人
}
);
n=n+RowSheet; //for文を抜ける
MySheet.getRange(n,9).setValue(new Date); //今回送った日付を入れる
};
}
}
---------------------------------------------------
貼り付けたコードの内、下記3か所""の中身を、利用環境に合わせて変更してください。
var StrFrom="from@gmail.com"; //差出メールアドレス
var StrSender="taskmail"; //差出人名
var StrTo="to@gmail.com"; //送付するアドレス
▶の実行ボタンをクリックすると、メールが配信されます。
※メール配信時、初回はGoogleからアクセス許可をポップアップが表示されますので、許可してください※
③②のプログラムをトリガーに登録
メニューの編集→現在のプロジェクトのトリガーをクリック
右下のトリガーを追加ボタンをクリック
→
イベントのソースを選択:時間主導型
時間ベースのトリガーのタイプを選択:日付ベースのタイマー
時刻を選択:午前0時~1時 ※お好きな時間を選択してください※
→保存
以上で完了です。
実際に届くメールはこんな感じです。

個人利用を想定し、平易なコード、各行コメントを入れていますので、自分用にカスタマイズしてご利用ください。
カスタマイズしてこんな感じのメールを毎朝届けています。

参考にしたサイト
Gmailを使ってステップメールをかんたんに発行する方法
登録:
投稿 (Atom)