
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (7)
-
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...) -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...) -
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)
Sur d’autres sites (4452)
-
How to embed subtitles into an mp4 file using gstreamer
27 août 2021, par StephenMy Goal


I'm trying to embed subtitles into an mp4 file using the
mp4mux
gstreamer element.

What I've tried


The pipeline I would like to use is :


GST_DEBUG=3 gst-launch-1.0 filesrc location=sample-nosub-avc.mp4 ! qtdemux ! queue ! video/x-h264 ! mp4mux name=mux reserved-moov-update-period=1000 ! filesink location=output.mp4 filesrc location=english.srt ! subparse ! queue ! text/x-raw,format=utf8 ! mux.subtitle_0



It just demuxes a sample mp4 file for the h.264 stream and then muxes it together with an srt subtitle file.


The error I get is :


Setting pipeline to PAUSED ...
0:00:00.009958915 1324869 0x5624a8c7a0a0 WARN basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<filesrc0> pad not activated yet
Pipeline is PREROLLING ...
0:00:00.010128080 1324869 0x5624a8c53de0 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop:<filesrc1> error: Internal data stream error.
0:00:00.010129102 1324869 0x5624a8c53e40 WARN qtdemux qtdemux_types.c:239:qtdemux_type_get: unknown QuickTime node type pasp
0:00:00.010140810 1324869 0x5624a8c53de0 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop:<filesrc1> error: streaming stopped, reason not-negotiated (-4)
0:00:00.010172990 1324869 0x5624a8c53e40 WARN qtdemux qtdemux.c:3237:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc1: Internal data stream error.
Additional debug info:
gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc1:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
</qtdemux0></filesrc1></filesrc1></filesrc0>


My Thoughts


I believe the issue is not related to the above warning but rather
mp4mux
's incompatibility with srt subtitles.

The reason I belive this is because, other debug logs hint at it, but also stealing the subititles from another mp4 file and muxing it back together does work.


gst-launch-1.0 filesrc location=sample-nosub-avc.mp4 ! qtdemux ! mp4mux name=mux ! filesink location=output.mp4 filesrc location=sample-with-subs.mp4 ! qtdemux name=demux demux.subtitle_1 ! text/x-raw,format=utf8 ! queue ! mux.subtitle_0



A major catch 22 I am having is that mp4 files don't typically support srt subtitles, but gstreamer's
subparse
element doesn't support parsing mp4 subtitle formats (tx3g, ttxt, etc.) so I'm not sure how I'm meant to put it all together.

I'm very sorry for the lengthy question but I've tried many things so it was difficult to condense it. Any hints or help is appreciated. Thank you.


-
How to encode multi audio streams with different options at the same time using ffmpeg
20 mars 2012, par Luca BorrioneI'm trying to encode a dvd using ffmpeg.
$ffmpeg -i VTS_01_1.VOB
Input #0, mpeg, from 'VTS_01_1.VOB':
Duration: 00:38:06.52, start: 0.287267, bitrate: 3756 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 9800 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
Stream #0:2[0x81]: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
Stream #0:3[0x82]: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s
Stream #0:4[0x83]: Audio: ac3, 48000 Hz, mono, s16, 96 kb/s
Stream #0:5[0x28]: Subtitle: dvd_subtitle
Stream #0:6[0x29]: Subtitle: dvd_subtitle
Stream #0:7[0x23]: Subtitle: dvd_subtitle
Stream #0:8[0x24]: Subtitle: dvd_subtitle
Stream #0:9[0x26]: Subtitle: dvd_subtitle
Stream #0:10[0x27]: Subtitle: dvd_subtitleFrom the above streams I'm interested in keeping two audio streams : number 1 and 4.
As you can see the number 4 is already 96kbps so I tried to execute a command which could treat the two streams in a different way :cat VTS_01_1.VOB | nice ffmpeg -i - -s 640x368 -vcodec libtheora -r 25 -b:v 1200k -an -metadata title="My Title" -pass 1 -passlogfile "/media/data/outputlog" -f ogg -y /dev/null
cat VTS_01_1.VOB | nice ffmpeg -i - -map 0:0 -s 640x368 -vcodec libtheora -r 25 -b:v 1200k -async 1 -metadata title="My Title" -map 0:1 -acodec libvorbis -ac 6 -ar 48000 -b:a 192k -metadata title="english" -map 0:4 -acodec libvorbis -ac 2 -ar 48000 -b:a 96k -metadata title="commented" -pass 2 -passlogfile "/media/data/outputlog" "/media/data/output.ogv"What I would like to obtain is :
Input #0, ogg, from 'output.ogv':
Duration: 00:38:07.20, start: 0.000000, bitrate: 1360 kb/s
Stream #0:0: Video: theora, yuv420p, 640x368 [SAR 46:45 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream #0:1: Audio: vorbis, 48000 Hz, stereo, s16, 192 kb/s
Stream #0:2: Audio: vorbis, 48000 Hz, stereo, s16, 96 kb/sInstead with the above command I obtain :
Input #0, ogg, from 'output.ogv':
Duration: 00:38:07.20, start: 0.000000, bitrate: 1360 kb/s
Stream #0:0: Video: theora, yuv420p, 640x368 [SAR 46:45 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream #0:1: Audio: vorbis, 48000 Hz, stereo, s16, 96 kb/s
Stream #0:2: Audio: vorbis, 48000 Hz, stereo, s16, 96 kb/sSo how can I specify different params for multiple audio streams ?
BTW : I'm on lubuntu oneiric with the latest ffmpeg from git
ffmpeg version git-2012-03-05-1007a80 Copyright (c) 2000-2012 the FFmpeg developers
built on Mar 5 2012 09:40:09 with gcc 4.6.1
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-x11grab --enable-libxvid --enable-libvpx
libavutil 51. 41.100 / 51. 41.100
libavcodec 54. 8.100 / 54. 8.100
libavformat 54. 2.100 / 54. 2.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 63.100 / 2. 63.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 7.100 / 0. 7.100
libpostproc 52. 0.100 / 52. 0.100Therefore the newaudio option is no more recognized
-
Live video streaming with Node js ,HTML5, MPEG-DASH, FFMPEG and IP camera/Raspberry Pi
12 mai 2016, par sparksI am a programmer but i am very new in live video streaming concepts.I need help
What i want to accomplish
I want to develop an online live video streaming system.The scenario is i would have a device or number of devices(raspberry pi & camera only OR ip camera only ...not sure yet) to capture the video and stream the video live in real time remotely to my web app.Multiple clients can connect to the web app and watch the video live.The key things to note here, is that these devices should be wireless(able to connect to internet and live stream the content) and also i want to eliminate the idea of manually configuring the ip adrress to local WIFI router.So simply i turn on the device and it start streaming right away to the web app.
Infrastructure, Platforms,Browsers, Streaming methods and formats
In the beginning i just want to stream though chrome web browser(that’s all i care about).But in the future i would build android and IOS mobile apps.So long term i would expect to be Chrome and mobile(Android & IOS platforms)
So based on my research i learned that the client should be HTML5, streaming method MPEG-DASH(In the future add HLS), the web app will be in Node Js.I also came across Dash.js for Html5.My understanding of streaming based on my research
I also came across things like FFMPEG,Dash encoder and wowza which i am not clear about.Now correct me if i am wrong, my understanding is that FFMPEG get hold of the device/camera and the content(i am not sure the format of the content at this point)and format it(i am not sure what this means in simple english) and then Dash encoder picks up and re-format the content to MPEG-DASH format, which produces MPD and then Dash.js client uses MPD to display the video to the browser.
QUESTIONS
-
First correct me if i am wrong based on my understanding above or
clarify for me.Also I am not sure of where the wowza streaming
engine come into play. Do i even need it ? -
I am not sure of the devices to use between Raspberry pi with camera
module/ Or IP Wifi camera by itself.I know with raspberry pi
connected to internet you can set up all the necessary programs and
stream the video to web app directly(not sure about quality and
performance) but I am not sure about Wifi camera.Is it possible to
connect to the wifi camera remotely from the web app programatically
without opening the wifi router portal manually or i should stick
with Raspbery Pi ? -
For raspberry Pi would i be able to connect it with high quality
picture IP camera/web cam ? (The point here to get the best picture
through raspbery Pi)My expectations
Better performance and quality would be great.But i know live streaming is not easy so i am willing to compromise performance to a point but not quality.
Thank you in advance, Anything will be appreciated.I know this is a lot so take your time :)
-