エントリー

2012年10月の記事は以下のとおりです。

ubuntu用segmenterの作成

参考:

https://github.com/carsonmcdonald/HTTP-Live-Video-Stream-Segmenter-and-Distributor/wiki/Install-on-Ubuntu-10.10

(追加:こちらが最適)
http://blog.kyri0s.org/post/1406637341/free-live-video-streaming-with-http-live-streaming

(追記:2012.10.10)
segmenter(http://svn.assembla.com/svn/legend/segmenter/ から取得、バージョン?)について
・ffmpegのモジュールを利用していて最新のffmpegではインタフェースの相違がある
・旧ffmpeg(2009-12-02)のモジュールを使用することによりmakeは可能
・makeできてもffmpeg以外のライブラリとの整合性もあるのか結果動作不安定

よって最新のffmpegのインタフェースに合わせるよう修正してみる

●OS: Ubuntu 10.04.4 LTS

●ffmpeg: version N-45221-g25f44b0
(以下作成)
参考:https://wiki.ubuntulinux.jp/UbuntuTips/Application/HowToInstallAndUseLatestFFmpegAndX264


ffmpeg version N-45221-g25f44b0 Copyright (c) 2000-2012 the FFmpeg developers
built on Oct 10 2012 17:10:42 with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-x11grab --enable-libmp3lame --enable-libvpx
libavutil 51. 74.100 / 51. 74.100
libavcodec 54. 65.100 / 54. 65.100
libavformat 54. 31.100 / 54. 31.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 19.102 / 3. 19.102
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 16.100 / 0. 16.100
libpostproc 52. 1.100 / 52. 1.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

●segmenter: http://svn.assembla.com/svn/legend/segmenter/
(変更箇所)


28c28
< output_stream = av_new_stream(output_format_context, 0);
---
> output_stream = avformat_new_stream(output_format_context, 0);
53c53
< case CODEC_TYPE_AUDIO:
---
> case AVMEDIA_TYPE_AUDIO:
65c65
< case CODEC_TYPE_VIDEO:
---
> case AVMEDIA_TYPE_VIDEO:
231c231
< ret = av_open_input_file(&ic, input, ifmt, 0, NULL);
---
> ret = avformat_open_input(&ic, input, ifmt, NULL);
237c237
< if (av_find_stream_info(ic) < 0) {
---
> if (avformat_find_stream_info(ic, NULL) < 0) {
242c242
< ofmt = guess_format("mpegts", NULL, NULL);
---
> ofmt = av_guess_format("mpegts", NULL, NULL);
260c260
< case CODEC_TYPE_VIDEO:
---
> case AVMEDIA_TYPE_VIDEO:
265c265
< case CODEC_TYPE_AUDIO:
---
> case AVMEDIA_TYPE_AUDIO:
276,279c276,279
< if (av_set_parameters(oc, NULL) < 0) {
< fprintf(stderr, "Invalid output format parameters ");
< exit(1);
< }
---
> // if (av_set_parameters(oc, NULL) < 0) {
> // fprintf(stderr, "Invalid output format parameters ");
> // exit(1);
> // }
281c281
< dump_format(oc, 0, output_prefix, 1);
---
> av_dump_format(oc, 0, output_prefix, 1);
288c288
< if (avcodec_open(video_st->codec, codec) < 0) {
---
> if (avcodec_open2(video_st->codec, codec, NULL) < 0) {
293c293
< if (url_fopen(&oc->pb, output_filename, URL_WRONLY) < 0) {
---
> if (avio_open(&oc->pb, output_filename, AVIO_FLAG_WRITE) < 0) {
298c298
< if (av_write_header(oc)) {
---
> if (avformat_write_header(oc, NULL)) {
320c320
< if (packet.stream_index == video_index && (packet.flags & PKT_FLAG_KEY)) {
---
> if (packet.stream_index == video_index && (packet.flags & AV_PKT_FLAG_KEY)) {
331,332c331,332
< put_flush_packet(oc->pb);
< url_fclose(oc->pb);
---
> avio_flush(oc->pb);
> avio_close(oc->pb);
352c352
< if (url_fopen(&oc->pb, output_filename, URL_WRONLY) < 0) {
---
> if (avio_open(&oc->pb, output_filename, AVIO_FLAG_WRITE) < 0) {
382c382
< url_fclose(oc->pb);
---
> avio_close(oc->pb);

(makefile:ldは基本的にffmpegに合わせればよい)


all: segmenter
gcc -Wall -g segmenter.c -o segmenter
-I/usr/local/inlcude -L/usr/local/lib
-lavformat -lavcodec -lavutil
-lfaac -lmp3lame -lx264 -lvpx
-lxvidcore -lvorbisenc -ltheoraenc -ltheoradec
-lopencore-amrwb -lopencore-amrnb
-lm -lbz2 -lz

clean:
rm segmenter

install: segmenter
cp segmenter /usr/local/bin/

uninstall:
rm /usr/local/bin/segmenter

●動作確認
・完全な検証が困難なんでx86版での結果とサイズを比べてみたら問題なさそう
・vlcで再生できたし、なんとか動作しているように思える
・tsファイルの分割は一時的な物なので視聴できているので一応OK

(更に追記:2012.10.10)
M3U8 segmenter is an Apple HTTP Live Segmenter というのを発見
http://m3u8-segmenter.inodes.org/

ソースを取ってきて最新ffmpegでmakeしてみた
異常?メッセージが出ているが正常に終了しているようだ

尚、オプションスイッチが変更されているので利用時は注意


Usage: m3u8-sementer [OPTION]...

HTTP Live Streaming - Segments TS file and creates M3U8 index.
-i, --input FILE TS file to segment (Use - for stdin)
-d, --duration SECONDS Duration of each segment (default: 10 seconds)
-p, --output-prefix PREFIX Prefix for the TS segments, will be appended
with -1.ts, -2.ts etc
-m, --m3u8-file FILE M3U8 output filename
-u, --url-prefix PREFIX Prefix for web address of segments, e.g. http://example.org/video/
-n, --num-segment NUMBER Number of segments to keep on disk
-h, --help This help

こちらのほうが安心して使えるかな?

とりあえず、終了

iBook G4 のUbuntuアップデート

ファイル 179-1.png

コミックなどの読み物やインターネット閲覧等、iPod touchに取って変わってしまい(途中Androidタブレットを使っていたが壊れた)、ターミナルぐらいで利用してなかったiBookG4を久々にOSアップデートしてみることにしたら・・・

ファイル 179-2.png

な!なんとUbuntu 12.04にアップグレードできるでないかい!見捨てられてなかったのねPowerPC^^

ということで、バックアップなど行いアップグレードしてみることに

ファイル 179-3.png

ポチッとな

to be continued

iPod touch4 を 初期化

iPod touch4が不安定なので、初期化(工場出荷状態)にしてみることにした

本体だけでもできるようだが、復元も行うし安全性の面からもiTunesで行うことにする

復元のために事前にやることは以下の2つ(全同期してるなら必要ないかも)
・購入したアプリの適用
・iPodのバックアップ

拙者はアプリの同期を行っていないので、上記を実施して復元ボタンを押した

(このあたりのやり方はググってみてください)

しばらく置いていて・・・復元時にボタンを押してまた置いておく・・・終了

アプリの同期を行っていなかったので画面上の配置が食い違うがこれはしかたない

iTunesでアプリの配置を整えて同期して完了

設定なども復元され(厳密には通知が復元されてなかった)元通りになる

少しだけ使用してみて設定で落ちることが増えたようだが他のアプリなどが良くなった感じがした

しばらく様子を見ることにする

iPod touch4 を iOS6にしたら酷いことに・・・

9/25にiPod touch4(以下iPod4)画面にiOS6へアップするかの画面が出た

iOS5の時は慎重に考えてアップしたがなんら問題が発生しなかったので今回はためらいもなくiOS6にしてしまった

その後、アプリはどれもこれも使用中に落ちまくり(診断を見るとどうやらメモリ不足)

さらに最悪なのは、AppStoreで表示対象が多いと速攻で落ち、インストールどころか参照することもできない

設定画面もさくっと落ちる場合があるし、もうどうにもならないiPod4になってしまった

酷いものである・・・

なにも考えずにiOS6にしてしまったのでiOS5に戻すこともできず、他の人の状況はどうなのかググッてみてもMAPがどうのこうのってぐらいで良くなったの評価しかない(拙者はMAPなんかどうでもいいのだが)

iPod4に持ってきたビデオは鑑賞できるから、そのくらいは使えるが、HTTP Live Streaming(ビデオの件は別途投稿予定)での視聴は途中で停止しその後は動作しなくなる

iOS6が悪いのかiPod4では性能上無理なのか不明だけど、まともに使えないのならアップの告知は無くしてもらいたかった

良く使う機能でiOS6後の状況
△設定
○写真
○カメラ(撮影のみ)
○ブラウジング(Safari)
×画像検索
×カメラ(画像編集あり)
○ビデオ
×ストリーミング映像
△ブラウザゲーム
×コミック
(○:変化なし・△:稀に落ちる・×:使用に耐えられない)

尚、操作の改良や追加で便利になっていることは付け加えておく

ページ移動

  • ページ
  • 1
  • 2
  • 3

ユーティリティ

検索

エントリー検索フォーム
キーワード

新着エントリ

新着コメント

過去ログ

Feed