
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (105)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
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 (9136)
-
H.264 encoded stream in MP4 container does not play right in WMP12 Windows 7
13 décembre 2019, par remusI’d like to figure out why my H.264 encoded stream in a MP4 container does not play back correctly in Window Media Player 12 in Windows 7. The file plays well in VLC and other players including WMP from Windows 10 but I’m just wondering why WMP12 from Win 7 does not play it.
It seems that only I-type frames are displayed and blank black frames are shown instead of all P-type frames in between. If I force my device encoder to produce only I-type frames then the file plays back ok in WMP12 (Win 7) but the size of the file increases too much. What are the limits of H.264 decoder in Windows 7 ?
I’m adding below
ffprobe -show_frames video.mp4
(just a few frames but there are no reported errors by ffprobe) :Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:00:05.51, start: 0.024000, bitrate: 513 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x480, 510 kb/s, 30.11 fps, 59.94 tbr, 90k tbn, 180k tbc (default)
Metadata:
handler_name : VideoHandler
[FRAME]
media_type=video
stream_index=0
key_frame=1
pkt_pts=2160
pkt_pts_time=0.024000
pkt_dts=2160
pkt_dts_time=0.024000
best_effort_timestamp=2160
best_effort_timestamp_time=0.024000
pkt_duration=2340
pkt_duration_time=0.026000
pkt_pos=48
pkt_size=2979
width=720
height=480
pix_fmt=yuv420p
sample_aspect_ratio=N/A
pict_type=I
coded_picture_number=0
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=4500
pkt_pts_time=0.050000
pkt_dts=4500
pkt_dts_time=0.050000
best_effort_timestamp=4500
best_effort_timestamp_time=0.050000
pkt_duration=4320
pkt_duration_time=0.048000
pkt_pos=3027
pkt_size=1662
width=720
height=480
pix_fmt=yuv420p
sample_aspect_ratio=N/A
pict_type=P
coded_picture_number=1
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=8820
pkt_pts_time=0.098000
pkt_dts=8820
pkt_dts_time=0.098000
best_effort_timestamp=8820
best_effort_timestamp_time=0.098000
pkt_duration=3060
pkt_duration_time=0.034000
pkt_pos=4689
pkt_size=1073
width=720
height=480
pix_fmt=yuv420p
sample_aspect_ratio=N/A
pict_type=P
coded_picture_number=2
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=11880
pkt_pts_time=0.132000
pkt_dts=11880
pkt_dts_time=0.132000
best_effort_timestamp=11880
best_effort_timestamp_time=0.132000
pkt_duration=2970
pkt_duration_time=0.033000
pkt_pos=5762
pkt_size=829
width=720
height=480
pix_fmt=yuv420p
sample_aspect_ratio=N/A
pict_type=P
coded_picture_number=3
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=14850
pkt_pts_time=0.165000
pkt_dts=14850
pkt_dts_time=0.165000
best_effort_timestamp=14850
best_effort_timestamp_time=0.165000
pkt_duration=3060
pkt_duration_time=0.034000
pkt_pos=6591
pkt_size=987
width=720
height=480
pix_fmt=yuv420p
sample_aspect_ratio=N/A
pict_type=P
coded_picture_number=4
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=17910
pkt_pts_time=0.199000
pkt_dts=17910
pkt_dts_time=0.199000
best_effort_timestamp=17910
best_effort_timestamp_time=0.199000
pkt_duration=2970
pkt_duration_time=0.033000
pkt_pos=7578
pkt_size=1344
width=720
height=480
pix_fmt=yuv420p
sample_aspect_ratio=N/A
pict_type=P
coded_picture_number=5
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=20880
pkt_pts_time=0.232000
pkt_dts=20880
pkt_dts_time=0.232000
best_effort_timestamp=20880
best_effort_timestamp_time=0.232000
pkt_duration=2970
pkt_duration_time=0.033000
pkt_pos=8922
pkt_size=1850
width=720
height=480
pix_fmt=yuv420p
sample_aspect_ratio=N/A
pict_type=P
coded_picture_number=6
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=23850
pkt_pts_time=0.265000
pkt_dts=23850
pkt_dts_time=0.265000
best_effort_timestamp=23850
best_effort_timestamp_time=0.265000
pkt_duration=3060
pkt_duration_time=0.034000
pkt_pos=10772
pkt_size=1972
width=720
height=480
pix_fmt=yuv420p
sample_aspect_ratio=N/A
pict_type=P
coded_picture_number=7
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]Please let me know if you spot any errors in these frames that might affect playback.
The encoded H.264 stream is created using Freescale libimxvpuapi and the MP4 container using ffmpeg.
More information on the file :
exiftool video.mp4
ExifTool Version Number : 10.10
File Name : video.mp4
Directory : .
File Size : 346 kB
File Modification Date/Time : 2018:10:02 11:27:20+02:00
File Access Date/Time : 2018:10:02 11:41:14+02:00
File Inode Change Date/Time : 2018:10:02 11:27:21+02:00
File Permissions : rw-r--r--
File Type : MP4
File Type Extension : mp4
MIME Type : video/mp4
Major Brand : MP4 Base Media v1 [IS0 14496-12:2003]
Minor Version : 0.2.0
Compatible Brands : isom, iso2, avc1, mp41
Movie Data Size : 351479
Movie Data Offset : 48
Movie Header Version : 0
Create Date : 0000:00:00 00:00:00
Modify Date : 0000:00:00 00:00:00
Time Scale : 1000
Duration : 5.51 s
Preferred Rate : 1
Preferred Volume : 100.00%
Preview Time : 0 s
Preview Duration : 0 s
Poster Time : 0 s
Selection Time : 0 s
Selection Duration : 0 s
Current Time : 0 s
Next Track ID : 2
Track Header Version : 0
Track Create Date : 0000:00:00 00:00:00
Track Modify Date : 0000:00:00 00:00:00
Track ID : 1
Track Duration : 5.51 s
Track Layer : 0
Track Volume : 0.00%
Matrix Structure : 1 0 0 0 1 0 0 0 1
Image Width : 720
Image Height : 480
Media Header Version : 0
Media Create Date : 0000:00:00 00:00:00
Media Modify Date : 0000:00:00 00:00:00
Media Time Scale : 90000
Media Duration : 5.51 s
Media Language Code : und
Handler Description : VideoHandler
Graphics Mode : srcCopy
Op Color : 0 0 0
Compressor ID : avc1
Source Image Width : 720
Source Image Height : 480
X Resolution : 72
Y Resolution : 72
Bit Depth : 24
Video Frame Rate : 30.109
Handler Type : Metadata
Handler Vendor ID : Apple
Encoder : Lavf57.83.100
Avg Bitrate : 510 kbps
Image Size : 720x480
Megapixels : 0.346
Rotation : 0Many thanks !
Please find a video sample here :
-
FFMpeg Error initializing filter 'drawtext'
4 octobre 2018, par user3884677I try to draw a text on a video using FFMpeg but I have the error :
ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (GCC)
configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/mediapicker/videos/eb89fc80-ebcc-4848-a95c-6983b2c5b09d.mp4':
Metadata:
major_brand : 3gp4
minor_version : 0
compatible_brands: isom3gp4
creation_time : 2018-10-03 15:46:13
com.android.version: 6.0
Duration: 00:00:04.78, start: 0.000000, bitrate: 6167 kb/s
Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 6122 kb/s, SAR 1:1 DAR 16:9, 19.95 fps, 19.92 tbr, 90k tbn, 180k tbc (default)
Metadata:
rotate : 90
creation_time : 2018-10-03 15:46:13
handler_name : VideoHandle
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
creation_time : 2018-10-03 15:46:13
handler_name : SoundHandle
Fontconfig error: Cannot load default config file
[Parsed_drawtext_0 @ 0xb561e040] impossible to init fontconfig
[AVFilterGraph @ 0xb5609140] Error initializing filter 'drawtext' with args '"fontfile=/usr/share/fonts/TTF/Vera.ttf: text=Test Heading"'
Error opening filters!This is my code :
private GLSurfaceView mGLView;
private Button chooseVideo;
private Button valideButton;
private String SelectedVideo;
private VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
chooseVideo= findViewById(R.id.choose_video);
chooseVideo.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new VideoPicker.Builder(MainActivity.this)
.mode(VideoPicker.Mode.GALLERY)
.directory(VideoPicker.Directory.DEFAULT)
.extension(VideoPicker.Extension.MP4)
.enableDebuggingMode(true)
.build();
}
});
videoView = (VideoView) findViewById(R.id.videoView);
final FFmpeg ffmpeg = FFmpeg.getInstance(MainActivity.this);
try {
ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onFailure() {
}
@Override
public void onSuccess() {
}
@Override
public void onFinish() {
}
});
} catch (FFmpegNotSupportedException e) {
}
valideButton= findViewById(R.id.valide);
valideButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
String[] cmd = {"-y" , "-i", SelectedVideo,
"-vf", "drawtext=\"fontfile=/usr/share/fonts/TTF/Vera.ttf: text=\'Test Heading\'\"",
"-acodec",
"copy", Environment.getExternalStorageDirectory()+"/"+Environment.DIRECTORY_MOVIES+"/output.mp4"};
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onProgress(String message) {
}
@Override
public void onFailure(String message) {
Log.i("ffmpegFailure",message);
}
@Override
public void onSuccess(String message) {
Log.i("ffmpegExecute",message);
videoView.setVideoPath(Environment.getExternalStorageDirectory()+"/"+Environment.DIRECTORY_MOVIES+"/output.mp4");
videoView.requestFocus();
videoView.start();
}
@Override
public void onFinish() {
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// Handle if FFmpeg is already running
}
}
});
}My problem is that I can not use the option ’drawtext’. When I don’t use the option ’drawtext’ it’s work. I do not know which syntax I should use.
I tried a lot of possibilities without success.
I use this library : http://writingminds.github.io/ffmpeg-android-java/Can you help me ?
-
FFMpeg Error initializing filter 'drawtext' on Android project
14 janvier 2019, par user3884677I try to draw a text on a video using FFMpeg but I have the error :
ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (GCC)
configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/mediapicker/videos/eb89fc80-ebcc-4848-a95c-6983b2c5b09d.mp4':
Metadata:
major_brand : 3gp4
minor_version : 0
compatible_brands: isom3gp4
creation_time : 2018-10-03 15:46:13
com.android.version: 6.0
Duration: 00:00:04.78, start: 0.000000, bitrate: 6167 kb/s
Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 6122 kb/s, SAR 1:1 DAR 16:9, 19.95 fps, 19.92 tbr, 90k tbn, 180k tbc (default)
Metadata:
rotate : 90
creation_time : 2018-10-03 15:46:13
handler_name : VideoHandle
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
creation_time : 2018-10-03 15:46:13
handler_name : SoundHandle
Fontconfig error: Cannot load default config file
[Parsed_drawtext_0 @ 0xb561e040] impossible to init fontconfig
[AVFilterGraph @ 0xb5609140] Error initializing filter 'drawtext' with args '"fontfile=/usr/share/fonts/TTF/Vera.ttf: text=Test Heading"'
Error opening filters!This is my code :
private GLSurfaceView mGLView;
private Button chooseVideo;
private Button valideButton;
private String SelectedVideo;
private VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
chooseVideo= findViewById(R.id.choose_video);
chooseVideo.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new VideoPicker.Builder(MainActivity.this)
.mode(VideoPicker.Mode.GALLERY)
.directory(VideoPicker.Directory.DEFAULT)
.extension(VideoPicker.Extension.MP4)
.enableDebuggingMode(true)
.build();
}
});
videoView = (VideoView) findViewById(R.id.videoView);
final FFmpeg ffmpeg = FFmpeg.getInstance(MainActivity.this);
try {
ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onFailure() {
}
@Override
public void onSuccess() {
}
@Override
public void onFinish() {
}
});
} catch (FFmpegNotSupportedException e) {
}
valideButton= findViewById(R.id.valide);
valideButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
String[] cmd = {"-y" , "-i", SelectedVideo,
"-vf", "drawtext=\"fontfile=/usr/share/fonts/TTF/Vera.ttf: text=\'Test Heading\'\"",
"-acodec",
"copy", Environment.getExternalStorageDirectory()+"/"+Environment.DIRECTORY_MOVIES+"/output.mp4"};
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onProgress(String message) {
}
@Override
public void onFailure(String message) {
Log.i("ffmpegFailure",message);
}
@Override
public void onSuccess(String message) {
Log.i("ffmpegExecute",message);
videoView.setVideoPath(Environment.getExternalStorageDirectory()+"/"+Environment.DIRECTORY_MOVIES+"/output.mp4");
videoView.requestFocus();
videoView.start();
}
@Override
public void onFinish() {
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// Handle if FFmpeg is already running
}
}
});
}My problem is that I can not use the option ’drawtext’. When I don’t use the option ’drawtext’ it’s work. I do not know which syntax I should use.
I tried a lot of possibilities without success.
I use this library : http://writingminds.github.io/ffmpeg-android-java/Can you help me ?