Hi
FFmpeg doesn't have ability to create avif image files (yet). I have used FFmpeg to re-size png files then convert them with cavif program. (Releases of cavif are here ---> https://github.com/kornelski/cavif-rs/releases) Like this... ffmpeg -i infile.png -vf scale="424:-1" temp.png; cavif --output outfile.avif temp.png $ ffmpeg -i infile.png -vf scale="424:-1" temp.png; cavif --output outfile.avif temp.png ffmpeg version N-101507-gb2d0826 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609 configuration: --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libwebp --enable-libx264 libavutil 56. 68.100 / 56. 68.100 libavcodec 58.131.100 / 58.131.100 libavformat 58. 73.100 / 58. 73.100 libavdevice 58. 12.100 / 58. 12.100 libavfilter 7.109.100 / 7.109.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 Input #0, png_pipe, from 'infile.png': Duration: N/A, bitrate: N/A Stream #0:0: Video: png, rgba(pc), 800x505 [SAR 2835:2835 DAR 160:101], 25 fps, 25 tbr, 25 tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (png (native) -> png (native)) Press [q] to stop, [?] for help Output #0, image2, to 'temp.png': Metadata: encoder : Lavf58.73.100 Stream #0:0: Video: png, rgba(pc, progressive), 424x268 [SAR 5360:5353 DAR 160:101], q=2-31, 200 kb/s, 25 fps, 25 tbn Metadata: encoder : Lavc58.131.100 png frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=1.07x video:65kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown outfile.avif: 17KB (16668B color, 0B alpha, 188B HEIF) ======================================================================================= But cavif has an option to accept input from stdin. $ ./cavif --version cavif-rs 0.6.6 $ ./cavif --help cavif-rs 0.6.6 Kornel Lesiński <[hidden email]> Convert JPEG/PNG images to AVIF image format (based on AV1/rav1e) USAGE: cavif [OPTIONS] [IMAGES]... OPTIONS: -Q, --quality <n> Quality from 1 (worst) to 100 (best) [default: 80] -s, --speed <n> Encoding speed from 1 (best) to 10 (fast but ugly) [default: 1] -f, --overwrite Replace files if there's .avif already -o, --output <path> Write output to this path instead of same_file.avif. It may be a file or a directory. -q, --quiet Don't print anything --dirty-alpha Keep RGB data of fully-transparent pixels (makes larger, lower quality files) --color <color> Internal AVIF color space [default: ycbcr] [possible values: ycbcr, rgb] -h, --help Prints help information -V, --version Prints version information ARGS: <IMAGES>... One or more JPEG or PNG files to convert. "-" is interpreted as stdin/stdout. ====================================================================================== How do I make FFmpeg send it's png output to stdout? With a command like this... ffmpeg -i infile.png -vf scale="424:-1" -; cavif --output outfile.avif - I think I need to define a format for FFmpeg with "-f whatever" What format would be needed? $ ffmpeg -i infile.png -vf scale="424:-1" -; cavif --output outfile.avif - ffmpeg version N-101507-gb2d0826 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609 configuration: --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libwebp --enable-libx264 libavutil 56. 68.100 / 56. 68.100 libavcodec 58.131.100 / 58.131.100 libavformat 58. 73.100 / 58. 73.100 libavdevice 58. 12.100 / 58. 12.100 libavfilter 7.109.100 / 7.109.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 Input #0, png_pipe, from 'infile.png': Duration: N/A, bitrate: N/A Stream #0:0: Video: png, rgba(pc), 800x505 [SAR 2835:2835 DAR 160:101], 25 fps, 25 tbr, 25 tbn, 25 tbc [NULL @ 0x3f96480] Unable to find a suitable output format for 'pipe:' pipe:: Invalid argument ====================================================================================== _______________________________________________ ffmpeg-user mailing list [hidden email] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [hidden email] with subject "unsubscribe". |
> Am 15.03.2021 um 16:17 schrieb bat guano <[hidden email]>: > > How do I make FFmpeg send it's png output to stdout? -f rawvideo -vcodec png - FFmpeg accepts such streams as input, other programs may fail. Carl Eugen _______________________________________________ ffmpeg-user mailing list [hidden email] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [hidden email] with subject "unsubscribe". |
________________________________ From: ffmpeg-user <[hidden email]> on behalf of Carl Eugen Hoyos <[hidden email]> Sent: 15 March 2021 16:53 To: FFmpeg user questions <[hidden email]> Subject: [SOLVED] Re: [FFmpeg-user] How to pipe png output from FFmpeg into cavif. -f rawvideo -vcodec png - Excellent! Thanks for your help. :-) This is the command that I have used... ffmpeg -i infile.png -vf scale="424:-1" -f rawvideo -c:v png - | cavif -o outfile.avif - ========================================== ffmpeg -i infile.png -vf scale="424:-1" -f rawvideo -c:v png - | cavif -o outfile.avif - ffmpeg version N-101507-gb2d0826 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609 configuration: --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libwebp --enable-libx264 libavutil 56. 68.100 / 56. 68.100 libavcodec 58.131.100 / 58.131.100 libavformat 58. 73.100 / 58. 73.100 libavdevice 58. 12.100 / 58. 12.100 libavfilter 7.109.100 / 7.109.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 Input #0, png_pipe, from 'infile.png': Duration: N/A, bitrate: N/A Stream #0:0: Video: png, rgba(pc), 800x505 [SAR 2835:2835 DAR 160:101], 25 fps, 25 tbr, 25 tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (png (native) -> png (native)) Press [q] to stop, [?] for help Output #0, rawvideo, to 'pipe:': Metadata: encoder : Lavf58.73.100 Stream #0:0: Video: png, rgba(pc, progressive), 424x268 [SAR 5360:5353 DAR 160:101], q=2-31, 200 kb/s, 25 fps, 25 tbn Metadata: encoder : Lavc58.131.100 png frame= 1 fps=0.0 q=-0.0 Lsize= 65kB time=00:00:00.04 bitrate=13235.0kbits/s speed=1.34x video:65kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000% outfile.avif: 17KB (16668B color, 0B alpha, 188B HEIF) ========================================= _______________________________________________ ffmpeg-user mailing list [hidden email] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [hidden email] with subject "unsubscribe". |
Free forum by Nabble | Edit this page |