エンコードソフト ffmpeg のスレ
公式サイト
http://ffmpeg.org/
どうもこれでエンコードしたら、ファイルサイズがでかくなるんだがorz >>384
いや、ビットレートではなく、元ファイルと同じビットレートやサンプリングレートを自動で判別して、同じにするということは不可能ですか?
これでダメだったら、すっぱりと諦めます >>386
ffmpeg とか mplayer とか、mediainfo とかで、コンテナの情報を取得してから、
ffmpeg に渡せば、自動判別っぽくできるけど…。
まぁ、自分でできそうになさそうであれば、諦めてくださいな。 サンプルをたよりに ffmpeg をコンパイルしています。
./configure で、
Unknown option "--enable-libfaad"
Unknown option "--enable-libogg" となります。
どうも ./configure --help で確認したところ、このふたつのオプションは元からないようです。
libfaad2 と libogg を使いたいのですが、どうすればいいでしょうか。
それと libtheora と libvorbis で OGG 吐けるから、libogg はいらないのでしょうか。
そのサンプルでは libvpx_vp8 の指定もあったのですが libvpx しか見つかりませんでした。
WebM も作りたいので何かアドバイスがもらえると助かります ソースに全部書いてあると思うよ。
ソースは誰のアドバイスよりも正確。 >>387
ffmpeg独自のAACデコーダがHE-AACのデコードに対応したことにより
libfaad2のサポートはもはや不要と判断され削除された
どうしてもfaadを使いたければ、svnのログなりたどって、サポートしてたころのものを使え
liboggはffmpeg自体には関係ないが、libvorbisとlibtheoraのビルドに必要
それとtheora+vorbisのoggを作りたいなら、ffmpegよりもffmpeg2theoraを使ったほうがいい
あと、どのサンプルを見てるのか知らんけど、最新のffmpegのconfigureには
--enable-libvpx_vp8なんていうのはない
--enable-libvpx --disable-decoder=libvpxとすればいい
libvpxよりもffmpeg独自のデコーダのほうが性能がいいから、libvpxのデコード機能は今は無用 >>388-389
ありがとうございます
>>388
いっぱいいっぱいですが、がんばります
>>389
>liboggはffmpeg自体には関係ないが、libvorbisとlibtheoraのビルドに必要
libogg は必要。
自分のしたいことに何が必要で不必要か、もっと勉強してきます
>それとtheora+vorbisのoggを作りたいなら、ffmpegよりもffmpeg2theoraを使ったほうがいい
ffmpeg2theora というのは知らなかったのですが、興味があるのでこれから調べてみます > それとtheora+vorbisのoggを作りたいなら、ffmpegよりもffmpeg2theoraを使ったほうがいい
ffmpeg で作ると期待した結果にならなかったのでffmpeg2theora 使ってるんだけど確かにそうなんだよね ffmpeg 0.6のAACデコーダではエラーが出てデコード出来ない事が少なからずあるんだが
faad2落とすならもっとバグが取れてからにしてほしいな 374じゃないけど、
作成する動画に文字を追加する方法ってあるんですか?
よく、SAMPLEとか入ってるような動画ありますけど。
winffでflvをmp4に変換するにはどうすればいい?
メニューにmp4がないんです。 >>395
winff なんか使うな。そういうことだ。
flvをいったんy4mとwavにして、それをx264とneroAacEncにかけ、MP4Boxで固める
これが正しい手順 ffmpeg なのですが、謎のエラーが出て処理が進みません。
こんなかんじです
frame=193113 fps=1079 q=-1.0 size= 3936671kB time=8054.42 bitrate=4003.9kbits/s
frame=194077 fps=1082 q=-1.0 size= 3944779kB time=8094.63 bitrate=3992.2kbits/s
frame=195640 fps=1087 q=-1.0 Lsize= 3956748kB time=8159.82 bitrate=3972.4kbits/s
video:3507227kB audio:446241kB global headers:0kB muxing overhead 0.082959%
m2ts から mkv にコンテナを入れ替えたいだけなのですが、必ず同じところで止まってしまいます。
これいったいどうしてなのでしょうか?
ffmpeg -i /Users/Apple/Desktop/Untitled.m2ts -vcodec copy -acodec copy Untitled.mkv ffmpegはm2tsもmkvも扱いが下手糞だから
そういうのはwine+eac3toが基本 >>395
FLVつっても色々あるからな
(H264+AAC).FLVならコンテナ置きかえるだけ
FLV1なら、FLV Lossless Converterで映像はロスレスでMPEG4にトランスコードできる
VP6の場合は再エンコしかねえな
>>399
tsMuxeRでdemuxして、mkvmergeで結合とか >>405
マジ!? 俺のググり方が甘いのか、ffmpegはCUDA対応予定なし、というのしか見つからんかった。
よければURL恵んでください。 >>406
GPUドライバ + libva + libx264の新しめの + ffmpeg(というかffmpeg経由でlibx264使えば何でも)
で出来る >>407
それって、動画再生支援(VDPAU)で動画再生、ではなくて、エンコードですか?
ここでlibvaとVA-APIのVDPAUバックエンドを見つけたのですが、
Splitted-desktop systems
http://www.splitted-desktop.com/~gbeauchesne/
VDPAUは再生支援専用だし、どうもCUDAでエンコードするものではないような… 0.6.1ってSVNのリビジョンだといくつなんだろ?と思ってログみてたら、
>r25518 | stefano | 2010-10-18 22:34:46 +0900 (月, 18 10月 2010) | 3 lines
>
>Remove -crop* options.
>
>Users are required to use the libavfilter crop filter.
ちょ、TOKYO MXのドラゴンボールZで余白削るのに使ってるんですけど
ググってlibavfilterの使い方は分かったけど、同等機能があるならオプションそのままで移行してよ。。。
あとついでに
>>373
>r23050 | michael | 2010-05-07 21:16:23 +0900 (金, 07 5月 2010) | 3 lines
>
>Remove messy pading hack in ffmpeg.c.
>Use avfilters if you want padding!
オプションそのままとかやってると、新しく使い始める人間には混乱の元になるだけだからな
むしろ、すっぱり切ったほうがいいと思うよ libavfilterってイネーブルされてない事も多いのに困るわあ 全体的に暗い動画をマトリクスとか使えない環境で変換するのに
悪あがきで-chromaoffsetを+4〜6することで若干の改善を図りたいんですが
-i_qoffsetと-b_qoffsetは体感的に色が薄まるケースでは基本的に増やすのと減らすのとでは
どちらがなるだけ色を落とさずにすむでしょうか? FullHDネットワークカメラ(防犯カメラ目的)をVGAで
常時録画してるのだが、ガレージに止めてたバイクがパクられ
防犯カメラを確認したが、解像度が悪くていまいちわからなく泣き寝入り状態orz
FullHD対応のカメラにも関わらず、VGAで録画してる理由っていうのが
H264でFullHDで録画すると処理速度が間に合わないという理由なんですが
PCIやPCIeが余ってるので、そこを利用して処理を早くしたりする方法とかないんでしょうか? >>416
カメラ設置しててもパクられるってことは、けっこう値が張るバイクなんだろうね。
しかしVGAで解像度いまいちなのか。
思うに、プロの窃盗犯だったらカメラ設置してても覆面してきそうだから
あまり効果は見込めないような気がするなぁ。ガキのイタズラとかだったらまだしも。 >>416
ガレージのすぐそばにカメラ設置すればいいんでないの? >>417
>>418
今回、実際に取られてわかったのですが
作業着の服とかに何か文字が書いてるのですがそれから手がかりを探そうとしてくれた警察なのですが
何と書いてるか不鮮明でわからないんです。
せっかく、HD画質の動画なのでHDで録画するぞーと思ってるんですが・・・
バイクは150万ぐらいのやつでしたorz
次は、また車上荒らしにあうのではないかと警戒しています。
最近、近所でも物凄く多いんです。 たとえfullHDでも5fpsくらいなら問題はないんじゃない? >>419
>>420でいけそうなんじゃないかと思いつつ、
囮のバイクとか用意して犯人おびき寄せて、早いとこ捕まえちゃいなよ。
早く捕まえれれば、その150万するバイクもきれいに戻ってくるかもしれん。 >>420
カメラの設定が20/30fpsしか設定出来ないんですよね・・・
5fpsなら再圧縮に余計時間がかかるんで・・・何かいい方法ないですかね? >>416
カメラの動画形式は MPEG2 で出せる?
IピクチャからJPEG作るようにすれば、2ファイル(フレーム)/秒ぐらいになるぞ。 >>419
画質以前に設置の仕方が悪いんじゃないか
ネットワークカメラならそこで壊されても動画自体はPCに残るんだから
バイクを盗むにもカメラに近づくにも必ず映る場所に設置してれば
画質なんかそれほど問題にならないんでは たまに見かける-hurry upオプションて何の効果があるんでしょうか? 音声AACのAVIでエラーが出ます。
libfaac.dllを入れても変わりません。
どうしたらいいでしょうか?
Stream #0.1: Audio: [6][161][0][0] / 0xA106, 48000 Hz, 2 channels, 128 kb/s
[mp4 @ 01cb0050] track 1: could not find tag, codec not currently supported in c
ontainer その動画ファイルがおかしいんじゃね
ffprobeの結果を見てみたら?
AVIにH.264とAACを突っ込むとこうなるはず
Input #0, avi, from 'test.avi':
Metadata:
ISFT : Lavf52.64.2
Duration: 00:00:11.60, start: 0.000000, bitrate: 1727 kb/s
Stream #0.0: Video: h264, yuv420p, 640x360, 25 fps, 25 tbr, 25 tbn, 50 tbc
Stream #0.1: Audio: aac, 48000 Hz, stereo, s16, 122 kb/s >>428
やはり同じです。
-atag オプション等で修正できないでしょうか?
Metadata:
encoder : Cobra 11.6.0.50930
Duration: 00:06:45.90, start: 0.000000, bitrate: 4100 kb/s
Stream #0.0: Video: h264, yuvj420p, 720x480 [PAR 40:33 DAR 20:11], 29.97 fps
, 29.97 tbr, 29.97 tbn, 59.94 tbc
Stream #0.1: Audio: [6][161][0][0] / 0xA106, 48000 Hz, 2 channels, 128 kb/s
Unsupported codec (id=0) for input stream 1 >>429
やってみた
$ ffmpeg -i org.avi -acodec copy -vcodec copy -atag 0xa106 bad.avi
$ ffprobe bad.avi
Input #0, avi, from 'bad.avi':
Metadata:
ISFT : Lavf52.64.2
Duration: 00:00:11.60, start: 0.000000, bitrate: 1727 kb/s
Stream #0.0: Video: h264, yuv420p, 640x360, 25 fps, 25 tbr, 25 tbn, 50 tbc
Stream #0.1: Audio: 0xa106, 48000 Hz, 2 channels, 122 kb/s
Unsupported codec (id=0) for input stream 1
$ ffmpeg -i bad.avi -acodec copy -vcodec copy -atag 0xff good.avi
$ ffprobe good.avi
Input #0, avi, from 'good.avi':
Metadata:
ISFT : Lavf52.64.2
Duration: 00:00:11.52, start: 0.000000, bitrate: 1740 kb/s
Stream #0.0: Video: h264, yuv420p, 640x360, 25 fps, 25 tbr, 25 tbn, 50 tbc
Stream #0.1: Audio: aac, 48000 Hz, stereo, s16, 122 kb/s
$
>>430
やはり受け付けて貰えません。
0xA106の前の[6][161][0][0]が悪さをしてるんでしょうか。 [6][161][0][0]は0x0000a106を1バイトずつ表示したものだから関係ないと思う
ffmpegのバージョンが関係しているか、または音声ストリームそのものが壊れているか
何かやった時に同じような症状になったようなかすかな記憶はあるんだけど >>432
AVIをバイナリエディタで開いたところ、
vidsH264
audsの後は空白でした。
ここを書き換えてどうにかならないでしょうか? >>433
auds空白は再構築しようとして失敗したファイルでした。
すみません。 バイナリエディタで06 a1を検索してff 00に書き換えてみました。
音は出るようになりましたがffmpegに食わせると物凄い数のエラーが出ます。
どうもストリーム自体壊れているようです。 映像の右側を6px、左側を9pxが黒い帯になってるのだが
それをffmpegで切り取る事って可能なのでしょうか?
また、コマンドが分かりましたら教えてください。 >>436
たぶん
r25518未満
-cropright 6 -cropleft 9
r25518以降
-vf "6:0:width-15:height"
width,heightは動画ファイルの画面サイズ。ffmpeg -iで確認 ffmpegって下に文字を入れたりするのって出来なかったっけ?
確か可能だったはずなのだが、探しても見つからん。 >>438
そんな機能は無い
普通に編集するソフトを使え
Working with subtitles (create, edit, embed) in Linux
ttp://www.dedoimedo.com/computers/linux-subtitles.html >>439
ライブカメラの動画をいつもffmpegで読み込みさせて
1分毎にjpgで保存させているのですが、右下に時刻とか表示させたいなぁと思ってるんですけど。。。 その手の質問は本家のMLでも良く出るけど答えはffmpeg-socを使え。だったかな。 >>440
静止画だけだったらffmpeg 使わないでもっと軽いのでいいんでないかな+Imagemagick
昔はwebcam ってsoft が1分おきに画像取得,文字入れ,sftp アップロードまでやってくれてた http://blog.cheki.net/archives/1571
を参考にさせて頂きffmpegをインストールしているのですが、ffmpegのmakeのところで
libavcodec/x86/vc1dsp_yasm.asm:329: error: operation size not specified
make: *** [libavcodec/x86/vc1dsp_yasm.o] エラー 1
とエラーがでます。
解決方法あれば教えて下さい。
OSはCentOS5.4です。 CentOSなら「CentOS ffmpeg rpmforge」でググって詳しいやり方書いてる
サイトの手順通りにrpmでインストールした方がいいんじゃないかな? >>444
わけも分からず、ffmpeg の svn head なんかもってくることはない。
ffmpeg-0.6 系からビルドすべし。
>>445
一発解決しました。
>>446
libamr_nbとlibopencore-amrnbの問題で
色々試してうまくいかず、ホントわけも
訳もわからずいろんなサイトに縋ってました。
本当にありがとうございました。 >>447
ffmpeg はとりあえず x264 さえビルドできていれば、
最低限使えるようになっていると思う。
あとは、使いたいライブラリを事前にゴリゴリビルドしておいて、
最後に ffmpeg をビルドという感じで。
実際に ffmpeg-0.6 系で十分やと思うよ。 >>448
ありがとうございます。
>>445さんアドバイスでrpmでのインストール実行しました。
ffmpegをビルドからやりなおすと又、エラーになりそうで・・。
只、x264は入れておきたいのでx264導入後、
ffmpeg-06系ビルドに再チャレンジしてみます。
(rpmからインストールしたものにx264が
含まれていないかもまだわかっていませんが。。) FAACを使わないフリー版のAACデコーダーも再配布禁止? 花ノ下ニテ...。: 備忘録 Ubuntu10.10にWebcamStudio導入しUSTREAM放送をする。
http://blog.geroppa.net/2011/01/ubuntu1010webcamstudioustream.html
FFMPEGでUSTREAM : ffmpeg | 市民メディアセンター MediR
http://goo.gl/tplz8
ffmpeg でh.264 Ust 配信もそろそろ行けそうなのか
週末試してみようかな ffmpegにlibvpxを組み込んでコンパイルしようとしているのですが、make時にエラーが出てコンパイル出来ません。
libvpxは事前にコンパイルし、libvpxフォルダをffmpegフォルダ内に置きました。
./configure --enable-shared --enable-swscale --enable-gpl --enable-libvpx --enable-memalign-hack
でMakefileを作成し、makeしたところ
LD libavcodec/avcodec-52.dll
Info: resolving _ff_log2_tab by linking to __imp__ff_log2_tab (auto-import)
Info: resolving _av_reverse by linking to __imp__av_reverse (auto-import)
Info: resolving _av_md5_size by linking to __imp__av_md5_size (auto-import)
Info: resolving _av_pix_fmt_descriptors by linking to __imp__av_pix_fmt_descriptors (auto-import)
Info: resolving _ff_sqrt_tab by linking to __imp__ff_sqrt_tab (auto-import)
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.
C:/MinGW/lib/libvpx.a(x86_dsystemdependent.c.o):(.text+0x1d): undefined reference to `vp8_dequantize_b_impl_mmx'
~似たような文章のため省略~
C:/MinGW/lib/libvpx.a(loopfilter_x86.c.o):(.text+0xa6c): undefined reference to `vp8_loop_filter_simple_vertical_edge_sse2
'
collect2: ld returned 1 exit status
make: *** [libavcodec/avcodec-52.dll] Error 1
と出て失敗しました。
どなたか対処法をご存知の方がいらしたら教えてください。
すみません、書き忘れました。
gccのバージョンは4.5.0
ffmpegのリビジョンは26402
libvpxはlibbpx-0.9.5-214.tar.bz2
を使用しています。
コンパイル時にはMSYSを用いており、mingwは2010/10/30にリリースされたものを用いています。 >>454
>>455
すみません、スレタイ検索で調べていて板を確認していませんでした。
ありがとうございます。 ffmpeg-mtの公式コミットキタ━(゚∀゚)━!
と思ったら、とりあえずVP3だけだったでござるorz
もう少し待つしかないか… debian lenny(玄箱PRO)でffmpegをapt-getで入れたんだけど
mpeg2videoのコーデックが無いって言われます。
以下コマンドです。
ffmpeg -i $1 -vcodec mpeg2video -target ntsc-svcd -ab 128k -aspect 4:3 -s 720x480 outputfile.mpg
ffmpegの他に何か入れないとダメなのでしょうか?
それとも入れなおしたほうがいいですか? FFmpeg に ffmpeg-mt がマージされたけど、
Libav はどうするんだろう。 >>462
http://libav.org/about.html
> For instance, most of the ffmpeg-mt work has been merged into Libav for quite some time.
> This work is still ongoing, we are still working hard to fix the remaining issues such as
> with multi-threaded h264 decoding.
そもそもffmpeg-mtやってるAlexander Strange自身はLibav派だし PT2で録画したTSファイルからffmpegでメインストリームを取り出したいです
ffmpeg -i 入力ファイル名 -programid プログラムID -vcodec copy -acodec copy 出力ファイル名
と入力したところ、
[mpegts @ 0x20a3310] aac bitstream not in adts format and extradata missing
と出て終了しました
メインストリームを取り出せるようにするにはどうすればいいのでしょうか? エラーメッセージは他にも
[aac @ 0x20bf980] channel element 3.15 is not allocated
[mpeg2video @ 0x20833e0] mpeg_decode_postinit() failure
[aac @ 0x2083c90] channel element 3.9 is not allocated
[mpeg2video @ 0x20833e0] mpeg_decode_postinit() failure
が処理のはじめにも出てきます 最新のバイナリを自ビルドしてそれでもダメならサンプルをバグトラッカーに投げて文句を言えばいい >>465
TSについては録画スレの方が詳しい人が多い
とりあえず、ddでファイルの先頭削ってみれば? >>465
てか、./configure のオプションを全部晒さないと、
何を意図的に有効にしているかわからん。
>>471
./configure のオプションは>>469のサイトの通りです >>465
ffprobe でマッピング調べて、-map オプション使えば取り出せると思うけど。 >>465
progid の取得だったら、tsinfo を使う手もあるな。 >>465,473
ごめん、試してみたら >>465 と同様なエラーが発生して取り出せなかった。 ffmpegをPythonでどうやって快適に使えるか調査中。
ffmpeg自体は十分高速なんだが、Pythonで扱えるデータに変換する段階が遅い。
自作しないといけないんだろうか……。 フォルダにファイルを突っ込んだら自動的にiPad用の動画を別のフォルダにはき出すようにしたいのだけど、
どうすればいいの? >>479
inotifyでディレクトリを監視して、変換スクリプトを起動する ffmpegをコマンドラインで使用して、標準入力から各フレームをbmpで入力して
非圧縮のaviとして出力させようとしています。
そのまま出力させるとavi中のビデオコーデックが勝手にmpeg4にされてしまうので
-vcodec copyを指定することで一応raw(RGB24)にすることは可能なのですが、
こんなところにcopyを使っていいのか不安になります。
-vcodec bmpではなぜ効果がないんでしょうか?
何か別のオプションで解決するんでしょうか? あ!
自己解決しました。
そうか!
-vcodec bmp -i %03d.bmp output.avi
ではなく、
-i %03d.bmp -vcodec bmp output.avi
とすればいいんですね! そう言うのは普通、-vcodec rawvideoとか-pix_fmt bgr24とか使わんか?
まあ、bmpで処理できるんならそれでもいいだろうけど image2pipe のdemuxer腐ってやがるwww
mjpeg以外のコーデックだと途中まで読み込んでハネてしまうがな。こんな実装では。
ffmpegに各フレームをpipe使って入力してエンコードしようと思ったら
mjpeg(JPEG)形式じゃないと現状では正常に受け付けられないね。
他のコーデックを使おうとしたら一旦前フレームをファイルに書き出して、
-f image2 を使ってファイル名ベースで指定してやるしかない。