
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 (48)
-
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
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. -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (11253)
-
FFmpeg - Max rtbufsize via dshow ?
14 septembre 2018, par NimbleI recently added an additional 4K capture card to my setup and now I’m dropping frames while initializing and ending recordings. In the past I was encoding a 1080P60 stream and a 4K60 stream simultaneously and had no issues, but now that I am trying to encode 2 4K60 streams at once I’m dropping frames as mentioned before.
The error displays as :
[dshow @ 000001499bb17180] real-time buffer [Video (00 Pro Capture HDMI 4K+)] [video input] too full or near too full (62% of size: 2147480000 [rtbufsize parameter])! frame dropped!
or
[dshow @ 00000149944e7080] real-time buffer [AVerMedia HD Capture GC573 1] [video input] too full or near too full (62% of size: 2147480000 [rtbufsize parameter])! frame dropped!
10 - 20 times when starting a recording or ending a recording.
You’d think the solution would be simply increasing my rtbufsize but when I do I just get another error :
[dshow @ 00000250df6c7080] Value 3000000000.000000 for parameter 'rtbufsize' out of range [0 - 2.14748e+09]
[dshow @ 00000250df6c7080] Error setting option rtbufsize to value 3000M.
video=AVerMedia HD Capture GC573 1:audio=SPDIF/ADAT (1+2) (RME Fireface UC): Result too largeThis same error seems to appear if I try to increase the rtbufsize past 2147.48M on any input so I assume it’s a limitation of FFmpeg and not my hardware ? If it is a baked in limitation of FFmpeg what would be the reasoning ? Any way to bypass or other possible solutions ?
Full command :
ffmpeg -y -hide_banner -thread_queue_size 9999 -indexmem 9999 -guess_layout_max 0 -f dshow -rtbufsize 2147.48M `
-i audio="Analog (1+2) (RME Fireface UC)" `
-thread_queue_size 9999 -indexmem 9999 -guess_layout_max 0 -f dshow -rtbufsize 2147.48M `
-i audio="ADAT (5+6) (RME Fireface UC)" `
-thread_queue_size 9999 -indexmem 9999 -guess_layout_max 0 -f dshow -video_size 3840x2160 -rtbufsize 2147.48M `
-framerate 60 -pixel_format nv12 -i video="Video (00 Pro Capture HDMI 4K+)":audio="ADAT (3+4) (RME Fireface UC)" `
-thread_queue_size 9999 -indexmem 9999 -guess_layout_max 0 -f dshow -video_size 3840x2160 -rtbufsize 2147.48M `
-framerate 60 -pixel_format nv12 -i video="AVerMedia HD Capture GC573 1":audio="SPDIF/ADAT (1+2) (RME Fireface UC)" `
-thread_queue_size 9999 -indexmem 9999 -r 25 -f lavfi -rtbufsize 2147.48M -i color=c=black:s=50x50 `
-map 4,0 -map 0 -c:v libx264 -r 25 -rc-lookahead 50 -forced-idr 1 -sc_threshold 0 -flags +cgop `
-force_key_frames "expr:gte(t,n_forced*2)" -preset ultrafast -pix_fmt nv12 -b:v 16K -minrate 16K -maxrate 16K -bufsize 16k `
-c:a aac -ar 44100 -b:a 384k -ac 2 -af "aresample=async=250" -vsync 1 -ss 00:00:01.768 `
-max_muxing_queue_size 9999 -f segment -segment_time 600 -segment_wrap 9 -reset_timestamps 1 `
-segment_format_options max_delay=0 C:\Users\djcim\Videos\Main\Discord\Discord%02d.ts `
-map 4,1 -map 1 -c:v libx264 -r 25 -rc-lookahead 50 -forced-idr 1 -sc_threshold 0 -flags +cgop `
-force_key_frames "expr:gte(t,n_forced*2)" -preset ultrafast -pix_fmt nv12 -b:v 16K -minrate 16K -maxrate 16K -bufsize 16k `
-c:a aac -ar 44100 -b:a 384k -ac 2 -af "aresample=async=250" -vsync 1 -ss 00:00:01.071 `
-max_muxing_queue_size 9999 -f segment -segment_time 600 -segment_wrap 9 -reset_timestamps 1 `
-segment_format_options max_delay=0 C:\Users\djcim\Videos\Main\Soundboard\Soundboard%02d.ts `
-map 2:0,2:1 -map 2:1 -c:v h264_nvenc -r 60 -rc-lookahead 120 -forced-idr 1 -strict_gop 1 -sc_threshold 0 -flags +cgop `
-force_key_frames "expr:gte(t,n_forced*2)" -preset: llhp -pix_fmt nv12 -b:v 250M -minrate 250M -maxrate 250M -bufsize 250M `
-c:a aac -ar 44100 -b:a 384k -ac 2 -af "atrim=0.086, asetpts=PTS-STARTPTS, aresample=async=250" -vsync 1 -ss 00:00:00.102 `
-max_muxing_queue_size 9999 -f segment -segment_time 600 -segment_wrap 9 -reset_timestamps 1 `
-segment_format_options max_delay=0 C:\Users\djcim\Videos\Main\Magewell\Magewell%02d.ts `
-map 3:0,3:1 -map 3:1 -c:v h264_nvenc -r 60 -rc-lookahead 120 -forced-idr 1 -strict_gop 1 -sc_threshold 0 -flags +cgop `
-force_key_frames "expr:gte(t,n_forced*2)" -preset: llhp -pix_fmt nv12 -b:v 250M -minrate 250M -maxrate 250M -bufsize 250M `
-c:a aac -ar 44100 -b:a 384k -ac 2 -af "pan=mono|c0=c0, aresample=async=250" -vsync 1 `
-max_muxing_queue_size 9999 -f segment -segment_time 600 -segment_wrap 9 -reset_timestamps 1 `
-segment_format_options max_delay=0 C:\Users\djcim\Videos\Main\Camera\Camera%02d.tsEDIT : Also worth mentioning that I only drop frames when starting and ending recording, everything is fine in the middle. Wonder if I could like "ease" the recording in or something ?
(09/13/2018) : I was able to stop frames from dropping while starting a recording by re-arranging inputs and outputs, however no matter how I list things I still drop frames ending recordings.
-
FFMPEG encoding example does not work with VPx encoders
11 septembre 2018, par user4177870I am using the following example from FFMPEG to write a raw steam of VP8 or VP9 encoder :
https://ffmpeg.org/doxygen/trunk/encode_video_8c-example.htmlThe VP8 or VP9 based file is written successfully to the disk. Then to mux this stream into a container, I sued FFMPEG command line :
ffmpeg -i myfile.vp9 -c copy testvideo1.mkv
I get the following error when I run the above command :
ffmpeg version N-91789-g11cec34829 Copyright (c) 2000-2018 the FFmpeg developers
myfile.vp9 : Invalid data found when processing input
However, when I run the above set of operations for h264, its works fine.
I assume its because of the endcode = 0, 0, 1, 0xb7 which might not work for VPx encoders.
Not sure whats the issue. Any help would be appreciated. -
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.