エンコードソフト ffmpeg のスレ
公式サイト http://ffmpeg.org/ どうもこれでエンコードしたら、ファイルサイズがでかくなるんだがorz -vb 256k を -vb 43k に修正して下さい。 >>581 ありがとうございます。試してみます。 後で結果報告したいと思います。 582です。 圧縮された動画の結果は良好です。ありがとうございました。 >>584 遅くなってすみません。 出力されたファイルは約六分の一とかなり小さくなっています。 これで容量がなんとか確保出来そうです。ありがとうございます。 画質的にWindowsのAviUtlとかプラグイン山盛りのツールより 綺麗にだせるの? 質問です 前後録画のドライブレコーダーを買ったのですが 前後別々のmp4ファイルに録画されています これを前後の動画を同時に見れるように1本結合したいと思っています 前の動画が front.mp4 (640x480)で音声有り 後ろの動画が rear.mp4 (320x240)で音声無し として 940x540(16:9)にして、前は上下30pxずつ後ろは110pxずつ 黒帯をつけて、左側を前の動画、右側を後ろの動画にしようと思いました で、まず以下のように 2つの動画に変換しました ffmpeg -i front.mp4 -vf "pad=0:540:0:30" -acodc copy tmp1.mp4 ffmpeg -i rear.mp4 -vf "pad=0:540:0:110" -an tmp2.mp4 これを左側にtmp1、右側にtmp2と結合したいのですが やり方がわからないので教えてください もし、これらを一発でできるような方法があれば それを教えていただけると助かります ステレオ動画みたいに異なる動画が左右同時再生されているものを作りたいのかな そういう編集みたいなことは↑のaviutlなんかがやりやすいはずだけど ttps://trac.ffmpeg.org/wiki/vfxEncodingGuide#Monovs.Stereo この辺り関係ないかな? mapを使うとマルチトラックになるので 確かにステレオ動画にはなるけど 動画の結合とは異なる感じかな 自己解決できたくさいので報告です 左側映像はそのままで、右側映像を左を乗せれるように配置 ffmpeg -i rear.mp4 -vf "pad=960:540:640:150" -an tmp1.mp4 そこに左側映像を overlay ffmpeg -i tmp1.mp4 -i front.mp4 -filter_complex "overlay=0:30" out.mp4 これで行けました 何かもっとうまいやり方がありそうですが… 方法はそれでいいけど、エンコは一回にした方がいいでしょ 中間ファイルを無劣化にするのも一つのやり方だけど ここにコマンド一回でのやり方が色々載ってる http://ch.nicovideo.jp/nico-lab/blomaga/ar5633 あと、avisynthで映像を作って、ffmpegに食わせるって方法もあるよ >>593 ありがと 実はソコは見たんだけど意味がちんぷんかんぷんだった avisynthも理解できずに苦しんでます おはようございます! エンコード後のファイル名に、フレームレートの値を入れるには、 どのようなコマンドを記述したらよいですか? ○○ [29.97fps].mp4 みたいにしたいの。 >>596 自動判別して、一括リネームする方法があるの?? >>597 >>595 の文章にはファイル名を変更したいって事しか書かれて無いので rename コマンドか、mv コマンドで好きに変更しろって回答にしかならんだろ 自動判別とか、一括リネームなんてどこから沸いて出たわけ? 自動判別したいのであれば、例えば↓でとあるファイルのfpsはわかるよね ffmpeg -i nantoka.mp4 2>&1 | perl -nle 'print $1 if(/([\d\.]+) fps/);' 後は一括リネームするスクリプトでも組めばいいんじゃないかな >>598 ありがとうございますー 自分には勉強する必要がありそうなので、 出直してきます。 ffmpegでラジコを受信してffplayで音を出していますが、ピッチを変えるオプションが見つかりません。 mplayerで言うところの-speedのオプションに該当するものはないんでしょうか。 よろしくおねがいします。 くだ質で、undefined 拡張子を持つファイル(動画)について質問し ffmpeg に放り込めば元ファイルの拡張子がわかるんじゃないかと アイデアをもらったのですが どのようなオプションをつければ良いでしょうか >>607 ffmpeg -i ファイル名 mediainfoの方がわかりやすいと思うけど。 ここ、ffmpeg のスレだから、windows の人かも知れないけど、 linux 板だから、file コマンドの方が楽だよな。 $ file file-name or $ file --mime-type file-name とかのほうが、シンプルで ubuntuだとavconvがこれからメインになるそうですが皆さん使ってます? 質問するスレがないので困ってます。 コマンドの名前がかわるだけだと思ってたけど違うの? レスありがとうございます >>614 引数をそのまま流用しようとして実行するとエラーになることがあります。 フォークしたようなので、将来的には互換性がなくなると思います。 `いやなら ffmpeg を使いつづければいいんでしょ。 puppyでffmpegのアップデートするにはどうすればいいですか? 今のpreciseだと ffmpeg version 0.8.5-4:0.8.5-0ubuntu0.12.04.1ですが最新版にしたいです よくわからないけど、ubuntu static build 版をfedoraで使ってる。 速くていい感じです。 >>620 ソース取ってきてmakeすりゃいいんじゃない。 0.8.5とか化石もいいところ 今って2.1とかなのに 最近のだと簡単にmakeできるんだな 以前かなり苦労したと思ったけど公式の通りに処理したらできたわ ちょっと拍子抜けしたがやっぱり良い物は良いということか… >>624 必要なライブラリが揃ってれば比較的楽にできる。 ライブラリの構築から始めても難しくは無いんだけど、数が多いんで手間はある程度かかるからなぁ >>625 apt-get build-dep hogehoge aptなら必要パッケージはすぐ入る >>626 aptのリポジトリより新しいもの使いたいってことだろ。 ビルドツールの類なんかは古いバージョンが依存しているものでも変わらないかも知れないけど。 dlしたfile(flv)を再生(vlc、totem)するさい音声が乱れるのですが 対処する方法はありませんか >>629 さすがにそれだけではエスパーできないと思うけど・・・。 このスレで質問するって事は、ffmpeg使えるだろうから、 とりあえず、コンテナ変えて再生してみたら? #変換前の出力 ffmpeg -i in.flv Input #0, flv, from 'Videos.flv': Metadata: metadatacreator : Yet Another Metadata Injector for FLV - Version 1.2 hasKeyframes : true hasVideo : true hasAudio : true hasMetadata : true canSeekToEnd : false datasize : 1007515328 videosize : 902933307 audiosize : 103022777 lasttimestamp : 7079 lastkeyframetimestamp: 7078 lastkeyframelocation: 1007633459 Duration: 01:57:58.91, start: 0.000000, bitrate: 525 kb/s Stream #0.0: Video: flv, yuv420p, 480x360, 412 kb/s, 12 tbr, 1k tbn, 1k tbc Stream #0.1: Audio: aac, 44100 Hz, stereo, s16, 112 kb/s At least one output file must be specified #変換後の出力 ffmpeg -i out.mp4 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 encoder : Lavf53.21.1 Duration: 01:57:59.00, start: 0.000000, bitrate: 381 kb/s Stream #0.0(und): Video: mpeg4 (Simple Profile), yuv420p, 480x360 [PAR 1:1 DAR 4:3], 200 kb/s, 12 fps, 12 tbr, 12 tbn, 12 tbc Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16, 199 kb/s At least one output file must be specified #結果。改善無し、むしろ悪化でした。 変換中、"Error while decoding stream #0.1 [aac @ 0x81f5d40] channel element hoge.hoge is not allocated"っとエラーの連続でした さて、困った。元ファイルをネットでストリーミングしても何も問題が無いのに… スローモーション化する変換例をおしえてくれ。 ググったけど見つけられなかった。 >>633 ... -vf "setpts=1/0.75*PTS" -af "atempo=0.75" ... ffmepg 速度変更 でググったら、出てきたよ。 「ニコニコ・・・」さんを参考にしたけど 細かい制限とかはググった結果見てね。 >>634 ありがとうございます。 うちは MacOSX 環境下の ffmpeg version 2.1.3 (via MacPorts) なのですが、-vf オプションが効きません。 ググって、yuv ファイルに出力してから -r オプションでフレームレートを設定する方法を見つけ、こちらの 方法で無事スローモーション動画に変換することができました。 Raspberry Pi上でffmpegを使って1280x720、5fpsで連続撮影した1時間分のjpegファイルを 640x360にリサイズしてmjpegに変換したら、できあがった動画の画質がモザイクだらけの 悲惨な結果でした。 以下が指定したパラメータです。 ffmpeg -r 5 -i hoge_%08d.jpg -vcodec mjpeg -f avi -sameq -s 640x360 hoge.avi なるべく元のjpeg画質から劣化せず動画に変換するおすすめパラメータがあれば教えてください。 >>637 "-sameq" は古いオプションだから動かないのもあるかも "-q:v 0" か "-qscale[:v] 0" を使えば満足いくと思うよ >>638 ありがとうございます。 教えていただいたパラメータで期待する動画ができました。 qmin 10と qmax51です 動きのある部分がブロックになるので画質上げたいのですが min maxとも上げればいいのですか? 上に書いてました、ビットレート触らないとあまり変わらないみたいですね この設定ですが、ビットレートがないのです、どこお触れば画質が良くなるのでしょうか? coder=1 flags=+loop cmp=+chroma partitions=+parti8x8+parti4x4+partp8x8+partb8x8 me_method=umh subq=8 me_range=16 g=250 keyint_min=25 sc_threshold=40 i_qfactor=0.71 b_strategy=2 qcomp=0.6 qmin=10 qmax=51 qdiff=4 bf=4 refs=4 directpred=3 trellis=1 flags2=+bpyramid+wpred+mixed_refs+dct8x8+fastpskip 以前WindowsでMediaCoder使ってたときはソースがVFRの変換でかなり苦労した記憶があるんだけど FFmpeg(avconv)だと特別何もしなくてもあっさりCFRにできてることに気付いた これからも便利に使わせていただきます。ありがとう! ffmpegでHLS配信やってるんですがSnapdragon搭載端末が癖があるようで セグメントのあまたにキーフレームが来るようにしたいのですが どのようなオプション渡せばいいのでしょうか? 入力ソースは地デジの録画済tsやRecTaskからUDPで投げてもらってます Snapdragon以外の端末はセグメント分割されててもうまくいくんだけどなあ・・・ QSV使ったffmpegエンコードって安定してます? ああいう、外部ハードのドライバ使う仕組みは、カーネル巻き込んで死ぬことがないかちょっと心配です。 何年か使ってて、クラッシュしたことなんて一度もないとか、いやたまにある等の情報あったらお願いします。 ffmpegにマージされたのは今年6月頃、 Linux版Media SDK&Driverが提供されたのは去年辺りからだし、 数年動かした実績はまだ誰もないだろうめ ドライバやカーネルも専用にカスタマイズするだけあって今のところ落ちたりは経験ないな ただまだパフォーマンス改善の余地はありそう (Media SDK sampleよりパフォーマンスはでない) 今年、9月に最新版おとしてきて、 普通にmakeしたから、QSVサポートされてると思って、 パラメーター渡してみたら、サポートされてなかったorz なぜ? WindowsよりLinuxのほうがmakeしやすい? windowsだと自前で失敗してオレ流とか言うの使ってなんとか作れたんだけど。 >>646 自分で調べることを覚えた方がいい >>647 意味不明 >>646 OSはCentOS7.1かSuseが必須 Intel Media SDKを入れる Media SDKのサポートしているCPUを使う mfx dispatchを入れる で、多分ビルドは通るが、ライブラリあんまり入ってないからqsvが動く程度のおもちゃにしかならんと思う。 h264でエンコードすると一部にブロックノイズが出るんだけどオススメな設定無い? ビットレートを6Mに設定してる -vf crop=1248:904:191:144,pad=1248:936:0:16:black NHKのL字画面の映像部分って少し削ってあるんだな それも上下均等じゃなく片方だけ vp9とopusとqaacが使えるビルドどっかにない? >>657 ソースが VP9 の動画を扱えるやつなら知ってる。 テレビってフレーム単位かと思っていたら NHK って番組切り替えがフィールドで行われる場合もあるんだな。 時間軸としては別画像だから間違えではないのかもしれないが… utvideo + wav な avi を吐かせたいのだけれど、できてません。 orz=3 >>659 フィールドだと1/60秒、フレームだと1/30秒以内の誤差 番組の切替どころか、番組内のカメラ切替もフィールドがほとんど 59.94i interaceな放送局だから、例えばニュース速報入れるのに1/60秒でも早くなる でも編集はフレーム単位 24コマな映画を2-3プルダウンで59.94にしているのに、フレーム編集して2-3が崩れている事がたまにある >>656 セーフティーの考え方が影響してる気がする 基本的に90%の外に文字スーパーしないから、多く削られる 俺様は CM のある民放では CM こそ主である思い 別な視点(CMは再放送されない)で CM をコレクションしているが 全長15秒が15sec x 29.97 フレームきっちりになってないない てのは不満だな。 wineにaviutl入れてすべてhuffyuv+waveのaviファイルとして出力してからエンコードしてる 音楽ファイルなどは場合によっては字幕をつけてからエンコード Aegisubもavidemuxもリボジトリにあるのでハードサブなら問題ない ffmpegはappImage版を使ってるけどこのac3が結構音がいいように感じる 出力はほとんどh265で出力 http://i.imgur.com/9h1YmwH.jpg AsunderでCDをリッピングしてて遅まきながら気づいたんだがlinuxでもneroAacEncが使えるんだね で、neroAacEncをインストールしてみた 試しにaviutlで音と動画を分離して動画はffmpegでエンコード、音はNeroでaacにエンコード、その二つをまたドッキングして普通にffmpegでエンコードしたファイルと比較 neroはコマンドではビットレートではなくレベル0.1〜1.0で指定で、0.4で約128kbくらいらしい デフォルトが0.5なのでデフォルトでエンコードした 出来上がりのファイルサイズはやはり弱冠大きめ 肝心のffmpegの内部aacとの音質の差はハッキリ言ってまったく分からなかった 音ズレしてないか等も含めてもっと時間をかけて使えるかどうか見てみようと思う ちなみにasunderでCDをリッピングしたm4aファイルはメチャクチャ音がよかった 最新ソースだとvaapiでデインターレース対応してるのか ffmpegでflvからaacを抜き出したいんだけど、 [NULL @ 0x599130] Unable to find a suitable output format for 'test.m4a'とエラーになってしまう。 ffmpeg -i test.flv -acodec copy test.m4aってやっただけ。 (mp3入りの)flvからは正常にmp3は抜け出せます。 誰か助けて。 NETGEARのNAS(ReadyNAS,OSはReadyNASOS 6.6.0(debian8.6ベース)で、ffmpegはapt-getで入れた2.8.6です。 シェルのログをそのまま貼ろうとしたら Sorry, you have been blocked You are unable to access 2ch.netって言われて書き込めない。 Cloudflareが攻撃されてるとみなしてるっぽい。 >>667 そのまま貼らなくていいから、どこかのウェブサービスに貼り付けてそのURLをここに貼れば flvの中身の音声がm4aなのは確かなの? シェルのログ(utf-8)を上げておきます。 ttp://www.dotup.org/uploda/www.dotup.org1204513.txt アウトプットを.m4aにするとどのファイルを入力にしても同じエラーです。 aac入りのflvを複数試したけどダメでした。 -f mp4 -vn -bsf:a aac_adtstoasc を追加 ありがと。 試してみたけど前とは違うエラーになった。 [NULL @ 0x91f0b0] Requested output format 'mp4' is not a suitable output format test.m4a: Invalid argument $ ffmpeg -i test_aac.flv -f m4a -vn -bsf:a aac_adtstoasc -acodec copy test.m4aでいいんだよね? オプションの順番って関係ある? 自前でビルドして試した方がいいかな。非力なarmなんで時間かかりそう。 >>669 のログ見逃してた AudioがHE-AACになってるから fdkかaacplusとかじゃないとデコードも出来ないってことだと思う >>670 は忘れて コンテナ”m4a”じゃなくて"mp4"ではアカンの? $ ffmpeg -i DevilPray.mp3 -c:a aac -b:a 192k DevilPray.m4a とmp3からm4aにしようとしても同じようなエラーになる。 [NULL @ 0x385d10] Unable to find a suitable output format for 'DevilPray.m4a' DevilPray.m4a: Invalid argument >>672 -acodec copyでもfdk_aacが必要ってことなのかな? 無知でスマン。 aacplusはサポートしなくなったみたいだからfdk_aac入りでビルドしてみる。 >>673 $ ffmpeg -i test_aac.flv -acodec copy test.mp4 とすると同じようなエラーになります。 [NULL @ 0xc0f050] Unable to find a suitable output format for 'test.mp4' test.mp4: Invalid argument >>674 ありゃ。そりゃ失礼しました。 なんのコンテナだったら適するんだろう・・・・。 うちのPCは、野良ビルドなんで、aptで取ってきたやつはよくわかんないけど、コンテナ一覧はffmpeg -formatsで出てくるから 出力ファイルの前に、-f mp4 とか -f m4a とか -f ipod とかつけて、いろんなコンテナ試してみてもいいかも。 fdk-aac0.1.5+ffmpeg snapshot版(N-84941-g0505a1d)でビルドしてみたらエラーもなく変換できたよ。 >>672 がホントの原因だったのか確信は持てないけど、みんなありがと。 aac変換で-strict付けなくて良くなったのいつのバージョンから? >>677 Changelog によると 3.0 からのようですよ。 >>678 ありがとう 俺の使ってるの2.8.11なんで、まだこのオプションが必要だってことか smbに置いたh264なmp4を再生するときに最初の待ちがwmvと比べて長いです。 再生が始まるとシークは早いです。 movflags faststartはつけてもつけなくても変わりません。 何かエンコードのオプションで改善しないでしょうか? km playerがよくないって話ですかね? km playerってどっちやねん キムチプレーヤー?KDE Media Player? read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる