Hi, I am running the following command to convert this red TGA image
into a video. However, the finished video color does not match the TGA images color. Is there something I can do to ensure that the color comes out right? I plan on also adding another video stream to this FYI. Here is my command: /usr/local/bin/ffmpeg -loop 1 -i FULL.tga -aspect 1:1 -c:v libx264 -profile:v high -pix_fmt yuv420p -level 5.1 -vsync 1 -async 1 -crf 14 -t 5.000 -r 30 -y finished.mp4 Here is a link to download the original image: (Not sure if i could attach it to this email) https://drive.google.com/file/d/1V3mZNR7srcUPiNq8dvb4q44oUqhEej6O/view?usp=sharing Here is a link to the finished result from the above command. https://drive.google.com/file/d/1f3qFLgDKg5kLen1FJzp-C-Xb3yGeHWhc/view?usp=sharing Here is the ffmpeg response: /usr/local/bin/ffmpeg -loop 1 -i FULL.tga -aspect 1:1 -c:v libx264 -profile:v high -pix_fmt yuv420p -level 5.1 -vsync 1 -async 1 -crf 14 -t 5.000 -r 30 -y finished.mp4 ffmpeg version 4.3.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 Input #0, image2, from 'FULL.tga': Duration: 00:00:00.04, start: 0.000000, bitrate: 699843 kb/s Stream #0:0: Video: targa, bgr24, 1080x1080, 25 tbr, 25 tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (targa (native) -> h264 (libx264)) Press [q] to stop, [?] for help [libx264 @ 0x72b9f00] using SAR=1/1 [libx264 @ 0x72b9f00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512 [libx264 @ 0x72b9f00] profile High, level 5.1, 4:2:0, 8-bit [libx264 @ 0x72b9f00] 264 - core 161 r3018 db0d417 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=34 lookahead_threads=5 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=14.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'finished.mp4': Metadata: encoder : Lavf58.45.100 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1080x1080 [SAR 1:1 DAR 1:1], q=-1--1, 30 fps, 15360 tbn, 30 tbc Metadata: encoder : Lavc58.91.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A frame= 84 fps=0.0 q=20.0 size= 0kB time=00:00:00.10 bitrate= 3.8kbits/frame= 150 fps=0.0 q=-1.0 Lsize= 10kB time=00:00:04.90 bitrate= 17.3kbits/s dup=25 drop=0 speed=6.24x video:8kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 33.530972% [libx264 @ 0x72b9f00] frame I:1 Avg QP: 1.00 size: 273 [libx264 @ 0x72b9f00] frame P:38 Avg QP: 1.21 size: 53 [libx264 @ 0x72b9f00] frame B:111 Avg QP: 4.67 size: 45 [libx264 @ 0x72b9f00] consecutive B-frames: 1.3% 0.0% 0.0% 98.7% [libx264 @ 0x72b9f00] mb I I16..4: 100.0% 0.0% 0.0% [libx264 @ 0x72b9f00] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.0% 0.0% 0.0% 0.0% 0.0% skip:100.0% [libx264 @ 0x72b9f00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.0% 0.0% 0.0% direct: 0.0% skip:100.0% [libx264 @ 0x72b9f00] 8x8 transform intra:0.0% [libx264 @ 0x72b9f00] coded y,uvDC,uvAC intra: 0.0% 0.0% 0.0% inter: 0.0% 0.0% 0.0% [libx264 @ 0x72b9f00] i16 v,h,dc,p: 99% 0% 1% 0% [libx264 @ 0x72b9f00] i8c dc,h,v,p: 100% 0% 0% 0% [libx264 @ 0x72b9f00] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x72b9f00] kb/s:11.58 _______________________________________________ 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". |
What color space is your image created in? A first guess is that if it has
an embedded color space that isn't what ffmpeg expects, it could cause the failure. Can you convert it to use sRGB, which at a guess would be more familiar to ffmpeg? (Note, I'm making guesses based on some knowledge of color spaces and the type of problems that arise when they're not handled properly or are not specified, not from a knowledge of ffmpeg). On Tue, Apr 6, 2021 at 1:40 PM Craig L. <[hidden email]> wrote: > Hi, I am running the following command to convert this red TGA image > into a video. > > However, the finished video color does not match the TGA images color. > > Is there something I can do to ensure that the color comes out right? > > I plan on also adding another video stream to this FYI. > > > Here is my command: > > /usr/local/bin/ffmpeg -loop 1 -i FULL.tga -aspect 1:1 -c:v > libx264 -profile:v high -pix_fmt yuv420p -level 5.1 -vsync 1 -async > 1 -crf 14 -t 5.000 -r 30 -y finished.mp4 > > > Here is a link to download the original image: (Not sure if i could > attach it to this email) > > > https://drive.google.com/file/d/1V3mZNR7srcUPiNq8dvb4q44oUqhEej6O/view?usp=sharing > > Here is a link to the finished result from the above command. > > > https://drive.google.com/file/d/1f3qFLgDKg5kLen1FJzp-C-Xb3yGeHWhc/view?usp=sharing > > > > Here is the ffmpeg response: > > /usr/local/bin/ffmpeg -loop 1 -i FULL.tga -aspect 1:1 -c:v > libx264 -profile:v high -pix_fmt yuv420p -level 5.1 -vsync 1 -async > 1 -crf 14 -t 5.000 -r 30 -y finished.mp4 > ffmpeg version 4.3.1-static https://johnvansickle.com/ffmpeg/ Copyright > (c) 2000-2020 the FFmpeg developers > built with gcc 8 (Debian 8.3.0-6) > configuration: --enable-gpl --enable-version3 --enable-static > --disable-debug --disable-ffplay --disable-indev=sndio > --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r > --enable-gnutls --enable-gmp --enable-libgme --enable-gray > --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf > --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb > --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband > --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis > --enable-libopus --enable-libtheora --enable-libvidstab > --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp > --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d > --enable-libxvid --enable-libzvbi --enable-libzimg > libavutil 56. 51.100 / 56. 51.100 > libavcodec 58. 91.100 / 58. 91.100 > libavformat 58. 45.100 / 58. 45.100 > libavdevice 58. 10.100 / 58. 10.100 > libavfilter 7. 85.100 / 7. 85.100 > libswscale 5. 7.100 / 5. 7.100 > libswresample 3. 7.100 / 3. 7.100 > libpostproc 55. 7.100 / 55. 7.100 > Input #0, image2, from 'FULL.tga': > Duration: 00:00:00.04, start: 0.000000, bitrate: 699843 kb/s > Stream #0:0: Video: targa, bgr24, 1080x1080, 25 tbr, 25 tbn, 25 tbc > Stream mapping: > Stream #0:0 -> #0:0 (targa (native) -> h264 (libx264)) > Press [q] to stop, [?] for help > [libx264 @ 0x72b9f00] using SAR=1/1 > [libx264 @ 0x72b9f00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 > AVX FMA3 BMI2 AVX2 AVX512 > [libx264 @ 0x72b9f00] profile High, level 5.1, 4:2:0, 8-bit > [libx264 @ 0x72b9f00] 264 - core 161 r3018 db0d417 - H.264/MPEG-4 AVC > codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - > options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 > psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 > 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 > threads=34 lookahead_threads=5 sliced_threads=0 nr=0 decimate=1 > interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 > b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 > keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf > mbtree=1 crf=14.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 > aq=1:1.00 > Output #0, mp4, to 'finished.mp4': > Metadata: > encoder : Lavf58.45.100 > Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, > 1080x1080 [SAR 1:1 DAR 1:1], q=-1--1, 30 fps, 15360 tbn, 30 tbc > Metadata: > encoder : Lavc58.91.100 libx264 > Side data: > cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A > frame= 84 fps=0.0 q=20.0 size= 0kB time=00:00:00.10 bitrate= > 3.8kbits/frame= 150 fps=0.0 q=-1.0 Lsize= 10kB time=00:00:04.90 > bitrate= 17.3kbits/s dup=25 drop=0 speed=6.24x > video:8kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB > muxing overhead: 33.530972% > [libx264 @ 0x72b9f00] frame I:1 Avg QP: 1.00 size: 273 > [libx264 @ 0x72b9f00] frame P:38 Avg QP: 1.21 size: 53 > [libx264 @ 0x72b9f00] frame B:111 Avg QP: 4.67 size: 45 > [libx264 @ 0x72b9f00] consecutive B-frames: 1.3% 0.0% 0.0% 98.7% > [libx264 @ 0x72b9f00] mb I I16..4: 100.0% 0.0% 0.0% > [libx264 @ 0x72b9f00] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.0% > 0.0% 0.0% 0.0% 0.0% skip:100.0% > [libx264 @ 0x72b9f00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.0% > 0.0% 0.0% direct: 0.0% skip:100.0% > [libx264 @ 0x72b9f00] 8x8 transform intra:0.0% > [libx264 @ 0x72b9f00] coded y,uvDC,uvAC intra: 0.0% 0.0% 0.0% inter: > 0.0% 0.0% 0.0% > [libx264 @ 0x72b9f00] i16 v,h,dc,p: 99% 0% 1% 0% > [libx264 @ 0x72b9f00] i8c dc,h,v,p: 100% 0% 0% 0% > [libx264 @ 0x72b9f00] Weighted P-Frames: Y:0.0% UV:0.0% > [libx264 @ 0x72b9f00] kb/s:11.58 > > _______________________________________________ > 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". -- Simon Roberts (303) 249 3613 _______________________________________________ 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". |
In reply to this post by Craig L.
Craig L. wrote
> Hi, I am running the following command to convert this red TGA image > into a video. > > However, the finished video color does not match the TGA images color. > > Is there something I can do to ensure that the color comes out right? > > I plan on also adding another video stream to this FYI. > > > Here is my command: > > /usr/local/bin/ffmpeg -loop 1 -i FULL.tga -aspect 1:1 -c:v > libx264 -profile:v high -pix_fmt yuv420p -level 5.1 -vsync 1 -async > 1 -crf 14 -t 5.000 -r 30 -y finished.mp4 > > > Here is a link to download the original image: (Not sure if i could > attach it to this email) > > https://drive.google.com/file/d/1V3mZNR7srcUPiNq8dvb4q44oUqhEej6O/view?usp=sharing > > Here is a link to the finished result from the above command. > > https://drive.google.com/file/d/1f3qFLgDKg5kLen1FJzp-C-Xb3yGeHWhc/view?usp=sharing > > > > Here is the ffmpeg response: > > /usr/local/bin/ffmpeg -loop 1 -i FULL.tga -aspect 1:1 -c:v > libx264 -profile:v high -pix_fmt yuv420p -level 5.1 -vsync 1 -async > 1 -crf 14 -t 5.000 -r 30 -y finished.mp4 > ffmpeg version 4.3.1-static https://johnvansickle.com/ffmpeg/ Copyright > (c) 2000-2020 the FFmpeg developers > built with gcc 8 (Debian 8.3.0-6) > configuration: --enable-gpl --enable-version3 --enable-static > --disable-debug --disable-ffplay --disable-indev=sndio > --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r > --enable-gnutls --enable-gmp --enable-libgme --enable-gray > --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf > --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb > --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband > --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis > --enable-libopus --enable-libtheora --enable-libvidstab > --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp > --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d > --enable-libxvid --enable-libzvbi --enable-libzimg > libavutil 56. 51.100 / 56. 51.100 > libavcodec 58. 91.100 / 58. 91.100 > libavformat 58. 45.100 / 58. 45.100 > libavdevice 58. 10.100 / 58. 10.100 > libavfilter 7. 85.100 / 7. 85.100 > libswscale 5. 7.100 / 5. 7.100 > libswresample 3. 7.100 / 3. 7.100 > libpostproc 55. 7.100 / 55. 7.100 > Input #0, image2, from 'FULL.tga': > Duration: 00:00:00.04, start: 0.000000, bitrate: 699843 kb/s > Stream #0:0: Video: targa, bgr24, 1080x1080, 25 tbr, 25 tbn, 25 tbc > Stream mapping: > Stream #0:0 -> #0:0 (targa (native) -> h264 (libx264)) > Press [q] to stop, [?] for help > [libx264 @ 0x72b9f00] using SAR=1/1 > [libx264 @ 0x72b9f00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 > AVX FMA3 BMI2 AVX2 AVX512 > [libx264 @ 0x72b9f00] profile High, level 5.1, 4:2:0, 8-bit > [libx264 @ 0x72b9f00] 264 - core 161 r3018 db0d417 - H.264/MPEG-4 AVC > codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - > options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 > psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 > 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 > threads=34 lookahead_threads=5 sliced_threads=0 nr=0 decimate=1 > interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 > b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 > keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf > mbtree=1 crf=14.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 > aq=1:1.00 > Output #0, mp4, to 'finished.mp4': > Metadata: > encoder : Lavf58.45.100 > Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, > 1080x1080 [SAR 1:1 DAR 1:1], q=-1--1, 30 fps, 15360 tbn, 30 tbc > Metadata: > encoder : Lavc58.91.100 libx264 > Side data: > cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A > frame= 84 fps=0.0 q=20.0 size= 0kB time=00:00:00.10 bitrate= > 3.8kbits/frame= 150 fps=0.0 q=-1.0 Lsize= 10kB time=00:00:04.90 > bitrate= 17.3kbits/s dup=25 drop=0 speed=6.24x > video:8kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB > muxing overhead: 33.530972% > [libx264 @ 0x72b9f00] frame I:1 Avg QP: 1.00 size: 273 > [libx264 @ 0x72b9f00] frame P:38 Avg QP: 1.21 size: 53 > [libx264 @ 0x72b9f00] frame B:111 Avg QP: 4.67 size: 45 > [libx264 @ 0x72b9f00] consecutive B-frames: 1.3% 0.0% 0.0% 98.7% > [libx264 @ 0x72b9f00] mb I I16..4: 100.0% 0.0% 0.0% > [libx264 @ 0x72b9f00] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.0% > 0.0% 0.0% 0.0% 0.0% skip:100.0% > [libx264 @ 0x72b9f00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.0% > 0.0% 0.0% direct: 0.0% skip:100.0% > [libx264 @ 0x72b9f00] 8x8 transform intra:0.0% > [libx264 @ 0x72b9f00] coded y,uvDC,uvAC intra: 0.0% 0.0% 0.0% inter: > 0.0% 0.0% 0.0% > [libx264 @ 0x72b9f00] i16 v,h,dc,p: 99% 0% 1% 0% > [libx264 @ 0x72b9f00] i8c dc,h,v,p: 100% 0% 0% 0% > [libx264 @ 0x72b9f00] Weighted P-Frames: Y:0.0% UV:0.0% > [libx264 @ 0x72b9f00] kb/s:11.58 > > _______________________________________________ When you convert between RGB <=> YUV, bt709 matrix is used by convention for "HD" dimensions. ffmpeg uses bt601 by default unless otherwise specified The ideal procedure is to use bt709 for the actual conversion, and flag the file VUI elements as bt709 One way to do this is add -vf scale=out_color_matrix=bt709,format=yuv420p -x264opts colormatrix=bt709 ffmpeg -loop 1 -r 30 -i FULL.tga -aspect 1:1 -c:v libx264 -profile:v high -vf scale=out_color_matrix=bt709,format=yuv420p -x264opts colormatrix=bt709 -level 5.1 -vsync 1 -async 1 -crf 14 -t 5.000 -y finished.mp4 It's "normal" for 8bit conversions RGB <=> YUV conversions to be slightly off (+/- 3 in each channel) . For example if you started with RGB 252,42,41 , you might end up with RGB 252,41,42 or similar from the YUV back to RGB conversion for display. -- Sent from: http://ffmpeg-users.933282.n4.nabble.com/ _______________________________________________ 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 |