Recherche avancée

Médias (0)

Mot : - Tags -/content

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (108)

Sur d’autres sites (15686)

  • Wave64 (.w64) file format : question regarding chunk GUIDs

    24 janvier 2023, par pdu

    I am having trouble understanding the headers of the Wave64 (.w64) files generated by ffmpeg and especially the GUIDs.

    


    The specification

    


    I have found this document which describes the file format and the GUIDs. I have also found other websites (here and here) that (indirectly) point to the same document. So this document is the only thing I have.

    


    According to this document the GUIDs are 128bits/16bytes long and should start with the FourCC of the Wave file format, but in lowercase instead of uppercase (see page 3). It also says that the 64bits fields are stored in little-endian (see item 3 of the list page 1), but it does not say anything about 128bits fields (but it should be the same).
For example the GUID for the RIFF chunk is : 66666972-912E-11CF-A5D6-28DB04C10000.

    


    The problem

    


    When I open a .w64 file generated by ffmpeg with an hex editor, I get this : 72 69 66 66 2E 91 CF 11 A5 D6 28 DB 04 C1 00 00. At the beginning, 76 69 66 66 stands for riff in ASCII. We can see that 0x66666972 from the spec was indeed stored in little-endian order (so far, so good). If we continue, we have 2E 91 and CF 11, which are still little-endian for 0x912E and 0x11CF. But now it gets weird : the following group of bytes are : A5 D6 and 28 DB 04 C1 00 00 for 0xA5D6 and 0x28DB04C10000 in the spec. So it is in big-endian now ?

    


    For reference, the relevant ffmpeg source files are wavenc.c, w64.h and w64.c.
I have also found this thread where someone implemented a .wav to .w64 converter (see the .7z attachment in the first post) and the GUIDs are stored in the same way as ffmpeg.

    


    Conclusion

    


    Seeing that two different implementations are doing the same thing, it probably means that I am missing something. Do you have any explanation ?

    


  • FFmpeg - Wave64 (.w64) file format : question regarding chunk GUIDs

    26 janvier 2023, par pdu

    I am having trouble understanding the headers of the Wave64 (.w64) files generated by ffmpeg and especially the GUIDs.

    


    The specification

    


    I have found this document which describes the file format and the GUIDs. I have also found other websites (here and here) that (indirectly) point to the same document. So this document is the only thing I have.

    


    According to this document the GUIDs are 128bits/16bytes long and should start with the FourCC of the Wave file format, but in lowercase instead of uppercase (see page 3). It also says that the 64bits fields are stored in little-endian (see item 3 of the list page 1), but it does not say anything about 128bits fields (but it should be the same).
For example the GUID for the RIFF chunk is : 66666972-912E-11CF-A5D6-28DB04C10000.

    


    The problem

    


    When I open a .w64 file generated by ffmpeg with an hex editor, I get this : 72 69 66 66 2E 91 CF 11 A5 D6 28 DB 04 C1 00 00. At the beginning, 76 69 66 66 stands for riff in ASCII. We can see that 0x66666972 from the spec was indeed stored in little-endian order (so far, so good). If we continue, we have 2E 91 and CF 11, which are still little-endian for 0x912E and 0x11CF. But now it gets weird : the following group of bytes are : A5 D6 and 28 DB 04 C1 00 00 for 0xA5D6 and 0x28DB04C10000 in the spec. So it is in big-endian now ?

    


    For reference, the relevant ffmpeg source files are wavenc.c, w64.h and w64.c.
I have also found this thread where someone implemented a .wav to .w64 converter (see the .7z attachment in the first post) and the GUIDs are stored in the same way as ffmpeg.

    


    Conclusion

    


    Seeing that two different implementations are doing the same thing, it probably means that I am missing something. Do you have any explanation ?

    


  • ffmpeg scale question.It succeed when the size is 2048,but when 4096 failed [closed]

    7 septembre 2023, par 徐谷歌

    if :

    


    ffmpeg -y -loop 1 -i ./rebirth/image4.png -loop 1 -t 1.4 -i temp.png -filter_complex "[0]scale=2048:2048[video0],[video0][1]xfade=transition=fade:duration=0.8:offset=0.1" -c:v libx264 -r 30 -pix_fmt yuv444p temp.mp4


    


    it goes right.but when temp.png is bigger,it goes wrong,like :

    


    ffmpeg -y -loop 1 -i ./rebirth/image4.png -loop 1 -t 1.4 -i temp.png -filter_complex "[0]scale=4096:4096[video0],[video0][1]xfade=transition=fade:duration=0.8:offset=0.1" -c:v libx264 -r 30 -pix_fmt yuv444p temp.mp4


    


    I have enlarge the temp.png in the 2nd example.the size of image4.png is 1152x1152.