質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

Q&A

解決済

2回答

2262閲覧

フォルダ内にあるファイルを一括操作する

renren643

総合スコア279

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

0グッド

0クリップ

投稿2018/07/14 10:06

フォルダ内にある複数の動画ファイルを一括で圧縮したいです。

movieフォルダに内にあるmovie1.mp4,movie2.mp4,movie3.mp4という動画ファイルをコマンドライン(ターミナル)を通して一括で圧縮することは可能でしょうか?

ffmpegというツールでコマンドラインから操作できることは確認しました。
「ffmpeg -i 圧縮したいファイル名.mp4 -c:v libx264 -c:a aac -s 1280x720 圧縮後のファイル名.mp4」
のコマンドで圧縮可能らしいです。

$pwd User/myname/Desktop/movie $ffmpeg -i movie1.mp4 -c:v libx264 -c:a aac -s 1280x720 movie1_small.mp4

このコマンドの「圧縮したいファイル名」にmovieフォルダ内のファイル名を一つずつ渡し、繰り返し処理することで、可能だとは思うのですが、こういった操作は、どうしたらいいのでしょうか?

コマンドに変数を渡す方法を教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

xargsを使った別解。個人的にはこちらのほうが直感的な感じで好きです。

sh

1cd /User/myname/Desktop/movie 2ls *.mpeg |sed 's/.mpeg$//' | xargs -I@ ffmpeg -i @.mp4 -c:v libx264 -c:a aac -s 1280x720 @_small.mp4

投稿2018/07/14 11:03

KojiDoi

総合スコア13669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

for f in *.mp4;do echo $f;doneみたいな感じで処理出来ます。

Bash

1$pwd 2/User/myname/Desktop/movie 3$for f in *.mp4;do ffmpeg -i $f -c:v libx264 -c:a aac -s 1280x720 ${f/.mp4/}_small.mp4;done

投稿2018/07/14 10:17

編集2018/07/14 10:20
otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

renren643

2018/07/14 11:37

回答ありがとうございます。これってシェルスクリプトですか?
otn

2018/07/14 11:52

シェルスクリプトとは、普通はファイルになった物を言います。 これをファイルにすればスクリプトだし、そのまま打てばコマンドでしょうか。
renren643

2018/07/14 12:24

なるほど。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問