Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (85)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (13541)

  • VLC command line : RTSP to mp4 file (video + audio)

    8 février 2016, par Dmitriy Gerashenko

    Win 7 x64.

    When I watch this link in VLC player all is fine :

    rtsp ://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov

    When I try to capture link to file and to display :

    • There is video without sound on display.
    • Created file is not playable.

    Command :

    vlc.exe -vvv "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov" --sout="#transcode{venc=ffmpeg,vcodec=mp4v,vfilter=canvas{width=800,height=600},aenc=ffmpeg{strict=-2},acodec=mp4a}:duplicate{dst=display,dst=standard{access=file,mux=mp4,dst=video.mp4}"

    There are some errors in log, for example : MPEG4GenericRTPSource Warning: Unknown or unsupported "mode": AAC-hbr. Is it cause of my problems ? How to solve my issue ?

    Complete log (from VLCJ) :

    cd C:\Users\gda\Documents\NetBeansProjects\Video; "JAVA_HOME=C:\\Program Files (x86)\\Java\\jdk1.8.0_71" cmd /c "\"\"C:\\Users\\gda\\AppData\\Roaming\\NetBeans\\8.0.2\\maven\\bin\\mvn.bat\" -Dexec.args=\"-classpath %classpath ru.cherezweb.app.video.Video\" -Dexec.executable=\"C:\\Program Files (x86)\\Java\\jdk1.8.0_71\\bin\\java.exe\" -Dmaven.ext.class.path=C:\\Users\\gda\\AppData\\Roaming\\NetBeans\\8.0.2\\maven-nblib\\netbeans-eventspy.jar -Dfile.encoding=UTF-8 process-classes org.codehaus.mojo:exec-maven-plugin:1.2.1:exec\""
    Scanning for projects...

    ------------------------------------------------------------------------
    Building Video 1.0-SNAPSHOT
    ------------------------------------------------------------------------

    --- maven-resources-plugin:2.5:resources (default-resources) @ Video ---
    [debug] execute contextualize
    Using 'UTF-8' encoding to copy filtered resources.
    skip non existing resourceDirectory C:\Users\gda\Documents\NetBeansProjects\Video\src\main\resources

    --- maven-compiler-plugin:2.3.2:compile (default-compile) @ Video ---
    Nothing to compile - all classes are up to date

    --- exec-maven-plugin:1.2.1:exec (default-cli) @ Video ---
    20:37:29.097 [main] INFO  uk.co.caprica.vlcj.Info - vlcj: 3.10.1
    20:37:29.101 [main] INFO  uk.co.caprica.vlcj.Info - java: 1.8.0_71 Oracle Corporation
    20:37:29.101 [main] INFO  uk.co.caprica.vlcj.Info - java home: C:\Program Files (x86)\Java\jdk1.8.0_71\jre
    20:37:29.101 [main] INFO  uk.co.caprica.vlcj.Info - os: Windows 10 10.0 x86
    20:37:29.103 [main] DEBUG u.c.c.vlcj.discovery.NativeDiscovery - discover()
    20:37:29.103 [main] DEBUG u.c.c.vlcj.discovery.NativeDiscovery - jnaLibraryPath=null
    20:37:29.103 [main] DEBUG u.c.c.vlcj.discovery.NativeDiscovery - discoveryStrategy=uk.co.caprica.vlcj.discovery.linux.DefaultLinuxNativeDiscoveryStrategy@176c05c
    20:37:29.104 [main] DEBUG u.c.c.vlcj.discovery.NativeDiscovery - supported=false
    20:37:29.104 [main] DEBUG u.c.c.vlcj.discovery.NativeDiscovery - discoveryStrategy=uk.co.caprica.vlcj.discovery.windows.DefaultWindowsNativeDiscoveryStrategy@1eb6432
    20:37:29.104 [main] DEBUG u.c.c.vlcj.discovery.NativeDiscovery - supported=true
    20:37:29.104 [main] DEBUG u.c.c.v.d.AbstractNativeDiscoveryStrategy - discover()
    20:37:29.105 [main] DEBUG u.c.c.v.r.windows.WindowsRuntimeUtil - getVlcInstallDir()
    20:37:29.430 [main] DEBUG u.c.c.v.d.AbstractNativeDiscoveryStrategy - directoryNames=[C:\Program Files (x86)\VideoLAN\VLC, C:\Users\gda\Documents\NetBeansProjects\Video, C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter, C:\Program Files (x86)\Intel\iCLS Client\, C:\Program Files\Intel\iCLS Client\, C:\PROGRAMDATA\ORACLE\JAVA\JAVAPATH, C:\Windows\SYSTEM32, C:\Windows, C:\Windows\SYSTEM32\WBEM, C:\Windows\SYSTEM32\WINDOWSPOWERSHELL\V1.0\, C:\PROGRAM FILES\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\DAL, C:\PROGRAM FILES\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\IPT, C:\PROGRAM FILES (X86)\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\DAL, C:\PROGRAM FILES (X86)\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\IPT, C:\Program Files\Intel\Intel(R) Management Engine Components\DAL, C:\Program Files\Intel\Intel(R) Management Engine Components\IPT, C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL, C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT, C:\Program Files\WIDCOMM\Bluetooth Software\, C:\Program Files\WIDCOMM\Bluetooth Software\syswow64, C:\Program Files\TortoiseSVN\bin, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Program Files\OpenVPN\bin, C:\WINDOWS\system32, C:\WINDOWS, C:\WINDOWS\System32\Wbem, C:\WINDOWS\System32\WindowsPowerShell\v1.0\, C:\Program Files\TortoiseGit\bin, C:\Program Files (x86)\Skype\Phone\]
    20:37:29.430 [main] DEBUG u.c.c.v.d.AbstractNativeDiscoveryStrategy - directoryName=C:\Program Files (x86)\VideoLAN\VLC
    20:37:29.430 [main] DEBUG u.c.c.v.d.AbstractNativeDiscoveryStrategy - Matched 'libvlc.dll' in 'C:\Program Files (x86)\VideoLAN\VLC'
    20:37:29.430 [main] DEBUG u.c.c.v.d.AbstractNativeDiscoveryStrategy - Matched 'libvlccore.dll' in 'C:\Program Files (x86)\VideoLAN\VLC'
    20:37:29.430 [main] DEBUG u.c.c.v.d.AbstractNativeDiscoveryStrategy - Matched all required files
    20:37:29.430 [main] DEBUG u.c.c.v.d.AbstractNativeDiscoveryStrategy - result=C:\Program Files (x86)\VideoLAN\VLC
    20:37:29.430 [main] DEBUG u.c.c.vlcj.discovery.NativeDiscovery - path=C:\Program Files (x86)\VideoLAN\VLC
    20:37:29.431 [main] INFO  u.c.c.vlcj.discovery.NativeDiscovery - Discovery found libvlc at 'C:\Program Files (x86)\VideoLAN\VLC'
    true
    2.2.1 Terry Pratchett (Weatherwax)
    20:37:29.490 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - initX=null
    20:37:29.494 [main] INFO  u.c.c.vlcj.binding.LibVlcFactory - vlc: 2.2.1 Terry Pratchett (Weatherwax), changeset 2.2.1-0-ga425c42
    20:37:29.494 [main] INFO  u.c.c.vlcj.binding.LibVlcFactory - libvlc: C:\Program Files (x86)\VideoLAN\VLC\libvlc.dll
    20:37:29.494 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - MediaPlayerFactory(libvlc=Proxy interface to Native Library ,libvlcArgs=[])
    20:37:29.494 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - jna.library.path=null
    20:37:29.494 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - VLC_PLUGIN_PATH=null
    20:37:29.529 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - instance=native@0x1195650 (uk.co.caprica.vlcj.binding.internal.libvlc_instance_t@1195650)
    20:37:29.529 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - equalizerAvailable=true
    20:37:29.529 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - createEqualizerBandFrequencies()
    20:37:29.529 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - numBands=10
    20:37:29.530 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - result=[31.25, 62.5, 125.0, 250.0, 500.0, 1000.0, 2000.0, 4000.0, 8000.0, 16000.0]
    20:37:29.530 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - createEqualizerPresetNames()
    20:37:29.530 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - numPresets=18
    20:37:29.530 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - result=[Flat, Classical, Club, Dance, Full bass, Full bass and treble, Full treble, Headphones, Large Hall, Live, Party, Pop, Reggae, Rock, Ska, Soft, Soft rock, Techno]
    20:37:29.530 [main] DEBUG u.c.c.vlcj.player.MediaPlayerFactory - newHeadlessMediaPlayer()
    20:37:29.538 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - DefaultMediaPlayer(libvlc=Proxy interface to Native Library , instance=native@0x1195650 (uk.co.caprica.vlcj.binding.internal.libvlc_instance_t@1195650))
    20:37:29.538 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - createInstance()
    20:37:29.543 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - mediaPlayerInstance=native@0x16853ac4 (uk.co.caprica.vlcj.binding.internal.libvlc_media_player_t@16853ac4)
    20:37:29.544 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - mediaPlayerEventManager=native@0x16878818 (uk.co.caprica.vlcj.binding.internal.libvlc_event_manager_t@16878818)
    20:37:29.544 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - registerEventListener()
    20:37:29.546 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerMediaChanged
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerNothingSpecial
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerOpening
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerBuffering
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerPlaying
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.567 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerPaused
    20:37:29.568 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.568 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerStopped
    20:37:29.568 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.568 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerForward
    20:37:29.568 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.568 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerBackward
    20:37:29.568 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.568 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerEndReached
    20:37:29.568 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerEncounteredError
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerTimeChanged
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerPositionChanged
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerSeekableChanged
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerPausableChanged
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerTitleChanged
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.569 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerSnapshotTaken
    20:37:29.570 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.570 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerLengthChanged
    20:37:29.570 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.570 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerVout
    20:37:29.570 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.570 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaPlayerScrambledChanged
    20:37:29.570 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.572 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - playMedia(mrl=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov,mediaOptions=[:sout=#transcode{venc=ffmpeg,vcodec=mp4v,vfilter=canvas{width=800,height=600},aenc=ffmpeg{strict=-2},acodec=mp4a}:duplicate{dst=display,dst=standard{access=file,mux=mp4,dst=yahoo.m4v}}])
    20:37:29.573 [main] DEBUG u.c.c.v.player.MediaResourceLocator - encodeMrl(mrl=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov)
    20:37:29.573 [main] DEBUG u.c.c.v.player.MediaResourceLocator - MRL does not contain any Unicode characters
    20:37:29.573 [main] DEBUG u.c.c.v.player.MediaResourceLocator - result=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov
    20:37:29.574 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - playMedia(media=SimpleMedia[mrl=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov,mediaOptions=[Ljava.lang.String;@17c74e5])
    20:37:29.574 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - prepareMedia(media=SimpleMedia[mrl=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov,mediaOptions=[Ljava.lang.String;@17c74e5])
    20:37:29.574 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - setMedia(media=SimpleMedia[mrl=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov,mediaOptions=[Ljava.lang.String;@17c74e5])
    20:37:29.574 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - createMediaInstance(media=SimpleMedia[mrl=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov,mediaOptions=[Ljava.lang.String;@17c74e5])
    20:37:29.574 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - Treating mrl as a location
    20:37:29.574 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - mediaInstance=native@0x16876500 (uk.co.caprica.vlcj.binding.internal.libvlc_media_t@16876500)
    20:37:29.574 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - mediaOption=:sout=#transcode{venc=ffmpeg,vcodec=mp4v,vfilter=canvas{width=800,height=600},aenc=ffmpeg{strict=-2},acodec=mp4a}:duplicate{dst=display,dst=standard{access=file,mux=mp4,dst=yahoo.m4v}}
    20:37:29.575 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - registerMediaEventListener()
    20:37:29.575 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaMetaChanged
    20:37:29.575 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.575 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaSubItemAdded
    20:37:29.575 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaDurationChanged
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaParsedChanged
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaFreed
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaStateChanged
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - event=libvlc_MediaSubItemTreeAdded
    20:37:29.576 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=0
    20:37:29.585 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - mrl(mediaInstance=native@0x16876500 (uk.co.caprica.vlcj.binding.internal.libvlc_media_t@16876500))
    20:37:29.587 [pool-2-thread-1] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - mediaChanged(mediaPlayer=uk.co.caprica.vlcj.player.headless.DefaultHeadlessMediaPlayer@1727f27,media=native@0x16876500 (uk.co.caprica.vlcj.binding.internal.libvlc_media_t@16876500),mrl=rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov)
    20:37:29.588 [pool-2-thread-1] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - Raising event for new media
    20:37:29.588 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - result=true
    20:37:29.588 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - play()
    20:37:29.593 [main] DEBUG u.c.c.vlcj.player.DefaultMediaPlayer - after play
    MPEG4GenericRTPSource Warning: Unknown or unsupported "mode": AAC-hbr
    [1682c9cc] core input error: ES_OUT_RESET_PCR called
    [16f79744] core decoder error: cannot continue streaming due to errors
    [1682c9cc] core input error: ES_OUT_RESET_PCR called
    [h264 @ 1702ba80] decode_slice_header error
    [h264 @ 1702ba80] decode_slice_header error
    [16828134] stream_out_transcode stream out: input interval 41666 (base 2)
    [16828134] stream_out_transcode stream out: output interval 41666 (base 1)
  • FFMPEG - Zoompan image overlay keep ratio

    4 mai 2018, par Pier Giorgio Misley

    With zoompan I can zoom in and out an image overlayed over a video. My problem is that the image ratio is not respected and the image is stretched in something like 16:9

    The image in the center is a phone vertical picture, but It result like this : this

    Looks like zoompan is trying to stretch to full width and the height to.. something. How can I keep the ratio while zooming ? I tried using sar but it doesn’t work

    Note : I read this post and I probably should set the size, but how can I set it to keep the original one ?

    Edit :

    -i "vid.mov" -loop 1 -t 1 -i "1.png" -filter_complex "[1:v]format=rgba,scale=1440x2560,setsar=1/1,zoompan=z='min(zoom+0.0015,1.5)':s=720x1280:d=7250:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',fade=in:st=20:d=1:alpha=1,fade=out:st=77:d=1:alpha=1[im];[0][im]overlay=(main_w-overlay_w)/2:(main_h - overlay_h)/2:shortest=1" -pix_fmt yuv420p -c:a copy output_0.mp4

    With this, in some video format/resolutions it works, in others not

    ie : with .mp4 it works, with .mov it doesn’t

    Edit2 :

    here is the log (names here are not truncated, there is the full path instead of file name)

    Error : ffmpeg version N-90893-gcae6f806a6 Copyright (c) 2000-2018 the
    FFmpeg developers

    Error : built with gcc 7.3.0 (GCC)

    Error : configuration : —enable-gpl —enable-version3 —enable-sdl2
    —enable-bzlib —enable-fontconfig —enable-gnutls —enable-iconv —enable-libass —enable-libbluray —enable-libfreetype —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —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-libvo-amrwbenc —enable-libmysofa —enable-libspeex —enable-libxvid —enable-libaom —enable-libmfx —enable-amf —enable-ffnvcodec —enable-cuvid —enable-d3d11va —enable-nvenc —enable-nvdec —enable-dxva2 —enable-avisynth

    Error : libavutil 56. 17.100 / 56. 17.100

    Error : libavcodec 58. 19.100 / 58. 19.100

    Error : libavformat 58. 13.100 / 58. 13.100

    Error : libavdevice 58. 4.100 / 58. 4.100

    Error : libavfilter 7. 21.100 / 7. 21.100

    Error : libswscale 5. 2.100 / 5. 2.100

    Error : libswresample 3. 2.100 / 3. 2.100

    Error : libpostproc 55. 2.100 / 55. 2.100

    Error : Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
    ’C :\AREA\Progetti\VideoEditingDefunti\samples\video\template_religioso_2.mp4’ :

    Error : Metadata :

    Error : major_brand : isom

    Error : minor_version : 512

    Error : compatible_brands : isomiso2avc1mp41

    Error : encoder : Lavf58.13.100

    Error : Duration : 00:02:12.50, start : 0.000000, bitrate : 3149 kb/s

    Error : Stream #0:0(und) : Video : h264 (High) (avc1 / 0x31637661),
    yuv420p(tv, bt709), 1024x600 [SAR 1:1 DAR 128:75], 3014 kb/s, 24 fps,
    24 tbr, 19200 tbn, 50 tbc (default)

    Error : Metadata :

    Error : handler_name : VideoHandler

    Error : timecode : 00:00:00:00

    Error : Stream #0:1(und) : Audio : aac (LC) (mp4a / 0x6134706D),
    44100 Hz, stereo, fltp, 129 kb/s (default)

    Error : Metadata :

    Error : handler_name : SoundHandler

    Error : Stream #0:2(eng) : Data : none (tmcd / 0x64636D74)

    Error : Metadata :

    Error : handler_name : TimeCodeHandler

    Error : timecode : 00:00:00:00

    Error : Input #1, png_pipe, from
    ’C :\AREA\Progetti\VideoEditingDefunti\samples\in\esempio1\1 s.png’ :

    Error : Duration : N/A, bitrate : N/A

    Error : Stream #1:0 : Video : png, rgb24(pc), 720x1280, 25 fps, 25
    tbr, 25 tbn, 25 tbc

    Error : Stream mapping :

    Error : Stream #0:0 (h264) -> overlay:main

    Error : Stream #1:0 (png) -> format

    Error : overlay -> Stream #0:0 (libx264)

    Error : Stream #0:1 -> #0:1 (copy)

    Error : Press [q] to stop, [?] for help

    Error : [libx264 @ 000002415f7f8280] using SAR=1/1

    Error : [libx264 @ 000002415f7f8280] using cpu capabilities : MMX2
    SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

    Error : [libx264 @ 000002415f7f8280] profile High, level 3.1

    Error : [libx264 @ 000002415f7f8280] 264 - core 155 r2901 7d0ff22 -
    H.264/MPEG-4 AVC codec - Copyleft 2003-2018 -
    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=12
    lookahead_threads=2 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=24 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf
    mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40
    aq=1:1.00

    Error : Output #0, mp4, to
    ’C :\AREA\Progetti\VideoEditingDefunti\samples\in\esempio1\output_0.mp4’ :

    Error : Metadata :

    Error : major_brand : isom

    Error : minor_version : 512

    Error : compatible_brands : isomiso2avc1mp41

    Error : encoder : Lavf58.13.100

    Error : Stream #0:0 : Video : h264 (libx264) (avc1 / 0x31637661),
    yuv420p, 1024x600 [SAR 1:1 DAR 128:75], q=-1—1, 24 fps, 12288 tbn, 24
    tbc (default)

    Error : Metadata :

    Error : encoder : Lavc58.19.100 libx264

    Error : Side data :

    Error : cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay :
    -1

    Error : Stream #0:1(und) : Audio : aac (LC) (mp4a / 0x6134706D),
    44100 Hz, stereo, fltp, 129 kb/s (default)

    Error : Metadata :

    Error : handler_name : SoundHandler

    Error : [swscaler @ 0000024164404cc0] Warning : data is not aligned !
    This can lead to a speed loss

    Error : frame= 50 fps=0.0 q=0.0 size= 0kB time=00:00:02.39
    bitrate= 0.2kbits/s speed=4.76x

    Error : frame= 107 fps=106 q=28.0 size= 0kB time=00:00:04.76
    bitrate= 0.1kbits/s speed=4.72x

    Error : frame= 170 fps=113 q=28.0 size= 0kB time=00:00:07.38
    bitrate= 0.1kbits/s speed=4.89x

    Error : frame= 236 fps=117 q=28.0 size= 0kB time=00:00:10.14
    bitrate= 0.0kbits/s speed=5.05x

    Error : frame= 308 fps=123 q=28.0 size= 0kB time=00:00:13.14
    bitrate= 0.0kbits/s speed=5.23x

    Error : frame= 381 fps=126 q=28.0 size= 0kB time=00:00:16.18
    bitrate= 0.0kbits/s speed=5.37x

    Error : frame= 453 fps=129 q=28.0 size= 256kB time=00:00:19.17
    bitrate= 109.4kbits/s speed=5.45x

    Error : frame= 524 fps=130 q=28.0 size= 256kB time=00:00:22.12
    bitrate= 94.8kbits/s speed= 5.5x

    Error : frame= 587 fps=129 q=28.0 size= 256kB time=00:00:24.75
    bitrate= 84.7kbits/s speed=5.46x

    Error : frame= 640 fps=127 q=28.0 size= 512kB time=00:00:26.95
    bitrate= 155.6kbits/s speed=5.35x

    Error : frame= 695 fps=125 q=28.0 size= 768kB time=00:00:29.25
    bitrate= 215.1kbits/s speed=5.28x

    Error : frame= 751 fps=124 q=28.0 size= 1024kB time=00:00:31.60
    bitrate= 265.5kbits/s speed=5.22x

    Error : frame= 804 fps=123 q=28.0 size= 1280kB time=00:00:33.80
    bitrate= 310.2kbits/s speed=5.16x

    Error : frame= 856 fps=121 q=28.0 size= 1536kB time=00:00:35.96
    bitrate= 349.8kbits/s speed= 5.1x

    Error : frame= 906 fps=120 q=28.0 size= 1792kB time=00:00:38.05
    bitrate= 385.7kbits/s speed=5.03x

    Error : frame= 954 fps=118 q=28.0 size= 2048kB time=00:00:40.05
    bitrate= 418.9kbits/s speed=4.96x

    Error : frame= 1004 fps=117 q=28.0 size= 2304kB time=00:00:42.14
    bitrate= 447.9kbits/s speed=4.91x

    Error : frame= 1052 fps=116 q=28.0 size= 2560kB time=00:00:44.14
    bitrate= 475.1kbits/s speed=4.85x

    Error : frame= 1107 fps=115 q=28.0 size= 2816kB time=00:00:46.41
    bitrate= 497.0kbits/s speed=4.83x

    Error : frame= 1161 fps=115 q=28.0 size= 3072kB time=00:00:48.66
    bitrate= 517.1kbits/s speed=4.81x

    Error : frame= 1205 fps=113 q=28.0 size= 3584kB time=00:00:50.50
    bitrate= 581.4kbits/s speed=4.75x

    Error : frame= 1250 fps=112 q=28.0 size= 3840kB time=00:00:52.38
    bitrate= 600.5kbits/s speed=4.71x

    Error : frame= 1294 fps=111 q=28.0 size= 4096kB time=00:00:54.21
    bitrate= 618.9kbits/s speed=4.66x

    Error : frame= 1340 fps=110 q=28.0 size= 4608kB time=00:00:56.14
    bitrate= 672.3kbits/s speed=4.62x

    Error : frame= 1384 fps=109 q=28.0 size= 4864kB time=00:00:57.98
    bitrate= 687.2kbits/s speed=4.58x

    Error : frame= 1428 fps=108 q=28.0 size= 5120kB time=00:00:59.81
    bitrate= 701.2kbits/s speed=4.54x

    Error : frame= 1461 fps=107 q=28.0 size= 5376kB time=00:01:01.18
    bitrate= 719.8kbits/s speed=4.47x

    Error : frame= 1503 fps=106 q=28.0 size= 5632kB time=00:01:02.92
    bitrate= 733.2kbits/s speed=4.44x

    Error : frame= 1547 fps=105 q=28.0 size= 5888kB time=00:01:04.76
    bitrate= 744.8kbits/s speed=4.41x

    Error : frame= 1598 fps=105 q=28.0 size= 6144kB time=00:01:06.89
    bitrate= 752.4kbits/s speed= 4.4x

    Error : frame= 1633 fps=104 q=28.0 size= 6400kB time=00:01:08.33
    bitrate= 767.2kbits/s speed=4.35x

    Error : frame= 1676 fps=103 q=28.0 size= 6656kB time=00:01:10.14
    bitrate= 777.3kbits/s speed=4.33x

    Error : frame= 1724 fps=103 q=28.0 size= 6656kB time=00:01:12.14
    bitrate= 755.8kbits/s speed=4.31x

    Error : frame= 1760 fps=102 q=28.0 size= 7168kB time=00:01:13.63
    bitrate= 797.5kbits/s speed=4.28x

    Error : frame= 1784 fps=101 q=28.0 size= 7424kB time=00:01:14.62
    bitrate= 814.9kbits/s speed=4.21x

    Error : frame= 1815 fps= 99 q=28.0 size= 7936kB time=00:01:15.92
    bitrate= 856.2kbits/s speed=4.16x

    Error : frame= 1852 fps= 99 q=28.0 size= 8192kB time=00:01:17.46
    bitrate= 866.4kbits/s speed=4.13x

    Error : frame= 1886 fps= 98 q=28.0 size= 8704kB time=00:01:18.87
    bitrate= 904.0kbits/s speed=4.09x

    Error : frame= 1914 fps= 97 q=28.0 size= 8960kB time=00:01:20.06
    bitrate= 916.8kbits/s speed=4.04x

    Error : frame= 1954 fps= 96 q=28.0 size= 9216kB time=00:01:21.71
    bitrate= 924.0kbits/s speed=4.02x

    Error : frame= 1992 fps= 96 q=28.0 size= 9728kB time=00:01:23.31
    bitrate= 956.5kbits/s speed= 4x

    Error : frame= 2030 fps= 95 q=28.0 size= 9984kB time=00:01:24.89
    bitrate= 963.4kbits/s speed=3.98x

    Error : frame= 2073 fps= 95 q=28.0 size= 10752kB time=00:01:26.68
    bitrate=1016.2kbits/s speed=3.97x

    Error : frame= 2113 fps= 94 q=28.0 size= 11008kB time=00:01:28.35
    bitrate=1020.7kbits/s speed=3.95x

    Error : frame= 2141 fps= 94 q=28.0 size= 11264kB time=00:01:29.51
    bitrate=1030.9kbits/s speed=3.91x

    Error : frame= 2168 fps= 93 q=28.0 size= 11520kB time=00:01:30.62
    bitrate=1041.3kbits/s speed=3.88x

    Error : frame= 2205 fps= 92 q=28.0 size= 12032kB time=00:01:32.18
    bitrate=1069.2kbits/s speed=3.85x

    Error : frame= 2244 fps= 92 q=28.0 size= 12288kB time=00:01:33.80
    bitrate=1073.1kbits/s speed=3.84x

    Error : frame= 2294 fps= 92 q=28.0 size= 12544kB time=00:01:35.87
    bitrate=1071.8kbits/s speed=3.85x

    Error : frame= 2339 fps= 92 q=28.0 size= 12800kB time=00:01:37.75
    bitrate=1072.7kbits/s speed=3.84x

    Error : frame= 2389 fps= 92 q=28.0 size= 12800kB time=00:01:39.84
    bitrate=1050.2kbits/s speed=3.85x

    Error : frame= 2436 fps= 92 q=28.0 size= 13056kB time=00:01:41.79
    bitrate=1050.7kbits/s speed=3.85x

    Error : frame= 2481 fps= 92 q=28.0 size= 13312kB time=00:01:43.67
    bitrate=1051.8kbits/s speed=3.85x

    Error : frame= 2533 fps= 92 q=28.0 size= 13568kB time=00:01:45.83
    bitrate=1050.2kbits/s speed=3.85x

    Error : frame= 2564 fps= 92 q=28.0 size= 13824kB time=00:01:47.13
    bitrate=1057.0kbits/s speed=3.83x

    Error : frame= 2615 fps= 92 q=28.0 size= 14080kB time=00:01:49.27
    bitrate=1055.6kbits/s speed=3.84x

    Error : frame= 2662 fps= 92 q=28.0 size= 14336kB time=00:01:51.22
    bitrate=1055.9kbits/s speed=3.84x

    Error : frame= 2701 fps= 92 q=28.0 size= 14592kB time=00:01:52.84
    bitrate=1059.3kbits/s speed=3.83x

    Error : frame= 2746 fps= 92 q=28.0 size= 14592kB time=00:01:54.72
    bitrate=1041.9kbits/s speed=3.83x

    Error : frame= 2790 fps= 91 q=28.0 size= 14848kB time=00:01:56.56
    bitrate=1043.5kbits/s speed=3.82x

    Error : frame= 2834 fps= 91 q=28.0 size= 15360kB time=00:01:58.35
    bitrate=1063.2kbits/s speed=3.82x

    Error : frame= 2877 fps= 91 q=28.0 size= 15616kB time=00:02:00.18
    bitrate=1064.4kbits/s speed=3.82x

    Error : frame= 2921 fps= 91 q=28.0 size= 15616kB time=00:02:02.02
    bitrate=1048.4kbits/s speed=3.81x

    Error : frame= 2962 fps= 91 q=28.0 size= 15872kB time=00:02:03.71
    bitrate=1051.0kbits/s speed=3.81x

    Error : frame= 3013 fps= 91 q=28.0 size= 16128kB time=00:02:05.85
    bitrate=1049.8kbits/s speed=3.81x

    Error : frame= 3080 fps= 92 q=28.0 size= 16128kB time=00:02:08.63
    bitrate=1027.1kbits/s speed=3.84x

    Error : frame= 3147 fps= 93 q=28.0 size= 16128kB time=00:02:11.42
    bitrate=1005.3kbits/s speed=3.86x

    Error : frame= 3180 fps= 93 q=-1.0 Lsize= 16525kB time=00:02:12.49
    bitrate=1021.7kbits/s speed=3.86x

    Error : video:14336kB audio:2088kB subtitle:0kB other streams:0kB
    global headers:0kB muxing overhead : 0.612608%

    Error : [libx264 @ 000002415f7f8280] frame I:14 Avg QP:16.64 size :
    42662

    Error : [libx264 @ 000002415f7f8280] frame P:1149 Avg QP:20.03 size :
    10088

    Error : [libx264 @ 000002415f7f8280] frame B:2017 Avg QP:21.44 size :
    1235

    Error : [libx264 @ 000002415f7f8280] consecutive B-frames : 2.6% 37.5%
    2.5% 57.4%

    Error : [libx264 @ 000002415f7f8280] mb I I16..4 : 30.9% 57.6% 11.5%

    Error : [libx264 @ 000002415f7f8280] mb P I16..4 : 4.3% 5.9% 0.3%
    P16..4 : 35.2% 9.9% 7.4% 0.0% 0.0% skip:36.9%

    Error : [libx264 @ 000002415f7f8280] mb B I16..4 : 0.3% 0.5% 0.0%
    B16..8 : 19.3% 0.9% 0.1% direct : 2.0% skip:76.9% L0:39.8% L1:55.2%
    BI : 5.0%

    Error : [libx264 @ 000002415f7f8280] 8x8 transform intra:56.7%
    inter:84.0%

    Error : [libx264 @ 000002415f7f8280] coded y,uvDC,uvAC intra : 33.3%
    65.5% 24.9% inter : 10.4% 17.5% 2.4%

    Error : [libx264 @ 000002415f7f8280] i16 v,h,dc,p : 59% 17% 11% 12%

    Error : [libx264 @ 000002415f7f8280] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu : 35%
    15% 33% 2% 3% 3% 3% 3% 2%

    Error : [libx264 @ 000002415f7f8280] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu : 36%
    18% 13% 4% 6% 7% 6% 6% 4%

    Error : [libx264 @ 000002415f7f8280] i8c dc,h,v,p : 52% 17% 24% 7%

    Error : [libx264 @ 000002415f7f8280] Weighted P-Frames : Y:25.6%
    UV:17.5%

    Error : [libx264 @ 000002415f7f8280] ref P L0 : 65.1% 15.7% 14.4% 4.3%
    0.5%

    Error : [libx264 @ 000002415f7f8280] ref B L0 : 89.8% 8.1% 2.1%

    Error : [libx264 @ 000002415f7f8280] ref B L1 : 98.1% 1.9%

    Error : [libx264 @ 000002415f7f8280] kb/s:886.33

    Error :

  • IJG swings again, and misses

    1er février 2010, par Mans — Multimedia

    Earlier this month the IJG unleashed version 8 of its ubiquitous libjpeg library on the world. Eager to try out the “major breakthrough in image coding technology” promised in the README file accompanying v7, I downloaded the release. A glance at the README file suggests something major indeed is afoot :

    Version 8.0 is the first release of a new generation JPEG standard to overcome the limitations of the original JPEG specification.

    The text also hints at the existence of a document detailing these marvellous new features, and a Google search later a copy has found its way onto my monitor. As I read, however, my state of mind shifts from an initial excited curiosity, through bewilderment and disbelief, finally arriving at pure merriment.

    Already on the first page it becomes clear no new JPEG standard in fact exists. All we have is an unsolicited proposal sent to the ITU-T by members of the IJG. Realising that even the most brilliant of inventions must start off as mere proposals, I carry on reading. The summary informs me that I am about to witness the introduction of three extensions to the T.81 JPEG format :

    1. An alternative coefficient scan sequence for DCT coefficient serialization
    2. A SmartScale extension in the Start-Of-Scan (SOS) marker segment
    3. A Frame Offset definition in or in addition to the Start-Of-Frame (SOF) marker segment

    Together these three extensions will, it is promised, “bring DCT based JPEG back to the forefront of state-of-the-art image coding technologies.”

    Alternative scan

    The first of the proposed extensions introduces an alternative DCT coefficient scan sequence to be used in place of the zigzag scan employed in most block transform based codecs.

    Alternative scan sequence

    Alternative scan sequence

    The advantage of this scan would be that combined with the existing progressive mode, it simplifies decoding of an initial low-resolution image which is enhanced through subsequent passes. The author of the document calls this scheme “image-pyramid/hierarchical multi-resolution coding.” It is not immediately obvious to me how this constitutes even a small advance in image coding technology.

    At this point I am beginning to suspect that our friend from the IJG has been trapped in a half-world between interlaced GIF images transmitted down noisy phone lines and today’s inferno of SVC, MVC, and other buzzwords.

    (Not so) SmartScale

    Disguised behind this camel-cased moniker we encounter a method which, we are told, will provide better image quality at high compression ratios. The author has combined two well-known (to us) properties in a (to him) clever way.

    The first property concerns the perceived impact of different types of distortion in an image. When encoding with JPEG, as the quantiser is increased, the decoded image becomes ever more blocky. At a certain point, a better subjective visual quality can be achieved by down-sampling the image before encoding it, thus allowing a lower quantiser to be used. If the decoded image is scaled back up to the original size, the unpleasant, blocky appearance is replaced with a smooth blur.

    The second property belongs to the DCT where, as we all know, the top-left (DC) coefficient is the average of the entire block, its neighbours represent the lowest frequency components etc. A top-left-aligned subset of the coefficient block thus represents a low-resolution version of the full block in the spatial domain.

    In his flash of genius, our hero came up with the idea of using the DCT for down-scaling the image. Unfortunately, he appears to possess precious little knowledge of sampling theory and human visual perception. Any block-based resampling will inevitably produce sharp artefacts along the block edges. The human visual system is particularly sensitive to sharp edges, so this is one of the most unwanted types of distortion in an encoded image.

    Despite the obvious flaws in this approach, I decided to give it a try. After all, the software is already written, allowing downscaling by factors of 8/8..16.

    Using a 1280×720 test image, I encoded it with each of the nine scaling options, from unity to half size, each time adjusting the quality parameter for a final encoded file size of no more than 200000 bytes. The following table presents the encoded file size, the libjpeg quality parameter used, and the SSIM metric for each of the images.

    Scale Size Quality SSIM
    8/8 198462 59 0.940
    8/9 196337 70 0.936
    8/10 196133 79 0.934
    8/11 197179 84 0.927
    8/12 193872 89 0.915
    8/13 197153 92 0.914
    8/14 188334 94 0.899
    8/15 198911 96 0.886
    8/16 197190 97 0.869

    Although the smaller images allowed a higher quality setting to be used, the SSIM value drops significantly. Numbers may of course be misleading, but the images below speak for themselves. These are cut-outs from the full image, the original on the left, unscaled JPEG-compressed in the middle, and JPEG with 8/16 scaling to the right.

    Looking at these images, I do not need to hesitate before picking the JPEG variant I prefer.

    Frame offset

    The third and final extension proposed is quite simple and also quite pointless : a top-left cropping to be applied to the decoded image. The alleged utility of this feature would be to enable lossless cropping of a JPEG image. In a typical image workflow, however, JPEG is only used for the final published version, so the need for this feature appears quite far-fetched.

    The grand finale

    Throughout the text, the author makes references to “the fundamental DCT property for image representation.” In his own words :

    This property was found by the author during implementation of the new DCT scaling features and is after his belief one of the most important discoveries in digital image coding after releasing the JPEG standard in 1992.

    The secret is to be revealed in an annex to the main text. This annex quotes in full a post by the author to the comp.dsp Usenet group in a thread with the subject why DCT. Reading the entire thread proves quite amusing. A few excerpts follow.

    The actual reason is much simpler, and therefore apparently very difficult to recognize by complicated-thinking people.

    Here is the explanation :

    What are people doing when they have a bunch of images and want a quick preview ? They use thumbnails ! What are thumbnails ? Thumbnails are small downscaled versions of the original image ! If you want more details of the image, you can zoom in stepwise by enlarging (upscaling) the image.

    So with proper understanding of the fundamental DCT property, the MPEG folks could make their videos more scalable, but, as in the case of JPEG, they are unable to recognize this simple but basic property, unfortunately, and pursue rather inferior approaches in actual developments.

    These are just phrases, and they don’t explain anything. But this is typical for the current state in this field : The relevant people ignore and deny the true reasons, and thus they turn in a circle and no progress is being made.

    However, there are dark forces in action today which ignore and deny any fruitful advances in this field. That is the reason that we didn’t see any progress in JPEG for more than a decade, and as long as those forces dominate, we will see more confusion and less enlightenment. The truth is always simple, and the DCT *is* simple, but this fact is suppressed by established people who don’t want to lose their dubious position.

    I believe a trip to the Total Perspective Vortex may be in order. Perhaps his tin-foil hat will save him.