
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (49)
-
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
Sur d’autres sites (8150)
-
FFMPEG cannot find H264 encoder
31 juillet 2020, par Serban StoenescuI am running ffmpeg from a program, and we built ffmpeg ourselves (we did not install it with package managers or pre-built stuff).
This is the command that is built :


2020-07-31 12:14:11.942 INFO ffmpeg::FFTranscoder Executing: "../deps/ffmpeg/bin/ffmpeg" -y -r 26.062 -i ""/home/sstoenescu/Work/myproject/sample/myvideo.h264"" -c:v openh264 -vcodec h264 -movflags +faststart ""/home/sstoenescu/Work/myproject/sample/myvideo.mp4""



The file myvideo.h264 is valid, I can play it with ffplay and I can run ffprobe on it without problems.
However, the command above gives this error :


ffmpeg version N-98068-g16bdc2b541 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
 configuration: --arch=x86_64 --cpu=nehalem --disable-ffplay --enable-shared --enable-network --enable-gpl --enable-libx265 --enable-encoder=libx265 --disable-hwaccels --enable-hwaccel=h264_qsv --enable-hwaccel=h264_vaapi
 libavutil 56. 50.100 / 56. 50.100
 libavcodec 58. 90.100 / 58. 90.100
 libavformat 58. 44.100 / 58. 44.100
 libavdevice 58. 9.103 / 58. 9.103
 libavfilter 7. 84.100 / 7. 84.100
 libswscale 5. 6.101 / 5. 6.101
 libswresample 3. 6.100 / 3. 6.100
 libpostproc 55. 6.100 / 55. 6.100
[h264 @ 0x5597c38defc0] error while decoding MB 86 45, bytestream -30
[h264 @ 0x5597c38defc0] concealing 2723 DC, 2723 AC, 2723 MV errors in I frame
Input #0, h264, from '/home/sstoenescu/Work/edvr/laba/gaoazar.h264':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc
Multiple -c, -codec, -acodec, -vcodec, -scodec or -dcodec options specified for stream 0, only the last option '-c:v h264' will be used.
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[h264 @ 0x5597c38e30c0] error while decoding MB 86 45, bytestream -30
[h264 @ 0x5597c38e30c0] concealing 2723 DC, 2723 AC, 2723 MV errors in I frame
[h264_v4l2m2m @ 0x5597c3905500] Could not find a valid device
[h264_v4l2m2m @ 0x5597c3905500] can't configure encoder
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height



It used to work, I did not change anything in the command, so I'm assuming it's something in the way we build ffmpeg. We are using these flags :
--enable-decoder=h264 --enable-encoder=h264_qsv --enable-encoder=h264_vaapi --enable-decoder=h264 --enable-decoder=h264_qsv

Here's the full configuration :

./configure \
 --arch=x86_64 --cpu=nehalem \
 --disable-ffplay --enable-shared \
 --enable-network \
 --enable-gpl --enable-libx265 \
 --enable-encoder=libx265\
 --disable-hwaccels --enable-hwaccel=h264_qsv --enable-hwaccel=h264_vaapi \
 #--enable-encoder=libopenh264 \
 --enable-encoder=h264_qsv \
 --enable-encoder=h264_vaapi --enable-encoder=mjpeg --enable-encoder=gif \
 --enable-decoder=h264 --enable-decoder=h264_qsv \
 #--enable-decoder=libopenh264 
 --enable-libx264 \
 --enable-decoder=png \
 --enable-protocol=tcp \
 --enable-demuxer=rtsp --enable-demuxer=mov --enable-demuxer=h264 --enable-demuxer=image2 \
 --enable-muxer=mp4 --enable-muxer=h264 --enable-muxer=image2 \
 --prefix="./build"\
 --disable-doc



Any ideas what could be wrong ?
Thanks.


Regards,
Serban


-
how to make ffmpeg transcoding from mjpeg to h264 in real time ?
3 août 2020, par SolskGaerI have a mjpeg stream which output picture 10FPS(cellphone screenshot), and I use the following command to trancode it to a h264 stream and play it on my laptop


ffmpeg -f mjpeg -r 20 -y -i http://127.0.0.1:53293/ -vcodec libx264 -preset veryfast -profile:v baseline -b:v 1024k -r 10 -f h264 pipe:1 | ffplay -i pipe:0



but the output stream is a few seconds behind the cellphone screen. Here is the output of ffmpeg


ffplay version 4.3.1 Copyright (c) 2003-2020 the FFmpeg developers
 built with Apple clang version 11.0.3 (clang-1103.0.32.62)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with Apple clang version 11.0.3 (clang-1103.0.32.62)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
Input #0, mjpeg, from 'http://127.0.0.1:53293/':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 750x1334 [SAR 144:144 DAR 375:667], 20 tbr, 1200k tbn, 20 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x7f8f2900da00] using SAR=1/1
[libx264 @ 0x7f8f2900da00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f8f2900da00] profile Constrained Baseline, level 3.2, 4:2:0, 8-bit
Output #0, h264, to 'pipe:1':
 Metadata:
 encoder : Lavf58.45.100
 Stream #0:0: Video: h264 (libx264), yuvj420p(pc), 750x1334 [SAR 144:144 DAR 375:667], q=-1--1, 1024 kb/s, 10 fps, 10 tbn, 10 tbc
 Metadata:
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/1024000 buffer size: 0 vbv_delay: N/A
frame= 30 fps=5.2 q=29.0 size= 97kB time=00:00:00.10 bitrate=7911.0kbits/s dup=0 drop=26 speed=0.0172
frame= 33 fps=5.2 q=41.0 size= 190kB time=00:00:00.40 bitrate=3888.2kbits/s dup=0 drop=29 speed=0.0633
frame= 35 fps=5.1 q=40.0 size= 253kB time=00:00:00.60 bitrate=3457.8kbits/s dup=0 drop=31 speed=0.0874
frame= 38 fps=5.1 q=40.0 size= 330kB time=00:00:00.90 bitrate=3006.1kbits/s dup=0 drop=34 speed=0.122x
frame= 40 fps=5.1 q=40.0 size= 381kB time=00:00:01.10 bitrate=2838.3kbits/s dup=0 drop=36 speed=0.139x
frame= 43 fps=5.1 q=39.0 size= 460kB time=00:00:01.40 bitrate=2691.3kbits/s dup=0 drop=39 speed=0.166x
frame= 45 fps=5.0 q=39.0 size= 505kB time=00:00:01.60 bitrate=2585.9kbits/s dup=0 drop=41 speed=0.178x
frame= 48 fps=5.0 q=38.0 size= 552kB time=00:00:01.90 bitrate=2381.0kbits/s dup=0 drop=44 speed= 0.2x 
frame= 50 fps=5.0 q=33.0 size= 562kB time=00:00:02.10 bitrate=2190.7kbits/s dup=0 drop=46 speed=0.209x
frame= 53 fps=5.0 q=37.0 size= 572kB time=00:00:02.40 bitrate=1951.2kbits/s dup=0 drop=49 speed=0.227x
frame= 55 fps=5.0 q=37.0 size= 581kB time=00:00:02.60 bitrate=1830.0kbits/s dup=0 drop=51 speed=0.234x
frame= 58 fps=5.0 q=36.0 size= 591kB time=00:00:02.90 bitrate=1670.8kbits/s dup=0 drop=54 speed=0.25x 
frame= 60 fps=4.9 q=35.0 size= 598kB time=00:00:03.10 bitrate=1580.2kbits/s dup=0 drop=56 speed=0.255x
frame= 63 fps=5.0 q=35.0 size= 608kB time=00:00:03.40 bitrate=1465.2kbits/s dup=0 drop=59 speed=0.268x
frame= 65 fps=4.9 q=34.0 size= 613kB time=00:00:03.60 bitrate=1395.7kbits/s dup=0 drop=61 speed=0.273x
frame= 68 fps=5.0 q=34.0 size= 659kB time=00:00:03.90 bitrate=1384.5kbits/s dup=0 drop=64 speed=0.284x
frame= 70 fps=4.9 q=34.0 size= 682kB time=00:00:04.10 bitrate=1363.2kbits/s dup=0 drop=66 speed=0.288x
frame= 73 fps=4.9 q=35.0 size= 720kB time=00:00:04.40 bitrate=1340.1kbits/s dup=0 drop=69 speed=0.298x
frame= 75 fps=4.9 q=35.0 size= 746kB time=00:00:04.60 bitrate=1329.1kbits/s dup=0 drop=71 speed=0.301x
frame= 78 fps=4.9 q=36.0 size= 786kB time=00:00:04.90 bitrate=1314.6kbits/s dup=0 drop=74 speed=0.31x 
frame= 80 fps=4.9 q=36.0 size= 811kB time=00:00:05.10 bitrate=1303.3kbits/s dup=0 drop=76 speed=0.312x



I don't think the CPU of my laptop is the bottleneck of this process, here is the spec of my laptop



 Model Name: MacBook Pro
 Model Identifier: MacBookPro16,1
 Processor Name: 6-Core Intel Core i7
 Processor Speed: 2.6 GHz
 Number of Processors: 1
 Total Number of Cores: 6
 L2 Cache (per Core): 256 KB
 L3 Cache: 12 MB
 Hyper-Threading Technology: Enabled
 Memory: 16 GB



but I can't track the reason why this happened. What can I make the output stream be real time ? Any suggestion would be appreciated.


-
Ffmpeg inaccurate cutting with ts and m3u8 files despite resamping audio filter
31 juillet 2020, par Lemon SkyI need to accurately seek and cut a video. Some online sources say put -ss in front or after the source. The result is the same for me. In the examples below, the start time is accurate but the duration is not accurate.


ffmpeg -y -ss 00:00:05 -t 00:00:05 -i output.ts 5s.wav
ffprobe 5s.wav

Duration: 00:00:04.74

ffmpeg -y -i output.ts -ss 00:00:05 -t 00:00:05 5s.wav
ffprobe 5s.wav

Duration: 00:00:04.74



Sometimes the starting point is not accurate but the duration is. This is clearly audible by cutting the ts file and cutting an uncompressed wav file, and listening to both.


ffmpeg -y -i output.ts -ss 00:00:15 -t 00:00:05 5s.wav

ffmpeg -y -i output.wav -ss 00:00:15 -t 00:00:05 5s-reference.wav



What fixes the starting time is if I use an m3u8 file that contains the byte offset for every keyframe AND I put the -ss option in front of the source file (if I put it after the source, the start time is inaccurate but the duration is accurate) :


ffmpeg -y -ss 00:00:15 -t 00:00:05 -i output.m3u8 5s.wav



This fixes the start time but the duration is at the location that I would get had I used no m3u8 file (duration is just 4.47s).


It seems different timestamps are involved, and sometimes one or the other gets used.


The ts file was generated by capturing a UDP stream and storing it with ffmpeg and -codec:v copy.


Is ffmpeg broken, or the ts file ? How do I work around this issue or fix the ts file ? What I realize is that the video starts later than the audio, probably because the video does not start with a keyframe. Can I get ffmpeg to start the -codec:v copy after the first keyframe ? What I also notice is that using ffprobe reports "start : 1.400000". Can I force it to start at 0 ?


Any hints would be appreciated.


I tried both ffmpeg 4.3.1 and ffmpeg git-2020-07-24-21442a8.


The output.* files were generated as follows. The statement "af aresample=async=1" should fill missing audio according to Duration of source video and subtracted audio are different. Adding this statement makes no difference in terms of accuracy or duration. The question is not a duplicate.


ffmpeg -i udp://example:port ^
-af aresample=async=1 ^
-codec:v copy ^
-codec:a aac -ac 2 -ar 44100 -b:a 160k ^
-hls_time 4 -hls_flags single_file -hls_list_size 0 -hls_segment_filename output.ts -hls_segment_type mpegts output.m3u8 ^
-codec:a pcm_s16le -bitexact -ar 11025 -ac 1 output.wav