ffmpegならこちらへ 4

レス数が1000を超えています。これ以上書き込みはできません。
2019/04/21(日) 01:11:29.44ID:TpNEqVMQ0
公式サイト
http://ffmpeg.org/

エンコード、ストリーミング配信を高画質高音質で行えるffmpeg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。

ffmpegならこちらへ 3
https://egg.5ch.net/test/read.cgi/software/1487682297/
2020/08/10(月) 06:44:01.75ID:mT2JHhD20
サイズ縮小する時に、CPUが律速してGPUは遊んでるんだよな
もっとGPUに仕事を回せないものか
2020/08/10(月) 07:11:54.94ID:L4lGNE3u0
どうせ自分でCPUでエンコードする設定にしておいて
何言ってんだ?ってところだろ…
2020/08/10(月) 08:16:05.83ID:Dt5KRjf/0
監視カメラの映像で7000kbpsもいるのかどうか知らんけど単純にビットレートを落とせばいんじゃね
7000kbpsじゃ時間かかって当たり前なんだから使用上問題が出ないレベルまで落とすしか無いでしょ
2020/08/10(月) 09:20:35.59ID:jNB6Q27b0
2GHzの2コアなら時間がかかって当たり前
それとエンコード後の拡張子m3u8は違うと思う
942名無しさん@お腹いっぱい。
垢版 |
2020/08/10(月) 09:59:47.38ID:OljsJD7n0
>>940
レスありがとうございます。
元データの品質を落とすことも考慮したいと思います。

>>941
m3u8とは別に、たくさんのファイルができました。
これらのファイルが細切れになった実際の映像データです。


元データの品質のまま、たんに細切れにするだけなら、
処理に時間がかからなさそうに思うんですが、
そのようなオプションはあるでしょうか。

現在使用しているのは、>>937のとおりです。

もしなければ、元データの品質を予め落とすようにするしかありません。
2020/08/10(月) 10:13:43.43ID:mT2JHhD20
配信するの?
2020/08/10(月) 10:14:18.74ID:6lndBV1F0
>>942
変換前も普通にH.264なら
-vcodec libx264 -preset ultrafast
の代わりに
-c:v copy
で行けると思うけど。
2020/08/10(月) 10:45:57.31ID:moAiggyZ0
サイズ気にしないなら-c copyが一番速い、はず
2020/08/10(月) 12:41:15.76ID:cI/ydpko0
2GHz2コアだったら4Ghz10コアにするだけでめっちゃ早くなって解決って気がするけど
18とか32コアからアップグレードとかだとコスパ悪くなるけど
2020/08/10(月) 13:01:37.36ID:mT2JHhD20
CPUそのままでGPUで加速するから面白いのに
2020/08/10(月) 22:56:09.51ID:OljsJD7n0
>>944 >>945
レスありがとうございました!!

いけました。高速で変換できました!
こうしたかったんです。


>>946 >>947
2コアは心もとないので、Raspberry pi 4 8GB(4コア) を使うことにしました。
上の変換は、copyだけど、スーッといけました。
外部HDDディスクをusb3.0で接続、マウントしています。

>>943
nginxとイントラネットで、自分用に監視カメラの映像をHLS配信します。


皆様、どうもありがとうございました。
がんばります。
2020/08/13(木) 21:47:25.31ID:CFOAI0KV0
テストで組んだリストリーミング環境で、ffmpegがどうしても数10分後に停止してしまいます。(1)
あと、視聴ソフトウェアで確認できる映像ではリアルタイムとの遅延が10秒程度ありいつまでもその差が埋まりません。(2)

[camera]→rtsp→[PC1 / ffmpeg]→rtmp→[PC2 / nginx]→視聴ソフトウェア

PC1のffmpegは次のようにしています。
上流のcameraからrtspでストリームを掴んで、変換後に、下流のnginxにrtmpで流しています。
ffmpeg -i rtsp://user:pass@192.168.1.2:554/h264/stream -c h264 -an -r 15 -s 720x406 -b:v 512k -f flv rtmp://192.168.12.15/live/cam1

PC2のnginxのrtmp設定は次のようにしています。

rtmp {
server {
listen 1935;
access_log /var/log/nginx/rtmp_access.log;

application live {

live on;

}
2020/08/13(木) 21:47:44.30ID:CFOAI0KV0
最下流の視聴ソフトウェアVLCでrtmpでnginxに接続して、cameraの映像と音声を数10分間は受信できました。
ところが、しばらくすると、映像が止まってしまいます。音声のみ聞こえます。再接続しようとしても駄目です。

このとき、ffmpegの最初にある項目のframeカウントが停止してしまっています。
frame=10396 fps= 14 q=31.0 size= 43611kB time=00:11:31.26 bitrate= 516.8kbits/s dup=0 drop=10392 speed=
それ以外の、最後の項目のspeedの数値は動いているのでffmpegがフリーズしているわけではないと思います。


ffmpegを再起動してから、視聴ソフトでnginxに再接続すると再生できますが、また同じように映像は停止します。

(1)(2)について何か設定を工夫する必要があると思うのですが、
どのように設定すればよいのでしょうか。
2020/08/13(木) 21:52:39.23ID:CFOAI0KV0
>>949
すみません、ffmpegのコマンドはこっちでした。

ffmpeg -i rtsp://user:pass@192.168.1.2:554/h264/stream -vcodec copy -c:a aac -f flv rtmp://192.168.12.15/live/cam1
2020/08/13(木) 21:53:53.12ID:CFOAI0KV0
>>951
訂正
映像だけでなく音声も停止しました。
2020/08/14(金) 11:14:42.41ID:VrGtMuee0
>>949
自己解決しました。

(1)
-rtsp_transport tcp -stimeout 10000000 をつけるとffmpegが止まらなくなりました。
安定して動作しています。
tcpが有効に作用したと思います。

(2)
ライブ映像の遅れは、早送りすると追いつくことができました。
2020/08/14(金) 11:24:31.45ID:jiTbT3oz0
解決して良かったね
特殊な理由なければFlashのRTMPじゃなくてHLSストリーミングお勧めしたい
2020/08/14(金) 12:26:19.15ID:CTsuUgIZ0
すぐ上の人とは別人なのか
2020/08/14(金) 22:48:56.90ID:VrGtMuee0
>>955
>>937はわたしです。その節はお世話になりありがとうございます。

>>954
レスありがとうございます。

rtmpではなく、今HLSライブストリーミングテストしています、
video.jsの最新のものでは、HLSライブのものでも巻き戻しもできるので便利です。
2020/08/14(金) 22:54:45.10ID:VrGtMuee0
>>956
このvideojsのライブ巻き戻し再生に関して、
何か設定が悪いのか、巻き戻し、早送りの反応がとても悪い。
30秒以上待たされることもあります。
なにが悪いんだろう。tsファイルを検索するnginx側だろうか?

カウント0から再生とライブ再生に戻すのは早いんですけどね。

もうしばらくググりながら悩む必要がありそう。
2020/08/14(金) 23:20:05.03ID:3DNoaat90
>>956
もうHLSの試行したの!?驚き
動きも適応も早くて尊敬します

ライブラリvideo.jsには詳しくなくて力になれない……惜しい
2020/08/15(土) 13:43:44.65ID:lFRQ78oW0
地デジtsから副音声を抽出したい
しかし

Program 1040
Stream #0:2[0x112]: Audio: aac

Program 1041
Stream #0:2[0x112]: Audio: aac

と、まるで同じ
どうやって副音声側1041の0:2を指定する記述をすればよろしいのでしょうか。。。

-map 0:2
では当然のごとく1040側の主音声が抽出できるだけ。。。
2020/08/15(土) 13:53:33.97ID:dyy4f/UD0
クレヨンしんちゃん予約しといた
2020/08/15(土) 14:10:03.23ID:sRgeJH1o0
検索すると-dual_mono_modeで指定するみたいな記事があるけどドキュメントにそんなオプションないよね…
2020/08/15(土) 15:08:57.70ID:lFRQ78oW0
>>961
どうもです
mapをそれに置き換えて記述しても主音声が抽出されるだけでした
2020/08/15(土) 15:34:58.69ID:sRgeJH1o0
本当にここで聞きたいならffprobeの結果とか実際に使ったコマンドとか書いたほうがいいよ
964名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 19:54:33.34ID:nNgrTpHl0
FFmpegを使って、輝度値の倍率って設定できますか?
例えば、赤色の輝度値が1.2倍、青色が0.8倍、緑も0.8倍みたいな設定をしたいのですが、
brightnessで輝度値は設定できるのですが、
これは倍率ではなく、オフセットのため、使うことができません。

C#とかだと、輝度値の倍率とオフセットを別で設定できるのですが
FFmpegでもできないでしょうか?
2020/08/16(日) 20:41:57.08ID:SDeDnwOS0
Program 3104
Metadata:
service_name : ?|?A?
service_provider:
Stream #0:1[0x111]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR4:3 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Side data:
cpb: bitrate max/min/avg: 20000000/0/0 buffer size: 9781248 vbv_delay: N/A
Stream #0:2[0x112]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 186 kb/s
Stream #0:3[0x113]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 190 kb/s
Stream #0:4[0x116]: Subtitle: arib_caption (Profile A) ([6][0][0][0] / 0x0006)
Stream #0:5[0x117]: Data: bin_data ([6][0][0][0] / 0x0006)
Program 3105
Metadata:
service_name : ?|?A?
service_provider:
Program 3106
Metadata:
service_name : ?|?A?
service_provider:
Program 3488
Metadata:
service_name : ?|?A?
service_provider:
Program 3108
Metadata:
service_name : ?|?A?NW;~
service_provider:
No Program
Stream #0:0[0x12]: Data: epg
Unsupported codec with id 98306 for input stream 0
Unsupported codec with id 96272 for input stream 4
Unsupported codec with id 100359 for input stream 5
2020/08/16(日) 20:48:14.61ID:Uqhv11Pq0
>>964
lut〜ってフィルタなんかでいけるはず
967名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 21:03:35.40ID:Tx8kWVMc0
3、4年前にコンパイルしたffmpeg(3.4)使ってたけど、そろそろAV1に対応させようかと思って
久しぶりにコンパイルに挑戦したらつまずいた。ちなMac(10.14)。
3.4の./configureオプションはこんな感じ↓

./configure --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libx264 --enable-libx265 --enable-libvpx --enable-libfdk-aac --enable-libvorbis --enable-libopus --enable-libmp3lame --disable-ffplay --disable-ffprobe --disable-ffserver --enable-small

『pkg-config』オプション
./configure --prefix=/usr --with-pc-path=/usr/local/lib/pkgconfig --with-internal-glib

『libx264』オプション
./configure --prefix=/usr/local --enable-static

『libx265』オプション
cd x265path/build/linux
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DENABLE_SHARED=NO ../../source/

『libvpx』オプション
./configure --prefix=/usr/local --disable-shared --enable-static --disable-unit-tests

『libvorbis』オプション
./configure --prefix=/usr/local --with-ogg-libraries=/usr/local/lib --with-ogg-includes=/usr/local/include --disable-shared

『上記以外のコーデックとyasm-1.3.0、nasm-2.15.03』オプション
./configure --prefix=/usr/local --disable-shared
968名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 21:09:59.58ID:Tx8kWVMc0
>>967
まずlibaomとlibrav1eがコンパイルできん。仕方がわからん。
oggをコンパイルして次にvorbisコンパイルしたらエラーが出よる。
libaomとlibrav1eは諦めて本体コンパイルしたらコーデック無いって出よる。
それから--disable-ffserverってオプション無いって。これは外せばいいんだろうけど。
969名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 21:13:28.29ID:Tx8kWVMc0
>>968
libx265は

cd x265path/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local/share/cmake-3.18 -DENABLE_SHARED=off -DENABLE_NASM=on ../aom

ってすればできた。あとはわからん。エロい人教えて。
970名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 21:22:28.89ID:Tx8kWVMc0
>>969
下の間違い。

cd x265path/build/linux
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/share/cmake-3.18 -DENABLE_SHARED=NO ../../source/

cmake-3.18もコンパイルしてインストールした。
2020/08/16(日) 22:17:12.12ID:VkSMfHJN0
https://trac.ffmpeg.org/wiki/CompilationGuide/macOS
詳しくは知らない

https://ffmpeg.zeranoe.com/builds/
でmacOSのバイナリ配布している
972名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 22:18:49.54ID:sG1wc5El0
なんでコンパイル方法をテンプレにまとめてないわけ?
試行錯誤しなくても説明どおりにすればサルでもできるような。
まず本家からソースコードしか配布されてないってとこがffmpegの敷居を高くしてるんだよ。
5ch・2chにまとめられてればありがたい。ググって出てくるのはわかりにくいんだよ。
初心者はパスの入力なんかでもつまずく。AVファンがパソコンに詳しいとは限らないから。
WinとMac、それぞれのビルド方法をだれかテンプレ化してくれ。サルでもできるようなやつな。
2020/08/16(日) 22:27:02.61ID:ZVmM0seZ0
ffmpegのフルコンパイルは熟練者でも厳しいからなあ
974名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 22:30:21.98ID:sG1wc5El0
>>971
その公式のコンパイルガイド見ただけでできるような初心者は
一人もいない。何日も試行錯誤しないといけない。
よそがビルドしたバイナリ版はいらんのがいっぱい入ってるし
必要なlibfdk-aacが入ってない。第一怪しい←ここ重要
よそが配布したhand brakeにマルウェア仕込まれてたことあっただろ。
やはり自分でソースコードからコンパイルしたい。
975名無しさん@お腹いっぱい。
垢版 |
2020/08/16(日) 22:33:38.18ID:nNgrTpHl0
>>966
LUTフィルターを調べてみましたが
1Dとか3Dとかあっていまいちよく分かりませんでした
コードを見せていただけないでしょうか?
2020/08/16(日) 22:34:34.36ID:SDeDnwOS0
みんなもビルドして使ってね
という趣旨じゃないからな
ソースコード開示義務があるから自力でビルドすることも可能というだけで
レシピすら無い夕食材料セットみたいなもん
2020/08/16(日) 22:44:17.55ID:xu73v8LW0
ネタにマジレスするけどコンパイルするならDockerとか使ったほうが楽だぞ
Linux以外のバイナリについては知らん
978名無しさん@お腹いっぱい。
垢版 |
2020/08/17(月) 00:19:16.63ID:XeOA6k6+0
ネタではない。見ればだいたいわかるだろ。
MacにはHomebrewあるけど使いたくない。
コンパイルすりゃしまいじゃん。

>ソースコード開示義務があるから
>>976
そんな義務あるんか。知らんかったわ。
ソースコード開示されてなかったらvlcとかChromeとかに組み込めないけど
そんな義務あったんか。

>>973
だからやり方さえ詳しく書いてあればあとはコピペするだけだからサルでもできるやん。
2020/08/17(月) 00:32:11.62ID:FEiKD+L30
ffmpegのバージョン、ライブラリのバージョンでやり方が変わるからだめなんだよ
すぐ使えなくなる
980名無しさん@お腹いっぱい。
垢版 |
2020/08/17(月) 00:41:16.89ID:XeOA6k6+0
>>979
そうみたいね。わいも前は試行錯誤の末にできた方法でやったら
今回はダメだった。
だから5ch・2chのこのスレだったらタイムリーに更新できるじゃん。
このスレに来れば常に確実な方法がわかる、って感じにしようず。
2020/08/17(月) 06:29:43.99ID:4Dns2W820
>>980
お前がすればええやん
2020/08/17(月) 18:19:46.95ID:7juacBpw0
ffmpegならこちらへ 5
https://egg.5ch.net/test/read.cgi/software/1597315425/
2020/08/17(月) 20:56:00.97ID:ccgVI60I0
https://github.com/markus-perl/ffmpeg-build-script
ビルドスクリプト使っては
984名無しさん@お腹いっぱい。
垢版 |
2020/08/17(月) 21:11:14.94ID:tUgUnE3P0
Winだけど、ffmpegのビルド方法まとめてほしいよね
ビルドスクリプト使ったらエラーでビルドできなかった(>>983とは別物)
2020/08/17(月) 21:22:41.28ID:iNbka2BJ0
>>983
スクリプトは便利なんだけどね
fdk-aacやopusといったライブラリを追加で入れようとすると途端に融通が利かなくなって・・・
2020/08/17(月) 22:07:26.54ID:0vhyggWz0
というかビルド作業って中途半端に抽象化・カプセル化されてて、皆何となく使えちゃってる気がする
その弊害として実際に踏まれてる手順が分からないし、他の環境・対象向けに応用するやり方も分からなくなってる
2020/08/17(月) 22:07:52.73ID:0vhyggWz0
パッケージ管理ツールに頼らず自前でビルドするこの際、gitとかGNU makeみたいな役割が単純明快な基本的ツールでのビルドの汎用手法纏めなきゃなのか……
2020/08/17(月) 22:08:58.29ID:NxZrMJBD0
ビルドしたことないけど、makeじゃないの?
2020/08/17(月) 23:23:37.29ID:0vhyggWz0
>>988
多分何も言わなかったらmakeと言えばGNU makeだと思う
あんま詳しくないから拾ってきたもの

・GNU make (UNIX系、Windows)
・BSD make (UNIX系)
・Schily make
・nmake / Microsoft Program Maintenance Utility (Windows)
・Borland make (Windows)
・Solaris make (Solaris)
2020/08/17(月) 23:30:25.63ID:mCXiLXWV0
./configure
make
make install
2020/08/17(月) 23:53:16.00ID:OTuExVUg0
ArchlinuxのAURにあるffmpeg-fullのPKGBUILDとか見たらいいよ
AV1はパッチ当ててる
992980
垢版 |
2020/08/17(月) 23:55:07.81ID:3LjqniNC0
>>981
一応ffmpeg-4.3.1でコンパイルできた。libaomとlibrav1eは諦めた。
libaomは実時間の100倍かかるなんて記述もあるし、まだいいかなと。

ちなみにワイの環境ではvp9は実時間の15倍くらい。最初は実時間の8倍くらいの
速度でエンコードするんだけど、ものの数分でサーマルスロットリンクが発生して
速度が落ちる。iMacの性能は本当に低い。今3年前のiMac使ってるけど、9年前の
iMacと比べて速度はほぼいっしょ。変わったのは古いのは本体の一部が火傷する
くらいに熱くなってたけど今のはほんのり温かくなる程度なとこぐらい。
古いのでエンコしまくってたらすぐつぶれた。新しいのはそういうのはないだろう。
たぶんcpuが速度落とすより前にMacがリミッターかけてるんだと思う。
つぶれないように。でも最近はワイほとんどエンコしてない。それはさておき。

libaomとlibrav1e以外は、前と同じだけ全部入れてコンパイルできた。
これで前と同じ環境、プラスAV1でエンコはできないけれどAV1の「認識」はできる
ffmpegバイナリを手に入れることができた。おおむね満足してる。

Mac使ってる人でサルでもわかるように今回のビルド方法まとめてほしい人いる?
ただしx265とliboggとlibvorbisは最新のではなく以前ビルドしたときと同じ
古いバージョンを使ってる。それだとうまくいった。
またx264も古いバージョンのを使ってる。以前ビルドした時、当時の最新
バージョンは設定どおりのビットレートでエンコできないバグがあったから
バグのない古いバージョンでビルドしたんだけど、今回もそれを使ってビルドした。
最新のはそのバグは解消されてると思うけど、検証すんのめんどくさい、
てかできない。まあこれで問題なく使えるんならいいでしょってことで。
以上を了解できるならまとめてもいいよ。
2020/08/18(火) 06:23:46.44ID:mHCFhUSS0
方法そのまま教えるのは魚をあげるのと同じだからなあ
そもそもmakeとは、から始まって、
素直にビルドできない原因と解決方法を個別に説明してくれる方が有り難い
994名無しさん@お腹いっぱい。
垢版 |
2020/08/18(火) 07:57:59.50ID:AM/qOxOj0
>>978
やり方書いてあっても難しい
ライブラリ群の依存関係とか、ライブラリのバージョンが変わったらビルドエラー出たりとかで
それを一つ一つ潰していってやっとビルドできる。 それで安心してたら次のリビジョンアップで
またビルドできなくなったりと苦難の連続だよ
2020/08/18(火) 08:10:28.22ID:mHCFhUSS0
全部最新だと通らなくて、わざと古いままにする必要があるとかそういう系?
2020/08/18(火) 08:29:58.58ID:yR2+k7Pc0
前にビルドしたけどx265とx264がマルチコアに対応させれられなくて諦めたんだけど
そのへんうまくいってる?
997名無しさん@お腹いっぱい。
垢版 |
2020/08/18(火) 11:34:26.70ID:Z3eCd2WC0
./configure
make all
make install
make clean
2020/08/18(火) 12:25:26.70ID:V/x7qTSR0
全部最新で通らなかったなんてこと起きたことないなあ
2020/08/18(火) 13:06:54.95ID:9hQsNyMT0
505
1000名無しさん@お腹いっぱい。
垢版 |
2020/08/18(火) 13:09:15.39ID:b+U/zleH0
O2
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 485日 11時間 57分 46秒
レス数が1000を超えています。これ以上書き込みはできません。
大学生アイラと影の怪物と戦うリョウが、深夜3時3分の静止した世界で交錯する超常スリラーの概要

ニューススポーツなんでも実況