
Recherche avancée
Autres articles (31)
-
Submit enhancements and plugins
13 avril 2011If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone. -
Que fait exactement ce script ?
18 janvier 2011, parCe script est écrit en bash. Il est donc facilement utilisable sur n’importe quel serveur.
Il n’est compatible qu’avec une liste de distributions précises (voir Liste des distributions compatibles).
Installation de dépendances de MediaSPIP
Son rôle principal est d’installer l’ensemble des dépendances logicielles nécessaires coté serveur à savoir :
Les outils de base pour pouvoir installer le reste des dépendances Les outils de développements : build-essential (via APT depuis les dépôts officiels) ; (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...)
Sur d’autres sites (5700)
-
Invalid data found in the last hls segment after transcoding
28 février 2024, par GalaDOSWhen I use
ffmpeg
to transcode some pure audio flv files tohls
segments, the last.ts
segment contains some decoding errors. It seems that it happens when the last segment's duration is short enough (about 1.5 second).


Here is my transcode command :



ffmpeg -i 111.flv -c:a aac -b:a 128k -f hls -hls_time 10.00 -hls_list_size 9999 tmp.m3u8




And output :



ffmpeg version n4.0.1-5-gb5106c5 Copyright (c) 2000-2018 the FFmpeg developers
 built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
 configuration: --prefix=/home/zx/ffmpeg_build --extra-cflags=-I/home/zx/ffmpeg_build/include --extra-ldflags='-L/home/zx/ffmpeg_build/lib -ldl' --bindir=/home/zx/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-version3 --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libspeex --enable-libvpx --enable-libx264 --disable-shared --enable-static --disable-debug
 libavutil 56. 14.100 / 56. 14.100
 libavcodec 58. 18.100 / 58. 18.100
 libavformat 58. 12.100 / 58. 12.100
 libavdevice 58. 3.100 / 58. 3.100
 libavfilter 7. 16.100 / 7. 16.100
 libswscale 5. 1.100 / 5. 1.100
 libswresample 3. 1.100 / 3. 1.100
 libpostproc 55. 1.100 / 55. 1.100
Input #0, flv, from '111.flv':
 Metadata:
 major_brand : M4A 
 minor_version : 512
 compatible_brands: isomiso2
 date : 2018-05-31 01:31
 encoder : Lavf57.25.100
 Duration: 00:12:11.40, start: 0.000000, bitrate: 135 kb/s
 Stream #0:0: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[hls @ 0x25d4280] Opening 'tmp0.ts' for writing
[mpegts @ 0x26feb80] frame size not set
Output #0, hls, to 'tmp.m3u8':
 Metadata:
 major_brand : M4A 
 minor_version : 512
 compatible_brands: isomiso2
 date : 2018-05-31 01:31
 encoder : Lavf58.12.100
 Stream #0:0: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
 Metadata:
 encoder : Lavc58.18.100 aac
[hls @ 0x25d4280] Opening 'tmp1.ts' for writing
[hls @ 0x25d4280] Opening 'tmp.m3u8.tmp' for writing
[hls @ 0x25d4280] Opening 'tmp2.ts' for writing
[hls @ 0x25d4280] Opening 'tmp.m3u8.tmp' for writing
[hls @ 0x25d4280] Opening 'tmp3.ts' for writing
[hls @ 0x25d4280] Opening 'tmp.m3u8.tmp' for writing
[hls @ 0x25d4280] Opening 'tmp4.ts' for writing
......
[hls @ 0x25d4280] Opening 'tmp71.ts' for writing
[hls @ 0x25d4280] Opening 'tmp.m3u8.tmp' for writing
[hls @ 0x25d4280] Opening 'tmp72.ts' for writingx 
[hls @ 0x25d4280] Opening 'tmp.m3u8.tmp' for writing
[hls @ 0x25d4280] Opening 'tmp73.ts' for writing
[hls @ 0x25d4280] Opening 'tmp.m3u8.tmp' for writing
[hls @ 0x25d4280] Opening 'tmp.m3u8.tmp' for writing
size=N/A time=00:12:11.39 bitrate=N/A speed=84.7x 
video:0kB audio:11421kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[aac @ 0x25a0580] Qavg: 567.976




After transcoding, the duration of the last segment in
m3u8
file is 1.39 second :


....
#EXTINF:9.984000,
tmp71.ts
#EXTINF:10.005333,
tmp72.ts
#EXTINF:1.386667,
tmp73.ts
#EXT-X-ENDLIST




But when I use
ffprobe
to parse the last segment, I got an error :


ffprobe -i tmp73.ts 
ffprobe version n4.0.1-5-gb5106c5 Copyright (c) 2007-2018 the FFmpeg developers
 built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
 configuration: --prefix=/home/zx/ffmpeg_build --extra-cflags=-I/home/zx/ffmpeg_build/include --extra-ldflags='-L/home/zx/ffmpeg_build/lib -ldl' --bindir=/home/zx/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-version3 --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libspeex --enable-libvpx --enable-libx264 --disable-shared --enable-static --disable-debug
 libavutil 56. 14.100 / 56. 14.100
 libavcodec 58. 18.100 / 58. 18.100
 libavformat 58. 12.100 / 58. 12.100
 libavdevice 58. 3.100 / 58. 3.100
 libavfilter 7. 16.100 / 7. 16.100
 libswscale 5. 1.100 / 5. 1.100
 libswresample 3. 1.100 / 3. 1.100
 libpostproc 55. 1.100 / 55. 1.100
tmp73.ts: Invalid data found when processing input




The input flv :



http://45.76.56.248/hls_transcode_fail.flv
md5sum: 4627bbb27bcb22c143ad4dfa47359650




Since my statistic module relies on the output of
ffprobe
, this exception will cause the entire transcoding task to fail. My temporary solution is to skip the last segment which is too short in the statistics phase. But I need a more reasonable and robust way to fix or bypass this issue. Any suggestion will be appreciated.

-
ffmpeg : video codec ansi not compatible with flv
11 septembre 2018, par diatomymlets say i have 10 video files, encoded with the following command in ffmpeg
ffmpeg -i input.mp4 -c:v libx264 -preset medium -maxrate 6000k -bufsize 6000k -vf "scale=1280:-1,format=yuv420p" -g 50 -c:a aac -b:a 128k -ac 2 -ar 44100 file.flv
now that all files match in codec, what i want to do is stream all those files via RTMP. for that, I’ll need to create a concat list. i also want the stream to infinitely repeat those 10 files. to do all these things, I use this command :
ffmpeg -threads 2 -re -fflags +genpts -stream_loop -1 -i mylist.txt -c copy -f flv rtmp://link.to/RTMP
when doing that, I get the following error output :
ffmpeg -threads 2 -re -fflags +genpts -stream_loop -1 -i mylist.txt -c copy -f flv rtmp://link.to/RTMP
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
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
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, tty, from 'mylist.txt':
Duration: 00:00:00.24, bitrate: 40 kb/s
Stream #0:0: Video: ansi, pal8, 640x400, 25 fps, 25 tbr, 25 tbn, 25 tbc
[flv @ 0x560ec7662920] ***Video codec ansi not compatible with flv
Could not write header for output file #0 (incorrect codec parameters ?): Function not implemented***
Stream mapping:
Stream #0:0 -> #0:0 (copy)ffmpeg is giving me the error
Video codec ansi not compatible with flv
Could not write header for output file #0 (incorrect codec parameters ?): Function not implementedwhat am i doing wrong ? thanks for the help.
-
FFMPEG failing in AWS Lambda
18 février 2019, par Zaid AmirI am trying to create a transcoding function for short videos. The function is hosted on AWS Lambda. The problem is that AWS lambda seems to be missing something that FFMPEG requires, at least according to Amazon.
I contacted Amazon earlier and this is their response to the issue :
We found that the FFMPEG operations require at least libx264 and an
acc library, both of which will have dependencies of their own. To
troubleshoot the issue it will involve diving deeper into the full
dependency chain. We can see that it works in the Amazon Linux
environment however, the environment is similar but not identical to
the lambda environment. There can be some dependencies that exist in
Amazon Linux but not in lambda environment as Lambda runs on the
container. Here, as FFmpeg is a third party software, diving deeper
into the dependency chain and verifying the version compatibilities is
very hard to do. Unfortunately going further, this is bound to go into
architecture and code support which is out of AWS Support scope 1. I
hope you understand our limitations. However should FFmpeg support
have any questions specific to the Lambda platform, please do let us
know and we will be happy to assist. We will be in better position to
investigate further once you receive an update from the FFmpeg support
suggesting an issue from Lambda end.Upon AWS suggestion, I contacted FFMPEG on the developers mailing list, my message was rejected with the reason being that its more suited to ffmpeg users mailing list than developers. I sent an email to ’ffmpeg-user@ffmpeg.org’ a week ago and did not get any response yet.
I then went and built a dynamically linked ffmpeg version making sure to package all libraries, checked ddl on each one, then made a small lambda function that looped over all binaries and ddled each one of them, compared that to the output I got from Amazon Linux and the same dependencies/versions exists on both lambda and the AWS Linux instance yet ffmpeg still fails on lambda.
You can find a detailed log file here : https://www.datafilehost.com/d/6e5e21bb
And this is a sample of the errors I’m getting, repeated across the entire log file :
2018-08-14T12:27:10.874Z [h264 @ 0x65c2fc0] concealing 2628 DC, 2628
AC, 2628 MV errors in P frame2018-08-14T12:27:10.874Z [aac @ 0x65d2f00] channel element 2.11 is not
allocated2018-08-14T12:27:10.874Z Error while decoding stream #0:1 : Invalid
data found when processing input2018-08-14T12:27:10.874Z [h264 @ 0x67e86c0] Invalid NAL unit size
(108085662 > 1649).2018-08-14T12:27:10.874Z [h264 @ 0x67e86c0] Error splitting the input
into NAL units.2018-08-14T12:27:10.874Z [aac @ 0x65d2f00] channel element 2.0 is not
allocated2018-08-14T12:27:10.874Z Error while decoding stream #0:1 : Invalid
data found when processing input2018-08-14T12:27:10.874Z [h264 @ 0x68189c0] Invalid NAL unit size
(71106974 > 1085).2018-08-14T12:27:10.874Z [h264 @ 0x68189c0] Error splitting the input
into NAL units.2018-08-14T12:27:10.874Z [aac @ 0x65d2f00] Pulse tool not allowed in
eight short sequence.This log is generated when trying to perform an HLS transcoding on this file : https://www.datafilehost.com/d/999a4492
Note that the issue is not related to that file alone nor is it related to HLS, its general and happen on all videos and any ffmpeg command that tries to seek the stream, even tried extracting a single frame from a video using the simplest form possible for example :
ffmpeg -ss 00:00:02 -I file.mp4 -vframes 1 -y output.jpg
also fails with the same errors in the log file.Not sure how to debug this further. Tried enabling debug logs with ‘-loglevel debug’ but did not give me any extra info. Any help or suggestions