さまざまな音声・動画形式に対応しているマルチメディアコンバータ、及びライブラリ群。 ライセンスはLGPL。c99で書かれており、libavutil、libavformat、libavdevice、libavcodec、libavfilter、libpostproc、libswscaleなどのライブラリを含む。これらのライブラリはmplayer、VLC、ffdshow、avidemuxなどの様々なマルチメディアプログラムで使われている。
mp4 → gif変換※画面は開発中のものです。とか言っとけ定期 前置き 準備 バッチファイル作成 バッチファイルの説明 @echo off set ffmpeg_path="ffmpeg.exe" if "%~1"=="" ( ~~~ ) %ffmpeg_path% -i %~1 ~~~ pause まとめ おまけ 前置き ブログ上でイメージを示したいが、それが動画だったとき。 本来であればvideoタグとか使って動画を埋め込みたいところだが、 はてなブログ君では動画のアップロードが出来なかったりする。多分TwitterやYouTubeに上げた動画を埋め込むのが一番なのだが、 自分はTwit…
みなさん、こんにちは。ソリューション技術部の叶です。 今回は、FFmpeg に関するテックブログをお届けします。 PLAY の開発において、動画ファイルは、とても重要な役割を果たしています。私は日々、FFmpeg で生成した動画ファイルを使い、開発や検証をしています。そこで、今回は、私がよく使用する便利な FFmpeg のコマンドを紹介したいと思います。なお、本記事では Caminandes の動画ファイルを動画素材として使用しています。*1 FFmpeg とは何か? FFmpeg の主な機能 基本的な使い方 解像度の変換 長尺の動画ファイルの生成 コマンドの詳細 現在の再生時間を動画に表示す…
結論 最後の - がポイント。 $ ffmpeg -i FILENAME.mp4 -f ffmetadata - 表示冒頭にでる文言を出したくない場合 上記のコマンドだと、コマンド実行直後に例えば以下のような表示が出ます。 $ ffmpeg -i FILENAME.mp4 -f ffmetadata - ffmpeg version 5.1.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2022 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) confi…
ある日のことでした。いつのもように $ yay -Syyu からインストールしますか?にYesで答えたら おお、アップデートに失敗したぜ。 別々にインストールを試してみたら、どうやらffmpeg周りが良くないようで。 $ yay -S extra/vid.stab Sync Explicit (1): vid.stab 依存関係を解決しています... 衝突するパッケージがないか確認しています... エラー: 処理の準備に失敗しました (依存関係を解決できませんでした) :: vid.stab (1.1.1-1) をインストールすると 'libvidstab.so=1.1-64' が破壊され f…
準備 zsh デフォルトで入ってると思う %echo $SHELL /bin/zsh commnadline tool導入 xcode-select --install ここからdmgを落としてもOKらしい developer.apple.com homebrew導入 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" docs.brew.sh % brew -v Homebrew 4.0.9 ffmpeg導入 brew install ffmpeg …
GitHubのプロフィールにアニメーション画像を載せたいなと思いFFmpegで動画を変換しました。 ブラウザで表示できるアニメーション画像だと次の3種類ぐらいかなと思います。(ほかにもありそうだけど。) アニメーションGIF 3つの中で一番古くから使われているであろうフォーマット。 超シンプルにパラパラ漫画の要領でアニメーションさせる。 アニメーションPNG Mozillaが頑張って普及させようとして頑張ったけど結局普及しなかったフォーマット。 PNGを拡張して作られてるとのこと。 扱ったことないからあんまり知らない。。 アニメーションWebP JpegやPNGよりもファイルサイズが小さくなる…
ヘンな動画があって…要は音ズレなんだが、尺が1時間ちょい。どうも動画部分が元は29.97fpsだったのを30fpsに単純変換して(尺が短くなる)、それを尺はそのままで29.97fpsに変換して、音声は元のままのを使っている。だから終わりの方で音が3秒ほどズレる。 これを修正するには、動画部分を(29.97fps÷1.001≒)29.94fpsに単純変換して尺を延ばす必要がある。 ついでの動画のサイズを3倍に拡大、lanczos + accurate_rnd フィルタをかけたい。 これやるのに、まず XMedia Recode で動画本体と音声部分とを分離。 www.gigafree.net こ…
画像や動画を扱うサービスを開発していると、ダミーのテスト画像や動画が大量に必要になることってありますよね! 巷にはダミー画像を生成するサービスは複数あるのですが、動画の方は見当たりませんでした。 調べてみるとimagemagickで静止画を作成して、それをffmpegで動画にできるようなのでBashスクリプトで作ってみました。 スクリプトの紹介 Generate a dummy video or an image on macOS · GitHub このスクリプトは動画と画像の両方を作成できます。 実際にスクリプトで作成した画像は以下の通りです。キャプションテキストと画像サイズが書き込まれるの…
ffmpeg.wasmについて 以前whisper.cppに関するポストをしたが、whisper.cppへの入力として必要になる16kHzのwavファイル生成を簡単にできないかと考えていた。 shinshin86.hateblo.jp 16kHzへの変換については上のポストでも書いたように ffmege を用いるが、最近wasm周りに興味があるので ffmpeg.wasm 的なものもあるのでは?と思い調べてみたところ、まさにそれがあった。 github.com WebのフロントエンドやNode.jsなどのwasmが利用できるところであれば、これを用いることでffmpegを利用することができるよ…
動画のサイズを圧縮するにせよ、HEVCは汎用性がやや低かったり。 AV1 はどうだろうとffmpegでやってみたら、(8コアのCPUで)十分に実用的な圧縮速度が出るし、画質もHEVCと遜色ない。順次AV1へ移行する見込み。 私が使ってる例: ffmpeg -i input.mp4 -map_metadata 0 -c:v libsvtav1 -qp 44 -c:a copy output.mkv libsvtav1では-qpぐらいしかイジる余地がないらしく、デフォルトは50とのこと。私は40とか36とかにしている。小さければ小さいほど画質は上がりサイズは大きくなる。 AV1はコンテナを選ばない…
いーちゃんから番組表が来たので秋新番のタイマーを入れ始める。今日のところは93番組中の15番組まで。 昼、今日から両親が旅行で居ないのでTAKEの出前に乗っかってマクドでチーズ月見バーガーセットをコカ・コーラで。あと、あんことおもちの月見パイも。今年も旨い。が、後になって今日は出発日で朝は居たから普通に弁当があったことに気付いた(汗)とりあえず、これは晩御飯にしよう…。 先週に引き続き、まるこめさんのNUC7PJYHを録画PCとしてセットアップ。EPGStationの設定をして、FFmpeg等の関連パッケージを一式ビルド。一通り終わったので再起動して動作確認にタイマーを何件か入れておいた。 定…
OBS Studioに関する情報メモを書いてる記事。 ※「OBS Studioに関する個人的メモ」を移転しました。(現在は閲覧不可) 記事投稿日 2021年10月6日、最終投稿更新日 2023年09月24日 16時05分頃 かなり文字数が多いのでブラウザの検索機能をお使いください。 将来的に記事を分けて投稿したいと思っています。(現在作業中) 記事が見にくくて申し訳ありません。 ブラウザ検索ショートカット Windows : Ctrl + F macOS : Command + F この記事は下記環境でテストしています。 Linuxは使っていないのでメモしてません。 特定のデバイスがないと表示…
はじめに無料でできる動画作成をいろいろ試しましたが顔だけを動かすなら現状 SadTalker がベストだと思います。AnimateDiffが話題になっていて更新され続けているのでいずれはそちらがベストになるような気もします。画像を1枚だけ準備する今回用意した画像が1枚だけです。「hadukiMix v1.0」で作成しました。一番左の画像です。そこから「modernDisneyXL_v11」と「osorubeshimerge_v10」のimage2imageで編集して計3枚にしています。 それぞれの画像にSadTalkerを適用させます。無音のmp3ファイルを作成するもともとSadTalkerは…
EXEMODE オーディオキャプチャユニット EVI-ACU1 EXEMODE Amazon ハードオフのジャンクコーナーでUSBキャプチャを見つけたので確保してみました。 スペックとしては320x240~720x480までのサイズでキャプチャできるようです。 Windows10でも動作確認できました。 ただ、ドライバ類はメーカーHPに置いていないので、付属CD-ROMからインストールする以外の方法が無いです。 付属CD-ROMの中のトップにあるsetup.exeを使わずに、ドライバフォルダ内にあるsetup.exeを使ってインストール。無事64ビット版のドライバがインストールされました。 ド…
DVキャプチャ用PCを事務所に再び持ち込んだので昨日持ち込んだミニDVカメラと共にセッティングして、早速昨日持ってきた未キャプチャのミニDVテープの取り込みを開始。 母親が西明石駅のみどりの窓口に行ってるハズだが、念のためにこちらでもインターネット予約で10時打ちチャレンジ。が、混み合ってますと出て再度予約画面に戻ると入力内容が全部消えてたので入力し直してから再度試すと既に満席だった(汗)この間わずか50秒。まあ、そんなもんよね。が、母親は見事に予約に成功したと電話してきた。良かった。 MirakurunのDocker版でのインストールと設定手順はある程度把握出来たので、EPGStationの…
はじめに こんにちは、イノベーションセンターの鈴ヶ嶺です。 普段はクラウドサービスをオンプレミス環境でも同様のUI/UXで使用できるハイブリッドクラウド製品の技術検証をしています。 我々は以下のように過去にAWSのサーバ型ハイブリッドクラウドの解説や実施検証などを行ってきました。 engineers.ntt.com engineers.ntt.com このたび、新たにAWS Graviton2搭載のOutposts Serverを導入しさまざまな検証を進めています。 本記事では、AWS Graviton2搭載のOutposts ServerとIntel Xeon搭載のOutposts Serv…
AWSでCentOS7で立てていたSubsonicサーバを、Debian12でNavidromeと mountpoint-s3 s3fsに置き換えたときの作業ログです。 EC2インスタンスには特定のS3バケットにアクセスできる以下のような権限のロールをつけます。セキュリティグループは80、443、SSHポートを開けておきます。(SSHは自分のIPだけを許可しておくと良いでしょう) { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::your-s3-bucket…
OBS Studioに搭載されているNVENCに関しての記事 ※内容は「OBSのNVENCについて」を移転しました。 記事投稿日 2021年09月28日、最終投稿更新日 2023年09月17日 20時15分頃
監視カメラの録画ファイルは 5分の動画が12個x無限に生成される感じになっている。 監視カメラのONVIF機能、QNAPのSurveillance録画するやつで録画されるが、これをエンコードしたい (本当はそのままの録画ファイルをpython処理できたらよかったが、なぜかできない) ffmpegではなぜかエンコードできなかったのでHandBrakeでエンコードする。 実践 #!/bin/bash FILENAME=./enc_mp4/${1%.*}.mp4 CMD="HandBrakeCLI --input $1 --x264-preset fast -f mp4 -o $FILENAME" …
NUCはDebian 12標準パッケージのNode.js v18だとMirakurunが上手く動作していないように見受けられたので、あらためてインストールし直し。今回はnodesource公式パッケージを使ってみた。しかし、同様に上手く動作してない気がする。これはGR/BS/CSとSKYで同じチャンネルがある影響か、それともSKYでトラモジのTS解析が上手く行ってないのか(汗) HeroBoxはMySQL設定時のDBリストアでcheck dbが出続けて上手く動作しない件がDBのホスト名にlocalhostを指定してたのが原因と分かったので127.0.0.1に書き換えて無事に動作することを確認。…
こんにちは。クラウド推進技術部の山田です。 昨今、動画配信は、生活の一部になるほど身近になっています。 YouTubeの動画、ストリーミングサービスの映画、SNSの投稿動画、Webサイトの動画広告など、ブロードバンドやスマホが普及し、今や外で動画を見ることも当たり前の世の中です。 では、実際に配信したい場合はどうでしょう? こちらも、エコシステム化が進んだことで、配信のハードルは下がり、スマホさえあれば、対応サービスで簡単に誰でも動画配信ができてしまう時代になりました。深い知識がなくても利用できることは喜ばしいことです。 しかし、その何気なく見ている動画や利用しているサービスは、裏側に複雑な技…
はじめに 前回は、QGIS上で全球の地上気温変化アニメーションを作成しました。 cci-labo.hateblo.jp ただやはり、本物の地球を観察しているような視点で描きたい! ということで(画面上で)回る地球儀にデータを貼り付けてアニメーションを作ってみます。 温度変化マップの作成 前回作成した年平均気温の変化データからcartpyを用いて正距円筒図法のマップを作成します。 # ライブラリのインポート import os import pandas as pd import xarray as xr import matplotlib.pyplot as plt import cartop…
今日もミニDVテープのキャプチャ作業。 HeroBoxはWindows Updateも一通り終わったのか動作が落ち着いていたのでシャットダウン。BIOSからDebianを優先起動に設定して起動。録画PCとしてセットアップを順次進めていく。各チューナードライバと録画コマンド入れて、Mirakurun入ってQSV対応FFmpegビルドの途中で本日は終了。 お昼にまるこめさんが来訪。早速、TAKEに聞いてワイヤーラックの回収作業を開始。エアコンの効かない3階で荷物を倉庫番のように汗だくで組み替えながら何とかワイヤーラックの支柱やキャスターが置いてあるトコに辿り着いて無事回収。 棚板はサーバーラック前…
OpenPose続き。 nokixa.hatenablog.com 今回は内容だらだら長め。 やっておきたいこと 使うデータ ほかにも お台場ガンダム はにわ ディズニーランドのくまさん 初音ミクさん カッチカチのひと ポケモン 兵長イラスト 小ネタ : Bingチャットでバッチファイルのコード生成 ffmpegでまとめてできないか? Bingチャットに聞いてみる OpenPose実行 ガンプラ お台場ガンダム はにわ ディズニーランドのくまさん 初音ミクさん カッチカチのひと ポケモン 兵長イラスト 処理時間について 解像度ごとの違い 出力形式による違い 入力解像度への依存性 今までの画像デ…