ラベル aac の投稿を表示しています。 すべての投稿を表示
ラベル aac の投稿を表示しています。 すべての投稿を表示

2018/01/25

ffmpeg on Ubuntu 16.04 LTS server

ラジオ録音用のVPSの Ubuntu を 14.04 LTS から 16.04 LTS にしました。

実は「アップグレードできます」のダイアログはずーっと出ていて、ずーっと無視してきたのですが、いい加減引っ越さないといかんかなと思って、ポチっとOKを押してアップグレードしました。

しかるべきデータはすべて退避して作業を始めたものの、アップグレード自体はさしたるトラブルもなく完了しました。

いくつか問題がありました。


★ gnome-schedule が消えている

これは地味に痛いです。仕方ないから crontab -e してますが、時間できたらソース探してきてビルドすべきなのかと思ったり、ほかのアプリを使おうかと思ったり。

まぁ、大した手間があるわけでもないから、crontab -e に慣れてしまえばいいのかなとも思いますが、何が面倒って記述したコマンドをターミナルでさくっと試行できないのが何とも面倒なんです。

追記:
16.04 LTS に入っていなかった GNOME-schedule は、結局 GNOME-schedule 2 というのをビルドして使っています。日付・時間の表現とか下手に日本語化されちゃって気持ち悪いんですが…。(Feb 07, 2018)


★ 画面が小さくなった

今回は VPS の方も ubuntu-mate にしてみました。デスクトップの最大解像度が 1024x768 になってしまっていて、画面が狭いのです。どうやって広げたんだったか、またちまちま調べなきゃ…。


★ 自前ビルドの ffmpeg が動かない

fdk-aac が扱えるように ffmpeg は先人の足跡を辿って自前ビルドしているのですが、アップグレード後のインストールではこの自前 ffmpeg が共有ライブラリのロードでエラー(libass.so.4, No such file or directory)、といって動いてくれませんでした。


★ ffmpeg が自前ビルドできない

そこで、先人の知恵を頼ってやってみたんですが…

Compile FFmpeg on Ubuntu
(GithubGist)
https://gist.github.com/teocci/f7a438013a0197a91446ee86de41faee

Compile FFmpeg on Ubuntu, Debian, or Mint
(ffmpeg.org の wiki)
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

うまくいかないのです。最後の最後で失敗するんです。同じところで失敗するのです。

必要なデータは退避していたこともあり、アップグレードしたインストールを捨てて、さくらが用意してくれている 16.04 Server をクリーンインストールしてリトライしたけど、やっぱり同じエラーでダメ(ここできちんと記録を残しておくべきでした)。

その日は眠くなって、サーバー閉じて寝てしまいました.。

で、翌日。

どうしたものかと思っていたのですが、ふとローカルで作業することを思い付き(ローカルの方が何かとストレスなくていいかなと思った)、VirtualBox に 16.04 Server を入れてほぼ同じ環境をつくってみました。参照する手順は、本家 ffmpeg.org のウィキ通りにやってみることに。VPS 上では一度失敗しているのですが、初心に帰って。

何の滞りもなくビルド完了。VPS に実行形式をコピーして、無事動作を確認しました。一体何がいけなかったんだろう…という根源的な問いに答えを出す技術がないので、結果オーライで生成された実行形式にスイッチすることにしました。

----------------
Jan 25, 2018


2015/01/30

Ubuntu 14.04 LTS を今ごろ(1)

いやぁ、超久々。LTSメインで使ってるとこうなっちゃうんだなって思います。久々の(リアルPCへの)Ubuntu 導入です。

■ Time flies like an arrow.

Radiko と「らじる☆らじる」の録音に使っている、常時稼働PCは Ubuntu 12.04 LTS を使っていて、そろそろ変えたいと思っていたけど、OSを替えるとなると面倒だしそれなりの時間も掛かるし運用が止まってしまうから、ここまで放ってました。やっと、14.04 LTS 入れます。

この間に、AT40 '80s/'70s を録音するのに世話になっていた CFN Europe が、カナダ政府の予算削減のおかげで休止(事実上の廃止、2014年9月末ごろ?)に。オーディオの中継サーバは VPS に動かしたために、試行錯誤して入れたのに不要になったものがある。その「中継」さえ、radiko プレミアムの登場で不要になった。

ポッドキャストで落として見ていた CBS Evening News は昨年秋にビデオの配信を終了。NBC Nightly News も間もなくビデオ配信から撤退する旨、アナウンスメントが出ました。またひとつ、常時稼働PCの仕事が減ります。

■ 頼れる友、MATE 14.04

一方、Ubuntu はどんどん重くなって、Unity は相変わらず使いにくい。再び GNOME2 ライクになる何かを入れなきゃいけないのかなー、と憂鬱な気持ちになりました。つか、14.04 に果たして GNOME2 ライクにする道は残されているのか、と。

入れる対象のPCはざっと Pentium4(2.53GHz)、メモリ 500MB、HDD は 500GBと150GBくらい(2台)という構成。入っていた Ubuntu は 11.04。今となっては懐かしい STARDigio の録音に使ってたマシンです。古いっちゃぁ古いけど、そうムチャクチャ poor なわけでもない。だから大丈夫だろうと思って普通に 14.04 の日本語リミックス(i386)を入れたんだけど、何かアクション起こす度にジャージャー音を立ててスワッピング起こしてるっぽい。ビデオはUIのエフェクトがコマ送りだし、キー入力も使い物にならない。

これはかなわん、ということで、Xubuntu とか軽量系の導入へ向けて少し調べたところで「MATE」なるものがあることが分かりました。「めいと」じゃなくて「まて」なんですか? ちょっと待て? 最初から GNOME2 派生をうたってるだけに、インストール直後の画面に安心感があります。

Gihyo のページ(http://gihyo.jp/admin/serial/01/ubuntu-recipe/0348)によると、GNOME2 がデフォルトだったのは 10.04 が最後だったんですね。

■ シェルスクリプトなどを移行

日本語リミックスでない Ubuntu を導入するのは、サーバエディションを使わざるを得ない VPS 以来。少しずついろんなものを追加して、日本語リミックスに近づけています。

入れたものを時系列に並べると次の通り。常時稼働PCやVPSのリフレッシュの時に役立てたいなと思って記録するものです。

>> Jan.28
synaptic
gparted
gedit
GIMP
totem
VLGothic, Ume, IPA/IPAex などのフォント

眠くなって時間切れ。

>> Jan.29
ibus-mozc
言語サポート
rtmpdump (2.4+20121230.git)
mplayer (2:1.1)
gnome-mplayer
smplayer
libxml2-utils

主に radiko 関係のアイテムを整備。存外に簡単に再現できました。rtmpdump なども普通に synaptic で入れたもので大丈夫でした。

>> Jan.30
gnome-schedule
fcitx-ibus
ffmpeg

何も考えずに ibus-mozc を入れましたが、確かに「プロパティパネル」がウザい。画面の端になぜ固定できない。非常にウザったい。上記 Gihyo の記事には、fcitx-mozcの組み合わせをお勧めしてあるので、切り替えてみました。取り敢えず「プロパティパネル」が消えてくれてよかった。

そしてらじる関連のアイテム整備。

引っ掛かったのは ffmpeg でして、らじるの録音は ASF の一時ファイルを ffmpeg でm4a とか mp3 に変換してるんですが、そこで引っ掛かってしまうのです。

以前の書き込みをたどると、書いたことを自分ですっかり忘れていたトピックがありました。

★ Ubuntu 14.04 から ffmpeg が消えた
http://qubuntu.blogspot.jp/2014/06/ubuntu-1404-ffmpeg.html

ここからたどることにしました。お世話になっている「Ubuntuアプリのいいところ」のコマンドをそのまま使わせていただきました。

(ここです)
  ↓
★ Ubuntu 14.04にffmpegをインストールしてWinFFに設定する
http://ubuntuapps.blog67.fc2.com/blog-entry-633.html

ffmpeg で見慣れない(しかも意味の分からない)エラーメッセージが出ていました。libfdk_aac + aac_he を指定している時に、「-ac 1」を指定すると文句言われるみたいに見えます。以前から指定しても機能してないなとは思っていたのですが、エラーメッセージに気付かなかっただけなのかな、どうなんだろう。で、動作自体も何か不安定だし、rtmpdumpからパイプでffmpegにつなぐ処理はやめ。「-ac 1」処理もお蔵入りに。

モノラルにするには aac_he じゃなきゃだめ、という記述とかもあったんですがね。

あと、なぜか動かないスクリプトがいくつかあって、原因究明と手直しに若干手間が掛かりました。結局、カレントディレクトリがどうとか、パスがどうとかという原始的な問題だったみたいな感じです。

----
(Jan.30, 2015)


2014/06/03

Ubuntu 14.04 から ffmpeg が消えた

Ubuntu 12.04 LTS では、ffmpeg で .m4a aac のエンコーディングをするのに、先人の敷いたレールに乗ってコンパイルして使ってました。2年経って何をどうしたのかすっかり忘れているくらい、安定して動いてくれていました。

ところが…14.04 では、おそらく2年前に実行した方法で最後(ffmpegの コンパイル)までたどりつけない。困ったなぁと思い、お試し段階だし取り敢えず mp3 でも何でもいいから ffmpeg を、と思って synaptic で調べてみたけど、何も出てこない。不安に思ってググってみたら、14.04 では(とうとうというべきかもしれないけど)公式リポジトリからインストールできなくなったということでした。

さらに調べると、ちゃんと先人がゴールはここだと旗を振ってくれていました。

# Ubuntuアプリのいいところ
# Ubuntu 14.04にffmpegをインストールしてWinFFに設定する
# http://ubuntuapps.blog67.fc2.com/blog-entry-633.html

本当にありがとうございます。こちらを拝見すると、ffmpegがただ使えるようになるばかりでなく、コンパイルしなくてもバージョンもほぼ最新のものを使えるというおまけ付き。早速、敷かれたレールに乗って前に進んでいます。

いま、.m4a で録音してみていますが、結果は上々。コンソールには fdk-aac の文字列も見えます。

しばらく様子を見てみます。

----
(Jun.03, 2014)

2013/06/25

ffmpeg で aacplus を使えるようにする

自分でコンパイルすれば可能なことは分かっていたけど、面倒くさくて放置していた案件。つか、以前に一度、やったはずなのに実行形式がどこかに行っちゃってたもの。

再度ここに、その手順をばメモメモ。


# Compile FFmpeg on Ubuntu, Debian, or Mint
# https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
#
# Compilation & Installation
#
# One advantage to compiling is that you can build ffmpeg to your liking. If
# you do not require certain encoders you may skip the relevant section and
# then remove the appropriate ./configure option in FFmpeg. For example, if
# libopus is not needed, then skip that section and then remove
# --enable-libopus from the Install FFmpeg section.
#
# ここでは HE-AAC を必要とする人が fdk-aac enabled な ffmpeg を
# どうやってコンパイル+インストールするかが紹介されている
#
# ffmpeg コンパイル時に追加指定するライブラリのうち
# libfdk-aac libx264 はこの中でインストール
# libmp3lame libtheora libvorbis はインストール済みという前提
# 上記 URL にはアップデートの方法も示されている

sudo apt-get update
sudo apt-get -y install autoconf automake build-essential git libass-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev
mkdir ~/ffmpeg_sources 
# yasm
# Minimum version is yasm-1.2.0
cd ~/ffmpeg_sources
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
make distclean
. ~/.profile

# H.264
cd ~/ffmpeg_sources
git clone --depth 1 git://git.videolan.org/x264.git
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
make distclean

# fdk-aac
cd ~/ffmpeg_sources
git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean

# ----------------------------------------
# 以下は使わなかった
# これだけならインストールすればよかったか
# ----------------------------------------
#
# LAME
# 通常はコンパイルせずリポジトリから
# 今回はインストール済みだった
#
# sudo apt-get install libmp3lame-dev
#
#
# libopus
# 通常はコンパイルせずリポジトリから
# 不要と判断
#
# sudo apt-get install libopus-dev
#
#
# libvpx
# 通常はコンパイルせずリポジトリから
# 不要と判断
#
# sudo apt-get install libvpx-dev
#
# ----------------------------------------
# ここまで使わなかった
# ----------------------------------------

# ffmpeg
# --enable-libopus removed.
# --enable-libvpx removed.
# それから
# Server users should remove --enable-x11grab from the following 
command:
cd ~/ffmpeg_sources
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-x11grab
make
make install
make distclean
hash -r 
# インストールされたかチェック
# ffmpeg version git-2013-05-18-5918b7a Copyright (c) 2000-2013...
# のように表示されたら成功 
echo "----------------------------------------"
ffmpeg 2>&1 | head -n1
echo "----------------------------------------" 
# うちでは次のような表示になった
#
# $ ffmpeg 2>&1 | head -n1
# ffmpeg version git-2013-06-17-96b33dd Copyright (c) 2000-2013...
#
# 普通にほかのディレクトリでやったら今までと同じだったので
# 探したら(笑) ~/bin に格納されていた
上記のコードはすべてコピペです。当該ブログエントリーから不要なものを省いただけで、中身は特にいじっていません。それにしても、偉大なる先人の偉業に感謝です。

----
(Jun.25, 2013)

楽天モバイルを台湾で使ってみた

GWに、久しぶりに台湾に赴きました。コロナ禍の間に延命していた台湾大哥大と中華電信の回線のうち中華電信の方を失効させてしまい(なぜ中華電信だけ失効したんだろう)、今回の滞在は台湾大哥大と楽天モバイルの2回線で賄うことにしました。テザリングでAndroidスマホ1台とiPad、Ma...