
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (78)
-
Demande de création d’un canal
12 mars 2010, parEn fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (6598)
-
Nginx - RTMP module - VLC wont start
15 janvier, par Diana SariWhy my vlc only show background colour ?
did i miss something important ?


Im running Nginx with RTMP module on
Linux DESKTOP-RJHVE83 5.15.167.4-microsoft-standard-WSL2 #1 SMP x86_64 GNU/Linux
Kali release : 2024.4 (kali-rolling) WSL on Windows 10 Pro




/etc/nginx/nginx.conf
i add this from the default :


rtmp {
 server {
 listen 1935;
 chunk_size 4096;
 allow publish 127.0.0.1;
 deny publish all;

 application live {
 live on;
 record off;
 push rtmp://127.0.0.1/live/stream;
 }
 }
}



Stream my mp4 file using ffmpeg :




Kali$> ffmpeg -re -i file.mp4 -c:v libx264 -c:a aac -flvflags no_duration_filesize -f flv rtmp ://localhost:1935/live/




VLC on the same machine on WIndows 10 Pro
Open Network Protocol : rtmp ://192.168.1.1:1935/live/


The Vlc Show only Background colour (attach)


-Access.log
172.27.96.1 [14/Jan/2025:14:28:02 +0700] PLAY "live" "" "" - 556 1612142 "" "LNX 9,0,124,2" (25s)
127.0.0.1 [14/Jan/2025:14:28:34 +0700] PUBLISH "live" "" "" - 4573293 529 "" "FMLE/3.0 (compatible ; Lavf61.7." (1m 3s)
172.27.96.1 [14/Jan/2025:14:29:47 +0700] PLAY "live" "" "" - 365 1578527 "" "LNX 9,0,124,2" (1m 43s)


-Error.log
Blank


i tried this on :
Ubuntu Focal 20.04.6 (WSL)
Ubuntu Noble24.04.1 LTS (WSL)
id read 2 tutorials
https://www.hostinger.com/tutorials/how-to-set-up-a-streaming-server
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-video-streaming-server-using-nginx-rtmp-on-ubuntu-20-04


-
Thumbnail generation using golang+ffmpeg
23 avril 2024, par godvlprI try to generate thumbnail from video mp4 using Golang+ffmpeg.


Let me provide some steps :


- 

- Tried to generate using terminal
ffmpeg -i test.mp4 -ss 00:00:00 -vframes 1 thumbnail.jpg
- all works successfully - Tried to generate from golang and put result into stdout
cmd := exec.Command("ffmpeg", "-i", "test.mp4", "-ss", "00:00:00", "-vframes", "1", "-f", "image2pipe", "-")
- all works successfully - Trying to open video using
os.ReadFile
andbytes.NewReader
and after that -cmd := exec.Command("ffmpeg", "-i", "pipe:", "-ss", "00:00:00", "-vframes", "1", "-f", "image2pipe", "-")
And in this step I have an error.
Below provided all code and na error








r, err := os.ReadFile("test.mp4")
 if err != nil {
 log.Fatalf("Failed to read video file: %v", err)
 }
 
 videoBuffer := bytes.NewReader(r)

 cmd := exec.Command("ffmpeg", "-i", "pipe:", "-ss", "00:00:00", "-vframes", "1", "-f", "image2pipe", "-")

 cmd.Stdin = videoBuffer

 // Capture output as bytes
 var out bytes.Buffer
 cmd.Stdout = &out

 var stderr bytes.Buffer
 cmd.Stderr = &stderr

 // Run the command
 err = cmd.Run()
 if err != nil {
 log.Fatalf("ffmpeg command failed: %v, stderr: %s", err, stderr.String())
 }

 // Convert bytes to image.Image
 img, _, err := image.Decode(&out)
 if err != nil {
 log.Fatalf("Failed to decode thumbnail: %v", err)
 }



Error


2024/04/23 13:25:51 ffmpeg command failed: exit status 183, stderr: ffmpeg version 7.0 Copyright (c) 2000-2024 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.3.9.4)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --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-libopenvino --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
 libavutil 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100
 libpostproc 58. 1.100 / 58. 1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x136504080] stream 0, offset 0x30: partial file
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x136504080] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1920x1080, 3496 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.26.100
 Duration: 00:00:02.01, start: 0.000000, bitrate: N/A
 Stream #0:0[0x1](und): Video: h264 (avc1 / 0x31637661), none, 1920x1080, 3496 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x136504080] stream 0, offset 0x30: partial file
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x600001134000] Error during demuxing: Invalid data found when processing input
Cannot determine format of input 0:0 after EOF
[vf#0:0 @ 0x600001f2c000] Task finished with error code: -1094995529 (Invalid data found when processing input)
[vf#0:0 @ 0x600001f2c000] Terminating thread with return code -1094995529 (Invalid data found when processing input)
[vost#0:0/mjpeg @ 0x104a04650] Could not open encoder before EOF
[vost#0:0/mjpeg @ 0x104a04650] Task finished with error code: -22 (Invalid argument)
[vost#0:0/mjpeg @ 0x104a04650] Terminating thread with return code -22 (Invalid argument)
[out#0/image2pipe @ 0x60000182c000] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A 
Conversion failed!



Also tried to do something like this
cmd := exec.Command("ffmpeg", "-analyzeduration", "10000M", "-probesize", "10000M", "-i", "pipe:", "-ss", "00:00:00", "-vframes", "1", "-f", "image2pipe", "-")
- and had the same error (almost the same).

How to fix code or ffmpeg command - to bring this code workable ?


- Tried to generate using terminal
-
ffprobe newer version detect audio codec incorrectly
16 janvier, par alanccI find a strange problem.


I have a test video with h264 video codec and aac audio codec. It is at https://drive.google.com/file/d/1YAyz5cO0kb9r0MgahCpISR4bZ_1_n8PL/view?usp=sharing


I build a ffmpeg version by myself, its version is :


ffprobe version 7.0.2 Copyright (c) 2007-2024 the FFmpeg developers
 built with gcc 14.1.0 (Rev3, Built by MSYS2 project)
 configuration: --enable-shared
 libavutil 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100



I then use ffprobe to get its info :


ffprobe -v quiet -print_format ini -show_streams -show_packets test_h264.mp4 > test_h264.ini



Then I get an ini file which shows the audio codec as MP2 :


[streams.stream.0]
index=0
codec_name=mp2
codec_long_name=MP2 (MPEG audio layer 2)
profile=unknown
codec_type=audio
codec_tag_string=mp4a
codec_tag=0x6134706d
sample_fmt=fltp
sample_rate=44100
channels=2
channel_layout=stereo
bits_per_sample=0
initial_padding=0
id=0x1
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/44100
start_pts=2788
start_time=0.063220
duration_ts=435455
duration=9.874263
bit_rate=127706
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=378
nb_read_frames=N/A
nb_read_packets=378



Another developer he uses his version of ffprobe :


ffprobe version 2023-02-22-git-d5cc7acff1-full_build-www.gyan.dev Copyright (c) 2007-2023 the FFmpeg developers 



Based on the year, my version(2024) should be newer than his(2023), but his version of ffprobe can get the audio codec properly :


[streams.stream.1]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
codec_tag_string=mp4a
codec_tag=0x6134706d
sample_fmt=fltp
sample_rate=44100
channels=2
channel_layout=stereo
bits_per_sample=0
initial_padding=0
id=0x2
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/44100
start_pts=1764
start_time=0.040000
duration_ts=436480
duration=9.897506
bit_rate=111733
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=427
nb_read_frames=N/A
nb_read_packets=427
extradata_size=5



Why ?


I also tried a ffprobe version on ubuntu with the following version :


ffprobe version 6.1.1-3ubuntu5 Copyright (c) 2007-2023 the FFmpeg developers
 built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)
 configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
 libavutil 58. 29.100 / 58. 29.100
 libavcodec 60. 31.102 / 60. 31.102
 libavformat 60. 16.100 / 60. 16.100
 libavdevice 60. 3.100 / 60. 3.100
 libavfilter 9. 12.100 / 9. 12.100
 libswscale 7. 5.100 / 7. 5.100
 libswresample 4. 12.100 / 4. 12.100
 libpostproc 57. 3.100 / 57. 3.100



It will detect the audio as aac properly, but with different parameters, for example, bit_rate is 111733(developer) but 110399(ubuntu). But this parameter comes from the same file so should be the same.


[streams.stream.1]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
codec_tag_string=mp4a
codec_tag=0x6134706d
sample_fmt=fltp
sample_rate=44100
channels=2
channel_layout=stereo
bits_per_sample=0
initial_padding=0
id=0x2
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/44100
start_pts=0
start_time=0.000000
duration_ts=441353
duration=10.008005
bit_rate=110399
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=432
nb_read_frames=N/A
nb_read_packets=432
extradata_size=5