
Recherche avancée
Autres articles (69)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)
Sur d’autres sites (7865)
-
Understanding Data Processing Agreements and How They Affect GDPR Compliance
9 octobre 2023, par Erin — GDPR -
ffmpeg giving Error while decoding stream #0:1 : Invalid data found when processing input
11 octobre 2023, par user1432181I am trying to merge two video files into one using ffmpeg on Windows. The process has been proven to work over and over (with over 100 files merged together at some points) - but I have come across an input file that is causing the process to fail with the errors :


_[aac @ 00000142532f74c0] channel element 1.0 is not allocated
Error while decoding stream #0:1: Invalid data found when processing input
[aac @ 00000142532f74c0] channel element 1.0 is not allocated
Error while decoding stream #0:1: Invalid data found when processing input
[aac @ 00000142532f74c0] channel element 1.0 is not allocated
.
.
.



There seems to be 3 command line steps to get here, using a concats-inputs.dat file containing :


file E:/..../snippet A.mp4
file E:/..../snippet B.mp4



(Copies of these files can be found at https://filebin.net/77wbowvh7vbklkey/snippet_A.mp4 and https://filebin.net/77wbowvh7vbklkey/snippet_B.mp4)


Step 1 :


> ffmpeg-6.0-full_build/bin/ffmpeg -y -progress ".Default.mp4.progressinfo.dat" -vsync 0 -f concat -safe 0 -i "E:/...../concat-inputs.dat" -c:v copy -c:a copy -crf 0 -b:v 10M "E:/...../video.Default.mp4"



with the output....


built with gcc 12.2.0 (Rev10, Built by MSYS2 project)

 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint

 libavutil 58. 2.100 / 58. 2.100

 libavcodec 60. 3.100 / 60. 3.100

 libavformat 60. 3.100 / 60. 3.100

 libavdevice 60. 1.100 / 60. 1.100

 libavfilter 9. 3.100 / 9. 3.100

 libswscale 7. 1.100 / 7. 1.100

 libswresample 4. 10.100 / 4. 10.100

 libpostproc 57. 1.100 / 57. 1.100

-vsync is deprecated. Use -fps_mode

Passing a number to -vsync is deprecated, use a string argument as described in the manual.

[mov,mp4,m4a,3gp,3g2,mj2 @ 000001bf88ffe240] Auto-inserting h264_mp4toannexb bitstream filter

Input #0, concat, from 'E:/...../concat-inputs.dat':

 Duration: N/A, start: -0.010667, bitrate: 20382 kb/s

 Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 20043 kb/s, 50 fps, 50 tbr, 12800 tbn

 Metadata:

 handler_name : VideoHandler

 vendor_id : [0][0][0][0]

 encoder : Lavc60.3.100 libx264

 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 96000 Hz, 5.1, fltp, 339 kb/s

 Metadata:

 handler_name : SoundHandler

 vendor_id : [0][0][0][0]

Output #0, mp4, to 'E:/...../video.Default.mp4':

 Metadata:

 encoder : Lavf60.3.100

 Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 10000 kb/s, 50 fps, 50 tbr, 12800 tbn

 Metadata:

 handler_name : VideoHandler

 vendor_id : [0][0][0][0]

 encoder : Lavc60.3.100 libx264

 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 96000 Hz, 5.1, fltp, 339 kb/s

 Metadata:

 handler_name : SoundHandler

 vendor_id : [0][0][0][0]

Stream mapping:

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

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

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

frame= 0 fps=0.0 q=-1.0 size= 0kB time=00:00:00.00 bitrate=N/A speed=N/A 
_[mov,mp4,m4a,3gp,3g2,mj2 @ 000001bf890653c0] Auto-inserting h264_mp4toannexb bitstream filter

[mp4 @ 000001bf89000580] Non-monotonous DTS in output stream 0:1; previous: 180224, current: 180192; changing to 180225. This may result in incorrect timestamps in the output file.

frame= 210 fps=0.0 q=-1.0 Lsize= 11537kB time=00:00:04.21 bitrate=22433.7kbits/s speed=41.9x

video:11417kB audio:114kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.053312%



Step 2


> ffmpeg-6.0-full_build/bin/ffmpeg -y -progress ".Default.mp4.progressinfo.dat" -vsync 0 -f concat -safe 0 -i "E:/...../concat-inputs.dat" -c:v copy -c:a copy -crf 0 -b:v 10M "E:/...../audio.Default.wav"



which outputs...


ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers

 built with gcc 12.2.0 (Rev10, Built by MSYS2 project)

 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint

 libavutil 58. 2.100 / 58. 2.100

 libavcodec 60. 3.100 / 60. 3.100

 libavformat 60. 3.100 / 60. 3.100

 libavdevice 60. 1.100 / 60. 1.100

 libavfilter 9. 3.100 / 9. 3.100

 libswscale 7. 1.100 / 7. 1.100

 libswresample 4. 10.100 / 4. 10.100

 libpostproc 57. 1.100 / 57. 1.100

-vsync is deprecated. Use -fps_mode

Passing a number to -vsync is deprecated, use a string argument as described in the manual.

[mov,mp4,m4a,3gp,3g2,mj2 @ 00000246d314e240] Auto-inserting h264_mp4toannexb bitstream filter

Input #0, concat, from 'E:/...../concat-inputs.dat':

 Duration: N/A, start: -0.010667, bitrate: 20382 kb/s

 Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 20043 kb/s, 50 fps, 50 tbr, 12800 tbn

 Metadata:

 handler_name : VideoHandler

 vendor_id : [0][0][0][0]

 encoder : Lavc60.3.100 libx264

 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 96000 Hz, 5.1, fltp, 339 kb/s

 Metadata:

 handler_name : SoundHandler

 vendor_id : [0][0][0][0]

[out#0/wav @ 00000246d31bd240] Codec AVOption b (set bitrate (in bits/s)) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.

Output #0, wav, to 'E:/...../audio.Default.wav':

 Metadata:

 ISFT : Lavf60.3.100

 Stream #0:0(und): Audio: aac (LC) ([255][0][0][0] / 0x00FF), 96000 Hz, 5.1, fltp, 339 kb/s

 Metadata:

 handler_name : SoundHandler

 vendor_id : [0][0][0][0]

Stream mapping:

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

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

size= 0kB time=00:00:00.00 bitrate=N/A speed=N/A 
_[mov,mp4,m4a,3gp,3g2,mj2 @ 00000246d3b009c0] Auto-inserting h264_mp4toannexb bitstream filter

[wav @ 00000246d3150580] Non-monotonous DTS in output stream 0:0; previous: 180224, current: 180192; changing to 180224. This may result in incorrect timestamps in the output file.

size= 114kB time=00:00:04.21 bitrate= 222.4kbits/s speed= 128x

video:0kB audio:114kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.102561%



Step 3


> ffmpeg-6.0-full_build/bin/ffmpeg -y -progress ".Default.mp4.progressinfo.dat" -i "E:/...../video.Default.mp4" -i "E:/...../audio.Default.wav" -crf 0 -c:v copy -c:a aac "E:/...../Default.mp4"



... which then gives the errors....


ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers

 built with gcc 12.2.0 (Rev10, Built by MSYS2 project)

 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint

 libavutil 58. 2.100 / 58. 2.100

 libavcodec 60. 3.100 / 60. 3.100

 libavformat 60. 3.100 / 60. 3.100

 libavdevice 60. 1.100 / 60. 1.100

 libavfilter 9. 3.100 / 9. 3.100

 libswscale 7. 1.100 / 7. 1.100

 libswresample 4. 10.100 / 4. 10.100

 libpostproc 57. 1.100 / 57. 1.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'E:/...../video.Default.mp4':

 Metadata:

 major_brand : isom

 minor_version : 512

 compatible_brands: isomiso2avc1mp41

 encoder : Lavf60.3.100

 Duration: 00:00:04.23, start: 0.000000, bitrate: 22359 kb/s

 Stream #0:0[0x1](und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 22178 kb/s, 49.80 fps, 50 tbr, 12800 tbn (default)

 Metadata:

 handler_name : VideoHandler

 vendor_id : [0][0][0][0]

 encoder : Lavc60.3.100 libx264

 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 96000 Hz, 5.1, fltp, 221 kb/s (default)

 Metadata:

 handler_name : SoundHandler

 vendor_id : [0][0][0][0]

[aac @ 000001425315e580] Multiple frames in a packet.

Input #1, wav, from 'E:/...../audio.Default.wav':

 Metadata:

 encoder : Lavf60.3.100

 Duration: 00:00:04.22, bitrate: 221 kb/s

 Stream #1:0: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 96000 Hz, 5.1, fltp, 339 kb/s

Stream mapping:

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

 Stream #0:1 -> #0:1 (aac (native) -> aac (native))

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

Output #0, mp4, to 'E:/...../Default.mp4':

 Metadata:

 major_brand : isom

 minor_version : 512

 compatible_brands: isomiso2avc1mp41

 encoder : Lavf60.3.100

 Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 22178 kb/s, 49.80 fps, 50 tbr, 12800 tbn (default)

 Metadata:

 handler_name : VideoHandler

 vendor_id : [0][0][0][0]

 encoder : Lavc60.3.100 libx264

 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 96000 Hz, 5.1, fltp, 341 kb/s (default)

 Metadata:

 handler_name : SoundHandler

 vendor_id : [0][0][0][0]

 encoder : Lavc60.3.100 aac

frame= 0 fps=0.0 q=-1.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A 
_[aac @ 00000142532f74c0] channel element 1.0 is not allocated

Error while decoding stream #0:1: Invalid data found when processing input

[aac @ 00000142532f74c0] channel element 1.0 is not allocated
.
.
.



If I was to do this to merge
snippet B
withsnippet B
then it would work - it's something aboutsnippet A
that is causing the problem.

Is there any way to get around this... what is it about
snippet A
that is causing a problem... and is there a way to "normalize" it so that it can be merged as part of the "set".

Note, I just upgraded to ffmpeg6 after a previous version was giving the same problems - so I will also work on the deprecated messages when I can.


-
FFMPEG changes pixel values when reading and saving png without modification
25 janvier 2023, par walrusThis is a toy problem that is the result of my trying to identify a bug within a video pipeline I'm working on. The idea is that I want to take a frame from a YUV420 video, modify it as an RGB24 image, and reinsert it. To do this I convert YUV420 -> YUV444 -> RGB -> YUV444 -> YUV420. Doing this without any modification should result in the same frame however I noticed slight color transformations.


I tried to isolate the problem using a toy 3x3 RGB32 png image. The function
read_and_save_image
reads the image and then saves it as new file. It returns the read pixel array. I run this function thrice successively using the output of the previous run as the input of the next. This is to demonstrate a perplexing fact. While passing an image through the function once causes the resulting image to have different pixel values, doing it twice does not change anything. Perhaps more confusing is that the pixel values returned by the function are all the same.

tldr ; How can I load and save the toy image below using ffmpeg as a new file such that the pixel values of the new and original files are identical ?


Here is the original image followed by the result from one and two passes through the function. Note that the pixel value displayed by when reading these images with Preview has changed ever so slightly. This becomes noticeable within a video.


Test image (very small) ->

<-


Here are the pixel values read (note that after being loaded and saved there is a change) :








Edit : here is an RGB24 frame extracted from a video I am using to test my pipeline. I had the same issue with pixel values changing after loading and saving with ffmpeg.


frame from video I was testing pipeline on


Here is a screenshot showing how the image is noticeably darker after ffmpeg. Same pixels on the top right corner of the image.




Here is the code of the toy problem :


import os
import ffmpeg
import numpy as np


def read_and_save_image(in_file, out_file, width, height, pix_fmt='rgb32'):
 input_data, _ = (
 ffmpeg
 .input(in_file)
 .output('pipe:', format='rawvideo', pix_fmt=pix_fmt)
 .run(capture_stdout=True)
 )
 
 frame = np.frombuffer(input_data, np.uint8)
 print(in_file,'\n', frame.reshape((height,width,-1)))
 
 save_data = (
 ffmpeg
 .input('pipe:', format='rawvideo', pix_fmt=pix_fmt, s='{}x{}'.format(width, height))
 .output(out_file, pix_fmt=pix_fmt)
 .overwrite_output()
 .run_async(pipe_stdin=True)
 )
 
 

 save_data.stdin.write(frame.tobytes())
 save_data.stdin.close()
 #save_data.wait()

 return frame

try:
 test_img = "test_image.png"
 test_img_1 = "test_image_1.png"
 test_img_2 = "test_image_2.png"
 test_img_3 = "test_image_3.png"

 width, height, pix_fmt = 3,3,'rgb32'
 #width, height, pix_fmt = video_stream['width'], video_stream['height'], 'rgb24'
 test_img_pxls = read_and_save_image(test_img,test_img_1, width, height, pix_fmt)
 test_img_1_pxls = read_and_save_image(test_img_1,test_img_2, width, height, pix_fmt)
 test_img_2_pxls = read_and_save_image(test_img_2,test_img_3, width, height, pix_fmt)

 print(np.array_equiv(test_img_pxls, test_img_1_pxls))
 print(np.array_equiv(test_img_1_pxls, test_img_2_pxls))

except ffmpeg.Error as e:
 print('stdout:', e.stdout.decode('utf8'))
 print('stderr:', e.stderr.decode('utf8'))
 raise e


!mediainfo --Output=JSON --Full $test_img
!mediainfo --Output=JSON --Full $test_img_1
!mediainfo --Output=JSON --Full $test_img_2



Here is the console output of the program that shows that the pixel arrays read by ffmpeg are the same despite the images being different.


test_image.png 
 [[[253 218 249 255]
 [252 213 248 255]
 [251 200 244 255]]

 [[253 227 250 255]
 [249 209 236 255]
 [243 169 206 255]]

 [[253 235 251 255]
 [245 195 211 255]
 [226 103 125 255]]]
test_image_1.png 
 [[[253 218 249 255]
 [252 213 248 255]
 [251 200 244 255]]

 [[253 227 250 255]
 [249 209 236 255]
 [243 169 206 255]]

 [[253 235 251 255]
 [245 195 211 255]
 [226 103 125 255]]]
test_image_2.png 
 [[[253 218 249 255]
 [252 213 248 255]
 [251 200 244 255]]

 [[253 227 250 255]
 [249 209 236 255]
 [243 169 206 255]]

 [[253 235 251 255]
 [245 195 211 255]
 [226 103 125 255]]]
True
True
{
"media": {
"@ref": "test_image.png",
"track": [
{
"@type": "General",
"ImageCount": "1",
"FileExtension": "png",
"Format": "PNG",
"FileSize": "4105",
"StreamSize": "0",
"File_Modified_Date": "UTC 2023-01-19 13:49:00",
"File_Modified_Date_Local": "2023-01-19 13:49:00"
},
{
"@type": "Image",
"Format": "PNG",
"Format_Compression": "LZ77",
"Width": "3",
"Height": "3",
"BitDepth": "32",
"Compression_Mode": "Lossless",
"StreamSize": "4105"
}
]
}
}

{
"media": {
"@ref": "test_image_1.png",
"track": [
{
"@type": "General",
"ImageCount": "1",
"FileExtension": "png",
"Format": "PNG",
"FileSize": "128",
"StreamSize": "0",
"File_Modified_Date": "UTC 2023-01-24 15:31:58",
"File_Modified_Date_Local": "2023-01-24 15:31:58"
},
{
"@type": "Image",
"Format": "PNG",
"Format_Compression": "LZ77",
"Width": "3",
"Height": "3",
"BitDepth": "32",
"Compression_Mode": "Lossless",
"StreamSize": "128"
}
]
}
}

{
"media": {
"@ref": "test_image_2.png",
"track": [
{
"@type": "General",
"ImageCount": "1",
"FileExtension": "png",
"Format": "PNG",
"FileSize": "128",
"StreamSize": "0",
"File_Modified_Date": "UTC 2023-01-24 15:31:59",
"File_Modified_Date_Local": "2023-01-24 15:31:59"
},
{
"@type": "Image",
"Format": "PNG",
"Format_Compression": "LZ77",
"Width": "3",
"Height": "3",
"BitDepth": "32",
"Compression_Mode": "Lossless",
"StreamSize": "128"
}
]
}
}