
Recherche avancée
Médias (2)
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
Autres articles (62)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Mise à disposition des fichiers
14 avril 2011, parPar défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)
Sur d’autres sites (11739)
-
FFMpeg : write h264 stream to mp4 container without changes
3 mars 2017, par BumblebeeGood day.
For brevity, the code omits error handling and memory management.
I want to capture h264 video stream and pack it to mp4 container without changes. Since i don’t control the source of stream, i can not make assumptions about stream structure. In this way i must probe input stream.
AVProbeData probeData;
probeData.buf_size = s->BodySize();
probeData.buf = s->GetBody();
probeData.filename = "";
AVInputFormat* inFormat = av_probe_input_format(&probeData, 1);This code correctly defines h264 stream.
Next, i create input format context,
unsigned char* avio_input_buffer = reinterpret_cast<unsigned> (av_malloc(AVIO_BUFFER_SIZE));
AVIOContext* avio_input_ctx = avio_alloc_context(avio_input_buffer, AVIO_BUFFER_SIZE,
0, this, &read_packet, NULL, NULL);
AVFormatContext* ifmt_ctx = avformat_alloc_context();
ifmt_ctx->pb = avio_input_ctx;
int ret = avformat_open_input(&ifmt_ctx, NULL, inFormat, NULL);
</unsigned>set image size,
ifmt_ctx->streams[0]->codec->width = ifmt_ctx->streams[0]->codec->coded_width = width;
ifmt_ctx->streams[0]->codec->height = ifmt_ctx->streams[0]->codec->coded_height = height;create output format context,
unsigned char* avio_output_buffer = reinterpret_cast<unsigned>(av_malloc(AVIO_BUFFER_SIZE));
AVIOContext* avio_output_ctx = avio_alloc_context(avio_output_buffer, AVIO_BUFFER_SIZE,
1, this, NULL, &write_packet, NULL);
AVFormatContext* ofmt_ctx = nullptr;
avformat_alloc_output_context2(&ofmt_ctx, NULL, "mp4", NULL);
ofmt_ctx->pb = avio_output_ctx;
AVDictionary* dict = nullptr;
av_dict_set(&dict, "movflags", "faststart", 0);
av_dict_set(&dict, "movflags", "frag_keyframe+empty_moov", 0);
AVStream* outVideoStream = avformat_new_stream(ofmt_ctx, nullptr);
avcodec_copy_context(outVideoStream->codec, ifmt_ctx->streams[0]->codec);
ret = avformat_write_header(ofmt_ctx, &dict);
</unsigned>Initialization is done. Further there is a shifting packets from h264 stream to mp4 container. I dont calculate pts and dts, because source packet has AV_NOPTS_VALUE in them.
AVPacket pkt;
while (...)
{
ret = av_read_frame(ifmt_ctx, &pkt);
ret = av_interleaved_write_frame(ofmt_ctx, &pkt);
av_free_packet(&pkt);
}Further i write trailer and free allocated memory. That is all. Code works and i got playable mp4 file.
Now the problem : the stream characteristics of the resulting file is not completely consisent with the characteristics of the source stream. In particular, fps and bitrate is higher than it should be.
As sample, below is output ffplay.exe for source stream
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'd:/movies/source.mp4':0/0
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isom
creation_time : 2014-04-14T13:03:54.000000Z
Duration: 00:00:58.08, start: 0.000000, bitrate: 12130 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661),yuv420p, 1920x1080, 12129 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Switch subtitle stream from #-1 to #-1 vq= 1428KB sq= 0B f=0/0
Seek to 49% ( 0:00:28) of total duration ( 0:00:58) B f=0/0
30.32 M-V: -0.030 fd= 87 aq= 0KB vq= 1360KB sq= 0B f=0/0and for resulting stream (contains part of source stream)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'd:/movies/target.mp4':f=0/0
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1iso6mp41
encoder : Lavf57.56.101
Duration: 00:00:11.64, start: 0.000000, bitrate: 18686 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, 18683 kb/s, 38.57 fps, 40 tbr, 90k tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Switch subtitle stream from #-1 to #-1 vq= 2309KB sq= 0B f=0/0
5.70 M-V: 0.040 fd= 127 aq= 0KB vq= 2562KB sq= 0B f=0/0So there is a question, what i missed when copying stream ? I will be grateful for any help.
Best regards
-
PowerShell script ffmpeg
30 mars 2017, par Karma EliteBeing the good Windows systems admin that I am, I’m finally getting around to learning PowerShell. With that being said, I have no idea what I’m doing (surprise, surprise).
I thought that it would be a good learning experience for me to play around with PowerShell at home, far away from my production environment. Recently, I’ve begun using FFMPEG to convert all of my .mkv files to .mp4 so I could have better playback support to my PlayStation 3 via Plex, and thought that this would be a good learning experience.
The command I’ve been running is as follows :
ffmpeg -i OldVideoName.mkv -vcodec copy -acodec ac3 OldVideoName.mp4
What I want is have a PowerShell script that will run once, scanning a folder and all sub-folders for .mkv files (Get-ChildItem ".*.mkv"), transcode them to .mp4 via the above command, and place them in the same location as the .mkv with the same naming scheme.
Example of running the script with D :\Videos as the target directory :
D :\Videos\home_dvr\movies\video1.mkv —> D :\Videos\home_dvr\video1.mp4
D :\Videos\home_dvr\tv\video2.mkv —> D :\Videos\home_dvr\tv\video2.mp4As you can guess, I can’t figure it out for the life of me. Here’s the latest attempt before giving up.
$oldvid = Get-ChildItem .\*.mkv -Recurse
$newvid = $oldvid.Name.split(‘.’)[0]; ForEach-Object {
.\ffmpeg.exe -i $oldvid -y -vcodec copy -acodec ac3 $newvid".mp4”
}Any help would be appreciated !
-
What ffmpeg output format (-f) do I use for two-pass encoding of mkv files
16 mai 2020, par Mav-TekI recently backed up one of my Blu-ray movies and it is about 36 GB. Using ffmpeg to get info from the video, it is in h.264 in an mkv container. I want to shrink the file size using h.265 compression and targeting a bitrate of 4 Mbits/s so that I can stream it while I am away from my home over my Plex server. My upload speed is limited to 5 Mb/s.



Although I could easily do this with simple software, I want to learn more coding. I have found the proper ffmpeg code two do a two-pass encoding, but in all examples I have found, they use an output format of mp4 but state that "you need to specify an output format (with -f) that matches the output format you will use in pass 2." I assume my "output format" is mkv, but that does not allow my code to run. Can someone explain to me what is meant by output format and what I should be using to encode this from h264 to h265 in a mkv container ?



ffmpeg -y -i input.mkv -c:v libx265 -b:v 4M -x265-params pass=1 -an -f mkv /dev/null && \ ffmpeg -i "Arrival (2016).mkv" -c:v libx265 -b:v 4M -x265-params pass=2 -c:a copy output.mkv 




Also, in order to make this work on my windows PC, I am trying to learn how to edit some of the arguments to allow it to work in Powershell. I believe this is how I would do that :



(ffmpeg -y -i input.mkv -c:v libx265 -b:v 4M -x265-params pass=1 -an -f mkv NUL) -AND (^ ffmpeg -i "Arrival (2016).mkv" -c:v libx265 -b:v 4M -x265-params pass=2 -c:a copy output.mkv)