
Recherche avancée
Médias (1)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
Autres articles (81)
-
Soumettre améliorations et plugins supplémentaires
10 avril 2011Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)
Sur d’autres sites (7950)
-
Compress video FFMPEG doesn't work
30 juillet 2015, par Douglas AnunciaçãoI’m trying to compress video using FFMPEG and this library : https://github.com/guardianproject/android-ffmpeg-java
I imported ffmpeglib as a module in my project. This is the code is use to compress :
public class MainActivity extends Activity {
private ArrayList<Object> listVideoPaths = new ArrayList<>();<br />
<br />
@Override<br />
protected void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.activity_main);<br />
<br />
getGalleryVideos();<br />
<br />
File videoFolderFile = new File("/storage/emulated/0/DCIM/Camera/");<br />
<br />
if(videoFolderFile.exists())<br />
Log.e("TEST FFMPEG", "video folder exist");<br />
else<br />
Log.e("TEST FFMPEG", "video folder DON'T exist");<br />
<br />
<br />
File videoInputFile = new File(listVideoPaths.get(0).toString());<br />
<br />
if(videoInputFile.exists())<br />
Log.e("TEST FFMPEG", "video input file exist");<br />
else<br />
Log.e("TEST FFMPEG", "video input file DON'T exist");<br />
<br />
File videoOutputFile = new File(videoFolderFile,"output.mp4");<br />
<br />
if(videoOutputFile.exists())<br />
Log.e("TEST FFMPEG", "video output file exist");<br />
else<br />
Log.e("TEST FFMPEG", "video output file DON'T exist");<br />
<br />
FfmpegController ffmpegController;<br />
<br />
try {<br />
ffmpegController = new FfmpegController(this,videoFolderFile);<br />
<br />
Clip mediaIn = new Clip();<br />
<br />
mediaIn.path = videoInputFile.getAbsolutePath();<br />
<br />
mediaIn.videoFps = "25";<br />
<br />
ffmpegController.convertToMPEG(mediaIn, videoOutputFile.getAbsolutePath(), new ShellUtils.ShellCallback() {<br />
<br />
@Override<br />
public void shellOut(String shellLine) {<br />
Log.e("TEST FFMPEG", "shellOut - " + shellLine);<br />
}<br />
<br />
@Override<br />
public void processComplete(int exitValue) {<br />
Log.e("TEST FFMPEG", "proccess complete - " + exitValue);<br />
}<br />
});<br />
<br />
<br />
} catch (IOException e) {<br />
e.printStackTrace();<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
}finally {<br />
<br />
if(videoOutputFile.exists())<br />
Log.e("TEST FFMPEG", "finished ffmpeg ---> video output file exist");<br />
else<br />
Log.e("TEST FFMPEG", "finished ffmpeg ---> video output file DON'T exist");<br />
<br />
}<br />
}<br />
<br />
private void getGalleryVideos(){<br />
<br />
Cursor videoCursor = null;<br />
<br />
try {<br />
<br />
final String[] columns = { Media.DATA,<br />
Media._ID,<br />
Media.DATE_ADDED };<br />
<br />
final String orderBy = Media.DATE_ADDED;<br />
<br />
videoCursor = getContentResolver().query(<br />
MediaStore.Video.Media.EXTERNAL_CONTENT_URI, columns,<br />
null, null, orderBy);<br />
<br />
if (videoCursor != null &amp;&amp; videoCursor.getCount() > 0) {<br />
<br />
while (videoCursor.moveToNext()) {<br />
<br />
int dataColumnIndex = videoCursor<br />
.getColumnIndex(Media.DATA);<br />
<br />
listVideoPaths.add(videoCursor<br />
.getString(dataColumnIndex));<br />
<br />
}<br />
<br />
}<br />
<br />
Collections.sort(listVideoPaths,new Comparator());<br />
<br />
} catch (Exception e) {<br />
<br />
e.printStackTrace();<br />
<br />
} finally {<br />
<br />
if (videoCursor != null) {<br />
<br />
if (!videoCursor.isClosed()) {<br />
<br />
videoCursor.close();<br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
<br />
}<br />
</code></pre><br />
<br />
<p>I get no error but the video doesn't play. The log file is:</p><br />
<br />
<blockquote><br />
<p>3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
video folder exist 07-30 14:31:57.389<br><br />
3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
video input file exist 07-30 14:31:57.389<br><br />
3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
video output file DON'T exist 07-30 14:31:58.363<br><br />
3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut -<br />
/data/data/douglasanunciacao.androidffmpegjavateste/app_bin/ffmpeg -y<br />
-i /storage/emulated/0/DCIM/Camera/VID_20150730_142330563.mp4 -f mpeg /storage/emulated/0/DCIM/Camera/output.mp4 07-30 14:31:58.385<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - WARNING: linker:<br />
/data/data/douglasanunciacao.androidffmpegjavateste/app_bin/ffmpeg has<br />
text relocations. This is wasting memory and prevents security<br />
hardening. Please fix. 07-30 14:31:58.390<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg<br />
developers 07-30 14:31:58.391<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - built on Dec 22 2014 12:52:34 with gcc 4.6 20120106<br />
(prerelease) 07-30 14:31:58.391<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - configuration: --arch=arm --cpu=cortex-a8<br />
--target-os=linux --enable-runtime-cpudetect --prefix=/data/data/info.guardianproject.ffmpeg/app_opt --enable-pic --disable-shared --enable-static --cross-prefix=/home/n8fr8/dev/android/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-<br />
--sysroot=/home/n8fr8/dev/android/ndk/platforms/android-16/arch-arm --extra-cflags='-I../x264 -mfloat-abi=softfp -mfpu=neon -fPIE -pie' --extra-ldflags='-L../x264 -fPIE -pie' --enable-version3 --enable-gpl --disable-doc --enable-yasm --enable-decoders --enable-encoders --enable-muxers --enable-demuxers --enable-parsers --enable-protocols --enable-filters --enable-avresample --enable-libfreetype --disable-indevs --enable-indev=lavfi --disable-outdevs --enable-hwaccels --enable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-network --enable-libx264 --enable-zlib 07-30 14:31:58.391<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - libavutil 51. 54.100 / 51. 54.100 07-30 14:31:58.391<br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - libavcodec 54. 23.100 / 54. 23.100 07-30 14:31:58.391<br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - libavformat 54. 6.100 / 54. 6.100 07-30 14:31:58.391<br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - libavdevice 54. 0.100 / 54. 0.100 07-30 14:31:58.391<br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - libavfilter 2. 77.100 / 2. 77.100 07-30 14:31:58.391<br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - libswscale 2. 1.100 / 2. 1.100 07-30 14:31:58.391<br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - libswresample 0. 15.100 / 0. 15.100 07-30 14:31:58.391<br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - libpostproc 52. 0.100 / 52. 0.100 07-30 14:31:58.868<br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - Input #0, mov,mp4,m4a,3gp,3g2,mj2, from<br />
'/storage/emulated/0/DCIM/Camera/VID_20150730_142330563.mp4': 07-30<br />
14:31:58.869 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - Metadata: 07-30 14:31:58.869<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - major_brand : mp42 07-30 14:31:58.870<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - minor_version : 0 07-30 14:31:58.871<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - compatible_brands: isommp42 07-30 14:31:58.872<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - creation_time : 2015-07-30 17:23:34 07-30<br />
14:31:58.873 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - Duration: 00:00:01.89, start: 0.000000,<br />
bitrate: 17571 kb/s 07-30 14:31:58.874<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - Stream #0:0(eng): Video: h264 (High) (avc1 /<br />
0x31637661), yuv420p, 1920x1080, 15874 kb/s, SAR 65536:65536 DAR 16:9,<br />
23.90 fps, 23.92 tbr, 90k tbn, 180k tbc 07-30 14:31:58.875 3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - Metadata: 07-30 14:31:58.876<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - rotate : 270 07-30 14:31:58.877<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - creation_time : 2015-07-30 17:23:34 07-30<br />
14:31:58.878 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - handler_name : VideoHandle 07-30<br />
14:31:58.878 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - Stream #0:1(eng): Audio: aac (mp4a /<br />
0x6134706D), 48000 Hz, stereo, s16, 127 kb/s 07-30 14:31:58.878<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - Metadata: 07-30 14:31:58.878<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - creation_time : 2015-07-30 17:23:34 07-30<br />
14:31:58.878 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - handler_name : SoundHandle 07-30<br />
14:31:58.882 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - [buffer @ 0xb5cce0a0] w:1920 h:1080<br />
pixfmt:yuv420p tb:1/90000 sar:65536/65536 sws_param:flags=2 07-30<br />
14:31:58.882 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - [buffersink @ 0xb5cce0d0] No opaque field<br />
provided 07-30 14:31:58.891<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - [mpeg @ 0xb5c3df00] VBV buffer size not set, muxing may<br />
fail 07-30 14:31:58.892<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - Output #0, mpeg, to<br />
'/storage/emulated/0/DCIM/Camera/output.mp4': 07-30 14:31:58.894<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - Metadata: 07-30 14:31:58.895<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - major_brand : mp42 07-30 14:31:58.896<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - minor_version : 0 07-30 14:31:58.896<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - compatible_brands: isommp42 07-30 14:31:58.897<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - creation_time : 2015-07-30 17:23:34 07-30<br />
14:31:58.898 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - encoder : Lavf54.6.100 07-30<br />
14:31:58.898 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - Stream #0:0(eng): Video: mpeg1video,<br />
yuv420p, 1920x1080 [SAR 65536:65536 DAR 16:9], q=2-31, 200 kb/s, 90k<br />
tbn, 23.98 tbc 07-30 14:31:58.899<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - Metadata: 07-30 14:31:58.899<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - rotate : 270 07-30 14:31:58.900<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - creation_time : 2015-07-30 17:23:34 07-30<br />
14:31:58.901 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - handler_name : VideoHandle 07-30<br />
14:31:58.906 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - Stream #0:1(eng): Audio: mp2, 48000 Hz,<br />
stereo, s16, 128 kb/s 07-30 14:31:58.906<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - Metadata: 07-30 14:31:58.906<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - creation_time : 2015-07-30 17:23:34 07-30<br />
14:31:58.906 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - handler_name : SoundHandle 07-30<br />
14:31:58.906 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - Stream mapping: 07-30 14:31:58.906<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - Stream #0:0 -> #0:0 (h264 -> mpeg1video) 07-30<br />
14:31:58.906 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - Stream #0:1 -> #0:1 (aac -> mp2) 07-30<br />
14:31:58.906 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - Press [q] to stop, [?] for help 07-30<br />
14:31:59.824 3096-3182/douglasanunciacao.androidffmpegjavateste<br />
E/TESTE FFMPEG﹕ shellOut - frame= 4 fps=0.0 q=2.0 size= 0kB<br />
time=00:00:00.08 bitrate= 0.0kbits/s 07-30 14:32:02.029<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - frame= 8 fps=2.7 q=10.5 size= 4kB time=00:00:00.25<br />
bitrate= 130.9kbits/s 07-30 14:32:02.536<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - frame= 13 fps=3.7 q=25.2 size= 696kB time=00:00:00.45<br />
bitrate=12427.3kbits/s 07-30 14:32:03.045<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - frame= 18 fps=4.4 q=31.0 size= 750kB time=00:00:00.66<br />
bitrate=9206.8kbits/s 07-30 14:32:03.582<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - frame= 23 fps=5.0 q=31.0 size= 786kB time=00:00:00.87<br />
bitrate=7351.4kbits/s 07-30 14:32:04.140<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - frame= 28 fps=5.5 q=31.0 size= 862kB time=00:00:01.08<br />
bitrate=6511.8kbits/s 07-30 14:32:05.239<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - frame= 30 fps=4.8 q=31.0 size= 876kB time=00:00:01.16<br />
bitrate=6144.9kbits/s 07-30 14:32:05.746<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - frame= 35 fps=5.2 q=31.0 size= 910kB time=00:00:01.37<br />
bitrate=5416.2kbits/s 07-30 14:32:06.317<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - frame= 41 fps=5.6 q=31.0 size= 972kB time=00:00:01.62<br />
bitrate=4895.2kbits/s 07-30 14:32:06.832<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - frame= 45 fps=5.7 q=31.0 Lsize= 1022kB<br />
time=00:00:01.83 bitrate=4562.1kbits/s 07-30 14:32:06.832<br><br />
3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
shellOut - video:984kB audio:30kB global headers:0kB muxing overhead<br />
0.756932% 07-30 14:32:06.858 3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
proccess complete - 0 07-30 14:32:06.858<br><br />
3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
terminou o ffmpeg ---> video output file exist</p><br />
</blockquote><br />
<br />
<p>Does anyone knows how to solve this problem? Thanks in advance.</p> -
ffmpeg ffserver - create a mosaic from two 720p webcam feeds
28 juillet 2015, par der_felixfor a project i would like to take the video feeds (NO audio) of two logitech c920 webcams, put them side-by-side and stream them.
the c920 is able to compress the video feed with h264 itself(if enabled) and delivers 1080p with upto 30fps.
the stream is then loaded in an android app by a ffmpeg library and rendered to the screen.what i already know :
i know that i can take multiple streams or input files and create a mosaic stream via the filter_complex module.
http and h264 seem to be good for streaming, but other configurations are also welcom if they are faster/better.the question :
but how can i start the cameras with v4l2, set the camera resoltution and camera internal encoding and use these streams to create the mosaic ?
the mosaic should be unscaled (=2560x720px).and i very often get the error code 256 but didnt find a solution what it means.
the system : laptop with usb3, ubuntu 15.04x64 ffmpeg 2.7.1 and ffserver 2.5.7
thanks for your help
ffserver config :
HTTPPort 8080
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 50000
CustomLog -
#NoDaemon
<feed>
File /tmp/feed1.ffm
Launch ffmpeg -f v4l2 - input_format h264 -i /dev/video0 -i /dev/video1 -size 1280x720 -r 30 -filter_complex "nullsrc=size=2560x720 [base]; [0:v] setpts=PTS-STARTPTS [left]; [1:v] setpts=PTS-STARTPTS [right]; [base][left] overlay=shortest=1 [tmp1]; [tmp1][right] overlay=shortest=1:x=1280" -c:v libx264 -f mpegts
</feed>
<stream>
Feed feed1.ffm
Format mpegts
VideoBitRate 1024
#VideoBufferSize 1024
VideoFrameRate 30
#VideoSize hd720
VideoSize 2560x720
#VideoIntraOnly
#VideoGopSize 12
VideoCodec libx264
NoAudio
VideoQMin 3
VideoQMax 31
NoDefaults
</stream>
<stream>
Format status
#Only allow local people to get the status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</stream>output :
ubuntu@ubuntu:~$ ffserver
ffserver version 2.5.7-0ubuntu0.15.04.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
configuration: --prefix=/usr --extra-version=0ubuntu0.15.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --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-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libwavpack --enable-libwebp --enable-libxvid --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libvpx --enable-libx264 --enable-libsoxr --enable-gnutls --enable-openal --enable-libopencv --enable-librtmp --enable-libx265
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 13.100 / 56. 13.100
libavformat 56. 15.102 / 56. 15.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 2.103 / 5. 2.103
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Tue Jul 28 10:13:44 2015 FFserver started.
Tue Jul 28 10:13:44 2015 Launch command line: ffmpeg -f v4l2 - input_format h264 -i /dev/video0 -i /dev/video1 -size 1280x720 -r 30 -filter_complex nullsrc=size=2560x720 [base]; [0:v] setpts=PTS-STARTPTS [left]; [1:v] setpts=PTS-STARTPTS [right]; [base][left] overlay=shortest=1 [tmp1]; [tmp1][right] overlay=shortest=1:x=1280 -c:v libx264 -f mpegts http://127.0.0.1:8080/feed1.ffm
feed1.ffm: Pid 17388 exited with status 256 after 0 secondsHey guys !
Here is our plan b for the mosaic stream.
Alternative config :
HTTPPort 8080
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 50000
CustomLog -
<feed>
File /tmp/feedlinks.ffm
Launch ffmpeg -f v4l2 -input_format h264 -vcodec h264 -i /dev/video0 -video_size 1280x720 -r 30
</feed>
<feed>
File /tmp/feedrechts.ffm
Launch ffmpeg -f v4l2 -input_format h264 -vcodec h264 -i /dev/video1 -video_size 1280x720 -r 30
</feed>
<stream>
Feed feedlinks.ffm
Format mpegts
VideoBitRate 512
VideoFrameRate 30
VideoSize hd720
VideoCodec libx264
NoAudio
VideoQMin 3
VideoQMax 31
</stream>
<stream>
Feed feedrechts.ffm
Format mpegts
VideoBitRate 512
VideoFrameRate 30
VideoSize hd720
VideoCodec libx264
NoAudio
VideoQMin 3
VideoQMax 31
</stream>
<feed>
File /tmp/feedmosaic.ffm
Launch ffmpeg -i http://localhost:8080/testlinks.mpg -i http://localhost:8080/testrechts.mpg -filter_complex "nullsrc=size=2560x720 [base]; [0:v] setpts=PTS-STARTPTS [left]; [1:v] setpts=PTS-STARTPTS [right]; [base][left] overlay=shortest=1 [tmp1]; [tmp1][right] overlay=shortest=1:x=1280" -c:v libx264 -preset ultrafast -f mpegts
</feed>
<stream>
Feed feedmosaic.ffm
Format mpegts # Format of the stream
VideoFrameRate 30 # Number of frames per second
VideoSize 2560x720
VideoCodec libx264 # Choose your codecs.
NoAudio # Suppress audio
VideoQMin 3 # Videoquality ranges from 1 - 31 (worst to best)
VideoQMax 31
NoDefaults
</stream>
<stream> # Server status URL
Format status
# Only allow local people to get the status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
ACL allow 192.168.178.0 192.168.255.255
</stream>And this is the new output :
ubuntu@ubuntu:~$ ffserver
ffserver version 2.5.7-0ubuntu0.15.04.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
configuration: --prefix=/usr --extra-version=0ubuntu0.15.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --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-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libwavpack --enable-libwebp --enable-libxvid --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libvpx --enable-libx264 --enable-libsoxr --enable-gnutls --enable-openal --enable-libopencv --enable-librtmp --enable-libx265
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 13.100 / 56. 13.100
libavformat 56. 15.102 / 56. 15.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 2.103 / 5. 2.103
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
/etc/ffserver.conf:44: Setting default value for video bit rate tolerance = 128000. Use NoDefaults to disable it.
/etc/ffserver.conf:44: Setting default value for video rate control equation = tex^qComp. Use NoDefaults to disable it.
/etc/ffserver.conf:44: Setting default value for video max rate = 1024000. Use NoDefaults to disable it.
/etc/ffserver.conf:44: Setting default value for video buffer size = 1024000. Use NoDefaults to disable it.
/etc/ffserver.conf:61: Setting default value for video bit rate tolerance = 128000. Use NoDefaults to disable it.
/etc/ffserver.conf:61: Setting default value for video rate control equation = tex^qComp. Use NoDefaults to disable it.
/etc/ffserver.conf:61: Setting default value for video max rate = 1024000. Use NoDefaults to disable it.
/etc/ffserver.conf:61: Setting default value for video buffer size = 1024000. Use NoDefaults to disable it.
Tue Jul 28 11:13:01 2015 Codec bitrates do not match for stream 0
Tue Jul 28 11:13:01 2015 FFserver started.
Tue Jul 28 11:13:01 2015 Launch command line: ffmpeg -f v4l2 -input_format h264 -vcodec h264 -i /dev/video0 -video_size 1280x720 -r 30 http://127.0.0.1:8080/feedlinks.ffm
Tue Jul 28 11:13:01 2015 Launch command line: ffmpeg -f v4l2 -input_format h264 -vcodec h264 -i /dev/video1 -video_size 1280x720 -r 30 http://127.0.0.1:8080/feedrechts.ffm
Tue Jul 28 11:13:01 2015 Launch command line: ffmpeg -i http://localhost:8080/testlinks.mpg -i http://localhost:8080/testrechts.mpg -filter_complex nullsrc=size=2560x720 [base]; [0:v] setpts=PTS-STARTPTS [left]; [1:v] setpts=PTS-STARTPTS [right]; [base][left] overlay=shortest=1 [tmp1]; [tmp1][right] overlay=shortest=1:x=1280 -c:v libx264 -preset ultrafast -f mpegts http://127.0.0.1:8080/feedmosaic.ffm
Tue Jul 28 11:13:02 2015 127.0.0.1 - - [GET] "/feedlinks.ffm HTTP/1.1" 200 4175
Tue Jul 28 11:13:02 2015 127.0.0.1 - - [GET] "/feedrechts.ffm HTTP/1.1" 200 4175
Tue Jul 28 11:13:18 2015 127.0.0.1 - - [POST] "/feedmosaic.ffm HTTP/1.1" 200 4096
Tue Jul 28 11:13:18 2015 127.0.0.1 - - [GET] "/testlinks.mpg HTTP/1.1" 200 2130291
Tue Jul 28 11:13:18 2015 127.0.0.1 - - [GET] "/testrechts.mpg HTTP/1.1" 200 1244999
feedmosaic.ffm: Pid 18775 exited with status 256 after 17 secondsThanks for your help !
-
Convert static file to h264 stream with FFmpeg [on hold]
28 août 2013, par VprnlI'm building a NodeJS application that converts a static videofile to a streamable video which is being sent to a client (iPad or browser) on the fly (using the fluent-ffmpeg module).
Everything is set and all I need now is to configure ffmpeg correctly. But I'm having a lot of problems with ffmpeg.
With my current settings, I hear audio right away, but the picture starts a couple of seconds later. Then, my 30 second test file has been compressed to 3 seconds of high speed imagery.
How can I configure my ffmpeg so it will stream the mp4 correctly (in one pass through of course). It seems it is streaming raw h264, if that is the case how can I force the mp4 container. I thought I was doing that by using '-f mp4'
my correct settings are :
'-crf 22','-c:v libx264','-f mp4','-movflags','faststart+frag_keyframe'
I've also tried :
'-r 30','-crf 30','-analyzeduration 0','-probesize 1000','-rc_lookahead 0','-fflags nobuffer','-g 75','-ss 0','-threads 0','-vcodec libx264','-qcomp 0.6','-qmin 10','-qmax 51','-qdiff 4','-b:v 400k','-maxrate 400k','-bufsize 800k','-acodec mp3','-ab 192k','-ar 44100','-tune zerolatency','-f mp4','-movflags','faststart+frag_keyframe'
As you can see by the amount of options I've tried, I'm getting pretty desperate. I'm basically just running around in the dark.
I don't think it matters much but these are my request headers :
res.writeHead(200, { // NOTE: a partial http response
'Content-Type':'video/mp4',
'Content-Length':stat.size,
'Content-Range':'bytes '+start+'-'+end+'/'+stat.size,
'Transfer-Encoding':'chunked'
});