ffmpeg -layer flag

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

ffmpeg -layer flag

Dan Walker
Hello,

I'm trying to find info on the -layer flag for ffmpeg which seems to be
undocumented in terms of examples.

I have a sequence of multilayer EXRs that I'm trying to convert to JPEG and
from the sounds of it, I would be able to extract channels in the
multilayer EXR [e.g. R,G,B or Diffuse, etc....] and outtput the JPEGS that
way due to ffmpeg not being able to straight up convert from mutilayer EXR
-> JPEG.

I've scoured the web, can't find anything in terms of examples on how to
use this flag.

https://gist.github.com/tayvano/6e2d456a9897f55025e25035478a3a50#file-gistfile1-txt-L598

EXR AVOptions:
-layer .D.V…. Set the decoding layer (default “”)

Thanks,

Dan
_______________________________________________
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".
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg -layer flag

Carl Eugen Hoyos-2
Am Sa., 18. Jan. 2020 um 02:47 Uhr schrieb Dan Walker <[hidden email]>:

> I'm trying to find info on the -layer flag for ffmpeg which seems to be
> undocumented in terms of examples.
>
> I have a sequence of multilayer EXRs that I'm trying to convert to JPEG and
> from the sounds of it, I would be able to extract channels in the
> multilayer EXR [e.g. R,G,B or Diffuse, etc....] and outtput the JPEGS that
> way due to ffmpeg not being able to straight up convert from mutilayer EXR
> -> JPEG.
>
> I've scoured the web, can't find anything in terms of examples on how to
> use this flag.
>
> https://gist.github.com/tayvano/6e2d456a9897f55025e25035478a3a50#file-gistfile1-txt-L598
>
> EXR AVOptions:
> -layer .D.V…. Set the decoding layer (default “”)

Seriously:
What did you try? You write above that you have "multilayer EXR [R,G,B": Did
you test ffmpeg -layer G -i input out.jpg?

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".
gga
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg -layer flag

gga


El 17/01/20 a las 23:26, Carl Eugen Hoyos escribió:
> Am Sa., 18. Jan. 2020 um 02:47 Uhr schrieb Dan Walker <[hidden email]>:
>
>> I'm trying to find info on the -layer flag for ffmpeg which seems to be
>> undocumented in terms of examples.
> Seriously:
> What did you try? You write above that you have "multilayer EXR [R,G,B": Did
> you test ffmpeg -layer G -i input out.jpg?
The flag seems to be somewhat broken on current head.   It should allow
you to extract rgb (or xyz) channels from multiview EXRs. However, it
only allows uppercase channels, like N.X or indirect_diffuse.R.
I'll submit a patch to fix that.

It does not work with OpenEXRs 2.0 multipart files (known limitation).

_______________________________________________
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".
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg -layer flag

Dan Walker
In reply to this post by Carl Eugen Hoyos-2
@Carl - I did try multiple single channels at a time [ e.g. ffmpeg -layer G
-i input out.jpg ] and other layers such as [ A, N.x, P_world.G ] and each
attempt fails:

U:\> ffmpeg -layer G -i
Y:\projects\skyCity\locations\int1\opt1\008-ngt\fx\work\houdini\renders\SRain\shot08_Cam12\v003\skyCity_int1_opt1_008-ngt_fx_SRain_v003.0050.exr
Y:\projects\skyCity\locations\int1\opt1\008-ngt\fx\work\houdini\renders\SRain\shot08_Cam12\v003\out.0050.jpg

ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv
--enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame
--enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy
--enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx
--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265
--enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
--enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
--enable-libmfx
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[exr @ 000002785eca39a0] Channel doesn't match layer : A.
[exr @ 000002785eca39a0] Channel doesn't match layer : B.
*[exr @ 000002785eca39a0] Channel match layer : G.*
[exr @ 000002785eca39a0] Unsupported channel .
[exr @ 000002785eca39a0] Channel doesn't match layer : N.x.
[exr @ 000002785eca39a0] Unsupported channel N.x.
[exr @ 000002785eca39a0] Channel doesn't match layer : N.y.
[exr @ 000002785eca39a0] Unsupported channel N.y.
[exr @ 000002785eca39a0] Channel doesn't match layer : N.z.
[exr @ 000002785eca39a0] Unsupported channel N.z.
[exr @ 000002785eca39a0] Channel doesn't match layer : P_world.B.
[exr @ 000002785eca39a0] Unsupported channel P_world.B.
[exr @ 000002785eca39a0] Channel doesn't match layer : P_world.G.
[exr @ 000002785eca39a0] Unsupported channel P_world.G.
[exr @ 000002785eca39a0] Channel doesn't match layer : P_world.R.
[exr @ 000002785eca39a0] Unsupported channel P_world.R.
[exr @ 000002785eca39a0] Channel doesn't match layer : R.
[exr @ 000002785eca39a0] Channel doesn't match layer : Z.
[exr @ 000002785eca39a0] RGB channels not of the same depth.
[exr_pipe @ 000002785d5c6740] Stream #0: not enough frames to estimate
rate; consider increasing probesize
[exr_pipe @ 000002785d5c6740] decoding for stream 0 failed
[exr_pipe @ 000002785d5c6740] Could not find codec parameters for stream 0
(Video: exr, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
Input #0, exr_pipe, from
'Y:\projects\skyCity\locations\int1\opt1\008-ngt\fx\work\houdini\renders\SRain\shot08_Cam12\v003\skyCity_int1_opt1_008-ngt_fx_SRain_v003.0050.exr':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: exr, none, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (exr (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[exr @ 000002785d5c8520] Channel doesn't match layer : A.
[exr @ 000002785d5c8520] Channel doesn't match layer : B.
*[exr @ 000002785d5c8520] Channel match layer : G.*
[exr @ 000002785d5c8520] Unsupported channel .
[exr @ 000002785d5c8520] Channel doesn't match layer : N.x.
[exr @ 000002785d5c8520] Unsupported channel N.x.
[exr @ 000002785d5c8520] Channel doesn't match layer : N.y.
[exr @ 000002785d5c8520] Unsupported channel N.y.
[exr @ 000002785d5c8520] Channel doesn't match layer : N.z.
[exr @ 000002785d5c8520] Unsupported channel N.z.
[exr @ 000002785d5c8520] Channel doesn't match layer : P_world.B.
[exr @ 000002785d5c8520] Unsupported channel P_world.B.
[exr @ 000002785d5c8520] Channel doesn't match layer : P_world.G.
[exr @ 000002785d5c8520] Unsupported channel P_world.G.
[exr @ 000002785d5c8520] Channel doesn't match layer : P_world.R.
[exr @ 000002785d5c8520] Unsupported channel P_world.R.
[exr @ 000002785d5c8520] Channel doesn't match layer : R.
[exr @ 000002785d5c8520] Channel doesn't match layer : Z.
[exr @ 000002785d5c8520] RGB channels not of the same depth.
Error while decoding stream #0:0: Invalid data found when processing input
Finishing stream 0:0 without any data written to it.
Nothing was written into output file 0
(Y:\projects\skyCity\locations\int1\opt1\008-ngt\fx\work\houdini\renders\SRain\shot08_Cam12\v003\out.0050.jpg),
because at least one of its streams received no packets.
frame=    0 fps=0.0 q=0.0 Lsize=N/A time=-577014:32:22.77 bitrate=N/A
speed=N/A
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames
parameters if used)
Conversion failed!

On Fri, Jan 17, 2020 at 6:26 PM Carl Eugen Hoyos <[hidden email]> wrote:

> Am Sa., 18. Jan. 2020 um 02:47 Uhr schrieb Dan Walker <
> [hidden email]>:
>
> > I'm trying to find info on the -layer flag for ffmpeg which seems to be
> > undocumented in terms of examples.
> >
> > I have a sequence of multilayer EXRs that I'm trying to convert to JPEG
> and
> > from the sounds of it, I would be able to extract channels in the
> > multilayer EXR [e.g. R,G,B or Diffuse, etc....] and outtput the JPEGS
> that
> > way due to ffmpeg not being able to straight up convert from mutilayer
> EXR
> > -> JPEG.
> >
> > I've scoured the web, can't find anything in terms of examples on how to
> > use this flag.
> >
> >
> https://gist.github.com/tayvano/6e2d456a9897f55025e25035478a3a50#file-gistfile1-txt-L598
> >
> > EXR AVOptions:
> > -layer .D.V…. Set the decoding layer (default “”)
>
> Seriously:
> What did you try? You write above that you have "multilayer EXR [R,G,B":
> Did
> you test ffmpeg -layer G -i input out.jpg?
>
> 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".
_______________________________________________
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".
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg -layer flag

Dan Walker
In reply to this post by gga
@Gonzalo - Thanks for that feedback! With the channels listed in the
response I sent Carl, do you see any issues with the channel names?  These
image sequences are coming from SideFX Houdini.

When a patch is created, where would I get that?

Thanks again Gonzalo!



On Sun, Jan 19, 2020 at 1:36 PM Gonzalo Garramuño <[hidden email]>
wrote:

>
>
> El 17/01/20 a las 23:26, Carl Eugen Hoyos escribió:
> > Am Sa., 18. Jan. 2020 um 02:47 Uhr schrieb Dan Walker <
> [hidden email]>:
> >
> >> I'm trying to find info on the -layer flag for ffmpeg which seems to be
> >> undocumented in terms of examples.
> > Seriously:
> > What did you try? You write above that you have "multilayer EXR [R,G,B":
> Did
> > you test ffmpeg -layer G -i input out.jpg?
> The flag seems to be somewhat broken on current head.   It should allow
> you to extract rgb (or xyz) channels from multiview EXRs. However, it
> only allows uppercase channels, like N.X or indirect_diffuse.R.
> I'll submit a patch to fix that.
>
> It does not work with OpenEXRs 2.0 multipart files (known limitation).
>
> _______________________________________________
> 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".
_______________________________________________
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".
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg -layer flag

Carl Eugen Hoyos-2
In reply to this post by Dan Walker
Am Di., 21. Jan. 2020 um 21:37 Uhr schrieb Dan Walker <[hidden email]>:

>
> @Carl - I did try multiple single channels at a time [ e.g. ffmpeg -layer G
> -i input out.jpg ] and other layers such as [ A, N.x, P_world.G ] and each
> attempt fails:
>
> U:\> ffmpeg -layer G -i
> Y:\projects\skyCity\locations\int1\opt1\008-ngt\fx\work\houdini\renders\SRain\shot08_Cam12\v003\skyCity_int1_opt1_008-ngt_fx_SRain_v003.0050.exr
> Y:\projects\skyCity\locations\int1\opt1\008-ngt\fx\work\houdini\renders\SRain\shot08_Cam12\v003\out.0050.jpg
>
> ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers

Far too old...

Please provide such a sample.

Find out what top-posting means and avoid it here, 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".
gga
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg -layer flag

gga
In reply to this post by Dan Walker

On 21/1/20 17:42, Dan Walker wrote:
> @Gonzalo - Thanks for that feedback! With the channels listed in the
> response I sent Carl, do you see any issues with the channel names?  These
> image sequences are coming from SideFX Houdini.
Yes.  N.x, N.y, and N.z are lowercase so you won't get a match.  You
might get a match with "-layer P_world" as that, strangely, has the
channels in uppercase.
> When a patch is created, where would I get that?
>
> Thanks again Gonzalo!

You should go to [hidden email] where I posted a patch (look
for the email "libavcodec/exr.c: Made channel names case insensitive"). 
You then need to recompile ffmpeg with the patch applied.

The patch is waiting review for approval and if it is rejected you won't
get it in any version of ffmpeg.  If it is approved, you may see it show
up in a week or so from the time of approval on ffmpeg.zeranoe.com for
example.


--
Gonzalo Garramuño

_______________________________________________
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".
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg -layer flag

Carl Eugen Hoyos-2
In reply to this post by Dan Walker
Am Di., 21. Jan. 2020 um 21:43 Uhr schrieb Dan Walker <[hidden email]>:

> When a patch is created, where would I get that?

https://ffmpeg.org/pipermail/ffmpeg-devel/2020-January/256030.html

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".
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg -layer flag

Carl Eugen Hoyos-2
In reply to this post by gga
Am So., 19. Jan. 2020 um 22:36 Uhr schrieb Gonzalo Garramuño
<[hidden email]>:

>
> El 17/01/20 a las 23:26, Carl Eugen Hoyos escribió:
> > Am Sa., 18. Jan. 2020 um 02:47 Uhr schrieb Dan Walker <[hidden email]>:
> >
> >> I'm trying to find info on the -layer flag for ffmpeg which seems to be
> >> undocumented in terms of examples.
> > Seriously:
> > What did you try? You write above that you have "multilayer EXR [R,G,B": Did
> > you test ffmpeg -layer G -i input out.jpg?
> The flag seems to be somewhat broken on current head.   It should allow
> you to extract rgb (or xyz) channels from multiview EXRs. However, it
> only allows uppercase channels, like N.X or indirect_diffuse.R.
> I'll submit a patch to fix that.

The patch was pushed to the FFmpeg repository.

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".
gga
Reply | Threaded
Open this post in threaded view
|

Re: ffmpeg -layer flag

gga


El 22/01/20 a las 09:13, Carl Eugen Hoyos escribió
> The patch was pushed to the FFmpeg repository.
>
> Carl Eugen
Thank you, Carl.  You are the best.

_______________________________________________
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".