ffmpeg を使って sftp アップロード

2.0 バージョンから ftp アップロードが可能になった ffmpeg だが、2.1 バージョンから libssh を用いて SFTP プロトコルにも対応した。利用可能なファイルは ffmpeg で扱えるファイルに限る。

一般的に配布してある ffmpeg には libssh はインストールされていないので自らビルドする必要がある。

公式サイト:Download at libssh - The SSH Library!
Windows の MSYS で構築している場合は、Windows の libssh-0.7.1-msvc.zip をダウンロードして、mingw 以下に解凍する。

ffmpeg の configure には --enable-libssh を付ける。しかしできあがった ffmpeg はそのままでは実行できず、ssh.dll(libssh-0.7.1-msvc.zip)と、zlib1.dll の3つが必要である。zlib1.dll は 公式サイト のバイナリだとうまく接続できなかったので、汎用アップローダー の DLLまとめを利用した。

filename.filetype でアップロードする
ffmpeg -i infile -c copy sftp://ID:Pass@host:22/path/filename.filetype

filename.filetype をダウンロードする
ffmpeg -i sftp://ID:Pass@host:22/path/filename.filetype -c copy outfile

関連記事


ffmpeg を使って ftp アップロード
FFmpeg Protocols Documentation : libssh

音声をオクターヴ表示する showcqt の使い方

入力した音声を E0 から D#10 (10 オクターヴ) までの映像に変換する。出力フォーマットは yuv420p。

ffmpeg_showcqt_sample_1.jpg

>>続きを読む

【ffmpeg】動画・音声を連結する concat の使い方 其の3

前回記事は無劣化で連結する方法を紹介したがコンテナフォーマットが限られていた。今回紹介する方法は同じ解像度や fps など同じエンコード形式ならば多くのコンテナフォーマットで連結ができる。

【ffmpeg】動画・音声を連結する concat の使い方 其の2

追記 2016年4月3日
Unsafe file name というエラーが出るので safe オプションを足した。
FFmpeg Formats Documentation :: concat < Syntax < Options
[FFmpeg-user] FFMeg Concat giving "unsafe file name" error on new server install
FFmpeg-users - protocol CONCAT has broken In last versions

基本コマンド
ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4

このコマンドは入力ファイルをテキスト形式で読み込んでそれを上から順番に連結する方法である。

input.txt の内容
file E:/video/test1.mp4
file E:/video/test2.mp4
# ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4
# test1.mp4, test2.mp4 の順番に連結

# 行は実行されないコメント扱いになる。
注意点はフルパスを指定するときに \ ではなく / で指定すること。

>>続きを読む

ローカルネットワーク内で映像や音声を配信できる FFTsServer

FFTsServer は Java で作られた、http のローカル配信環境を手軽に構築できるアプリケーションである。配信形式は MPEG-TS に限られる。

FFTsServer の配布先:Releases · niwakazoider/peercaststation · GitHub

コマンドプロンプトから起動する。
java -jar FFTsServer.jar 8080

解凍した FFTsServer.bat を FFTsServer.jar と同じフォルダ内に移動してダブルクリックで起動できる
バッチファイルの配布先:Dropbox - FFTsServer.zip

これで出力先に http://localhost:8080 とファイル名で配信できるようになり、ローカルネットワークで受信するには http://localhost:8080 とファイル名を指定することでデータを受信できる。

>>続きを読む

ffmpeg 単体で画面キャプチャができる gdigrab

linux で言うところの x11grab が windows でも使えるようになった。

gdigrab でできること
  • 全画面取り込み
  • 取り込み解像度指定とオフセット指定
  • アプリケーション取り込み(制限多い)
  • マウス非表示、表示
  • フレームレート指定
  • 取り込み位置表示

>>続きを読む

Twitch 配信中のデータのダウンロードの仕方

今までは 生放送中の JustinTV (TwitchTV) の録画方法 で録画・保存できたが、配信形式が rtmp から http に変更されたので、rtmpdump では保存できなくなり、ffmpeg で保存できるようになった。

ffmpeg を簡単に使って保存するツールがまだ無いので手動でコマンドを調べてコマンドプロンプトから実行することになる。これは Ustream と同じ保存方法で、世界の配信サイトは rtmp から http に変わりつつある。そして、Flash のバージョンが 10.3.x バージョンを使っていると再生できないのでアップデートする必要がある。

現在(2014年5月以降)はこの方法が一番手軽。
Twitch, Ustream, Youtube に対応した livestreamer の使い方

>>続きを読む

comskip から ffmpeg で自動カットするバッチファイル

前回記事 Comskip で MPEG2-TS の CM を自動検出して ffmpeg でカットする は手動で時間を引き算したりして処理するのが面倒くさかったので、comskip で出力した .vdr ファイルのログから ffmpeg でカットから連結までを自動化したバッチファイル。

  • ほとんどの場合で標準入力していないので一時ファイルが出力される。
  • ffmpeg はカットした一時ファイルを標準入力で取り込めないので元動画を含めて3倍の容量が必要。
  • 対象となる動画は30分の動画。60秒以外のCM時間はバッチファイルを書き換えることで変更可能。
  • 一時ファイルは削除していないので不要なら削除コマンドを最後に追加する。

>>続きを読む

ffmpeg で OpenGL の表示が可能に

ffmpeg の OpenGL はこんなことができる

  • ffplay(sdl)で表示される色は圧縮レンジだが、opengl はフルレンジなので色の確認がしやすい
  • ffmpeg でレイアウトしたのを NLE , OBS, XSplit などで表示できる
  • NLE は 32bit ffmpeg しか読み込めない
  • OBS は 32bit, 64bit どちらも 32bit ffmpeg, 64bit ffmpeg  を読み込める
  • OBS は多重起動した opengl を区別して読み込めない
  • Dxtory, Xsplit は多重起動した opengl を区別して読み込める
  • ffmpeg から別の ffmpeg には渡せない
  • Dxtory は一瞬読み込めるだけで直ぐに映像が途切れる 途切れなくなってた 2015年1月30日追記
  • OpenGL が読み込むのは映像だけなので映像と音声が一致する映像を使う場合は音声の誤差を予め考慮する必要がある(0.02秒くらい)
  • 技術的には OBS の映像を OpenGL で出力して NLE 等で読み込ませることも可能になる
    これは OBS-MP で実現した。

ffmpeg の configure には、予め SDL をインストールする必要があり、ffplay をビルド出来る環境まで終えてから、ffmpeg の configure オプションに --enable-opengl を付ければ OpenGL 出力のできる ffmpeg が完成。再生させるときの注意点に入力ファイルのパス指定で日本語が含まれると読み込めないエラーになる。

動画再生コマンド
ffmpeg -re -i video -f opengl -

画像再生コマンド
ffmpeg -re -loop 1 -i img -vf fps=1 -vframes 100000 -pix_fmt rgb24 -f opengl -

画面左上にタイトルを付ける場合は "" で囲うとそれがタイトルになる。この場合はパイプ出力させない
ffmpeg -re -i video -f opengl "動画タイトル"

XSplit や Dxtory は動画タイトルを分けることで読み込み対象を区別しやすくできる。

入手先:FFmpegダウンロード お気に入りの動画を携帯で見よう 最新版を保存する。

実行には cmd.bat を実行し、入力ファイルのフルパスを指定する。

>>続きを読む

| NEXT≫

ニコニコチャンネル始めました
ニコラボチャンネル
スポンサード リンク
Amazon はこちらから
新着記事と追記・編集記事
スポンサード リンク
ブログ内検索
プロフィール

Author:ロベルト
お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab
ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

カテゴリ
アクセスの多い記事
記事アーカイブ

最新コメント
リンク
ニコニコ静画
アニメカテゴリ毎時ランキング
免責事項
当ブログはリンクフリーです。記事によりトラブルが生じた場合でも、当ブログ管理人は一切の責任を負いません。 当ブログに記載されている情報の正誤や利用は、ご自身の判断でお願いします。 紹介したアプリケーションに関する問い合わせは作者に問い合わせてください。ニコニコ動画に関する質問はまずは公式掲示板、2ch、各Q&Aサイトを参照ください。
ブログの読者になる(RSS)
アクセス数