質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

Q&A

解決済

1回答

4898閲覧

ffmpeg に -crf オプションをつけてもCodec AVOption crf has not been used for any streamと言われて効果がない

ruei

総合スコア284

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

0グッド

0クリップ

投稿2018/10/15 14:41

編集2018/10/15 14:42

gifからmp4への変換としてlinuxのffmpegを使用しています。

ffmpeg -i main.gif -crf 1 main.mp4

とすると、次のような表示の後に、main.mp4が出力されているのですが、
動画の品質を定めるオプションである-crfの数字を変化しても、動画の劣化具合が変化しません。

ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.2.0 (crosstool-NG fa8859cb) configuration: --prefix=/xxx/anaconda3 --cc=/tmp/build/80754af9/ffmpeg_1526323631431/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --enable-shared --enable-static --enable-zlib --enable-pic --enable-gpl --enable-version3 --disable-nonfree --enable-hardcoded-tables --enable-avresample --enable-libfreetype --disable-openssl --disable-gnutls --enable-libvpx --enable-pthreads --enable-libopus --enable-postproc --disable-libx264 libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100 Input #0, gif, from 'main.gif': Duration: N/A, bitrate: N/A Stream #0:0: Video: gif, bgra, 1000x1000, 10 fps, 10 tbr, 100 tbn, 100 tbc Codec AVOption crf (Select the quality for constant quality mode) specified for output file #0 (main.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream. Stream mapping: Stream #0:0 -> #0:0 (gif (native) -> mpeg4 (native)) Press [q] to stop, [?] for help Output #0, mp4, to 'main.mp4': Metadata: encoder : Lavf58.12.100 Stream #0:0: Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 1000x1000, q=2-31, 200 kb/s, 10 fps, 10240 tbn, 10 tbc Metadata: encoder : Lavc58.18.100 mpeg4 Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1 frame= 250 fps= 93 q=24.2 Lsize= 899kB time=00:00:24.90 bitrate= 295.6kbits/s speed=9.28x video:897kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.211386%

よく見ると、中央に下のような怪しい表示があります。

Codec AVOption crf (Select the quality for constant quality mode) specified for output file #0 (main.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream. Stream mapping:

解決法をご存知の方、ご教示ください。

環境は次の通りです。

ffmpeg -version ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.2.0 (crosstool-NG fa8859cb) configuration: --prefix=/xxx/anaconda3 --cc=/tmp/build/80754af9/ffmpeg_1526323631431/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --enable-shared --enable-static --enable-zlib --enable-pic --enable-gpl --enable-version3 --disable-nonfree --enable-hardcoded-tables --enable-avresample --enable-libfreetype --disable-openssl --disable-gnutls --enable-libvpx --enable-pthreads --enable-libopus --enable-postproc --disable-libx264 libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hohokihai

2018/10/16 11:11

動画の画質を良くしたいのですか?palettegenは試しましたか?
ruei

2018/10/16 13:45

試していないです。ググって試そうと思っていたのですが、ほかの方の提示された方法で解決できてしまいました。ありがとうございます。
guest

回答1

0

ベストアンサー

Stream #0:0 -> #0:0 (gif (native) -> mpeg4 (native))

と表示されていますので、MPEG-4 Part 2でエンコードされていますが、このエンコーダーはcrfオプションはサポートしていないということだと思います。

Encode/MPEG-4 | FFmpeg Wiki

投稿2018/10/15 15:40

keicha_hrs

総合スコア6766

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruei

2018/10/16 13:43

ありがとうございます。提示してくださったドキュメントに従って ffmpeg -i hoge.gif -qscale:v 1 hoge.mp4 とすると、画質を向上することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問