
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (101)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
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 (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (6643)
-
Basic "pass-through" use of FFmpegReader/FFmpegWriter in scikit-video
6 février 2021, par JonathanZ supports MonicaCI am starting to use scikit-video and am having trouble writing files. I have reduced the problem to the simplest possible example


vid_file = "6710185719062326259_stamp_25pct.mp4"
output_file = "out_temp3.mp4"
reader = skvideo.io.FFmpegReader(vid_file)
writer = skvideo.io.FFmpegWriter(output_file)
for frame in reader.nextFrame():
 writer.writeFrame(frame)
writer.close()



I'm playing the files in VLC, and the
vid_file
is valid but the output file, though playable, is mostly big green blocks (though I can discern some details from the original video in it).

My goal, or course, is to do "interesting" manipulations of the frame before I write it out, but I need to get the "no modifications" version working correctly first. I'm also going to be using this on large files, so the
vread/vwrite
functions that process an entire file at once are not appropriate.

I'm guessing I need to set the appropriate values in the
outputdict
parameter for the FFmpegWriter, but there are so many that I don't know where to start. I have tried

writer = skvideo.io.FFmpegWriter(output_file, outputdict={'-crf': '0', '-pix_fmt': 'rgb24'})



(
-crf 0
to suppress any compression,-pixfmt rgb24
as that's what FFmpegReader says it delivers by default, but these don't work either.

Any ideas on how to make this work ?


Here's the
skvideo.io.ffprobe
video information for the input file.

{
 "@index": "0",
 "@codec_name": "h264",
 "@codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
 "@profile": "High",
 "@codec_type": "video",
 "@codec_time_base": "1/30",
 "@codec_tag_string": "avc1",
 "@codec_tag": "0x31637661",
 "@width": "480",
 "@height": "270",
 "@coded_width": "480",
 "@coded_height": "272",
 "@has_b_frames": "2",
 "@pix_fmt": "yuv420p",
 "@level": "21",
 "@chroma_location": "left",
 "@refs": "1",
 "@is_avc": "true",
 "@nal_length_size": "4",
 "@r_frame_rate": "15/1",
 "@avg_frame_rate": "15/1",
 "@time_base": "1/15360",
 "@start_pts": "0",
 "@start_time": "0.000000",
 "@duration_ts": "122880",
 "@duration": "8.000000",
 "@bit_rate": "183806",
 "@bits_per_raw_sample": "8",
 "@nb_frames": "120",
 "disposition": {
 "@default": "1",
 "@dub": "0",
 "@original": "0",
 "@comment": "0",
 "@lyrics": "0",
 "@karaoke": "0",
 "@forced": "0",
 "@hearing_impaired": "0",
 "@visual_impaired": "0",
 "@clean_effects": "0",
 "@attached_pic": "0",
 "@timed_thumbnails": "0"
 },
 "tag": [
 {
 "@key": "language",
 "@value": "und"
 },
 {
 "@key": "handler_name",
 "@value": "VideoHandler"
 }
 ]
}



I will mention that when I ffprobe the output file the only differences I see are 1) the timing data is different, which isn't surprising, and 2) the output file has


"@has_b_frames": "0",
 "@pix_fmt": "yuv444p",



I'm pretty confident the reader is working okay, because if I write out the data with


skimage.io.imsave('x.png', frame, check_contrast=False)



it looks good.


-
ffmpeg/ffprobe get HLS 'codecs' string for a video/audio stream
19 décembre 2020, par RichardI'm using ffmpeg to create HLS sub-playlists. I used ffmpeg to create them for the renditions. Now I need to create the master playlist .m3u8.


I need to do this manually, for a few reasons. I have everything I need except the 'CODECS' value.


How can I get this CODECS value for the video and audio streams within my file ?


I cannot see the relevant data when I use ffprobe to get all the metadata about the streams.


Example master manifest with CODECS :


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=540863,RESOLUTION=640x360,CODECS="avc1.64001e,mp4a.40.2"
v0/prog_index.m3u8

#EXT-X-STREAM-INF:BANDWIDTH=2339363,RESOLUTION=960x540,CODECS="avc1.64001f,mp4a.40.2"
v1/prog_index.m3u8



Example of metadata I could get using ffprobe :


{'avg_frame_rate': '24000/1001',
 'bit_rate': '35956',
 'bits_per_raw_sample': '8',
 'chroma_location': 'left',
 'closed_captions': 0,
 'codec_long_name': 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10',
 'codec_name': 'h264',
 'codec_tag': '0x31637661',
 'codec_tag_string': 'avc1',
 'codec_time_base': '1001/48000',
 'codec_type': 'video',
 'coded_height': 368,
 'coded_width': 640,
 'display_aspect_ratio': '16:9',
 'disposition': {'attached_pic': 0,
 'clean_effects': 0,
 'comment': 0,
 'default': 1,
 'dub': 0,
 'forced': 0,
 'hearing_impaired': 0,
 'karaoke': 0,
 'lyrics': 0,
 'original': 0,
 'timed_thumbnails': 0,
 'visual_impaired': 0},
 'duration': '5.005000',
 'duration_ts': 120120,
 'has_b_frames': 2,
 'height': 360,
 'index': 0,
 'is_avc': 'true',
 'level': 30,
 'nal_length_size': '4',
 'nb_frames': '120',
 'pix_fmt': 'yuv420p',
 'profile': 'High',
 'r_frame_rate': '24000/1001',
 'refs': 1,
 'sample_aspect_ratio': '1:1',
 'start_pts': 0,
 'start_time': '0.000000',
 'tags': {'handler_name': 'VideoHandler',
 'language': 'eng',
 'timecode': '01:00:00:00'},
 'time_base': '1/24000',
 'width': 640}



{'avg_frame_rate': '0/0',
 'bit_rate': '138375',
 'bits_per_sample': 0,
 'channel_layout': 'stereo',
 'channels': 2,
 'codec_long_name': 'AAC (Advanced Audio Coding)',
 'codec_name': 'aac',
 'codec_tag': '0x6134706d',
 'codec_tag_string': 'mp4a',
 'codec_time_base': '1/48000',
 'codec_type': 'audio',
 'disposition': {'attached_pic': 0,
 'clean_effects': 0,
 'comment': 0,
 'default': 1,
 'dub': 0,
 'forced': 0,
 'hearing_impaired': 0,
 'karaoke': 0,
 'lyrics': 0,
 'original': 0,
 'timed_thumbnails': 0,
 'visual_impaired': 0},
 'duration': '5.005000',
 'duration_ts': 240240,
 'index': 1,
 'max_bit_rate': '138375',
 'nb_frames': '236',
 'profile': 'LC',
 'r_frame_rate': '0/0',
 'sample_fmt': 'fltp',
 'sample_rate': '48000',
 'start_pts': 0,
 'start_time': '0.000000',
 'tags': {'handler_name': 'SoundHandler', 'language': 'eng'},
 'time_base': '1/48000'}



-
ffmpeg/ffprobe get 'codecs' string for a video/audio stream
18 décembre 2020, par RichardI'm using ffmpeg to create HLS playlists. I used ffmpeg to create them for the renditions. Now I need to create the master playlist .m3u8.


I need to do this manually, for a few reasons. I have everything I need except the 'CODECS' value.


How can I get this CODECS value for the video and audio streams within my file ?


I cannot see the relevant data when I use ffprobe to get all the metadata about the streams.


Example master manifest with CODECS :


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=540863,RESOLUTION=640x360,CODECS="avc1.64001e,mp4a.40.2"
v0/prog_index.m3u8

#EXT-X-STREAM-INF:BANDWIDTH=2339363,RESOLUTION=960x540,CODECS="avc1.64001f,mp4a.40.2"
v1/prog_index.m3u8



Example of metadata I could get using ffprobe :


{'avg_frame_rate': '24000/1001',
 'bit_rate': '35956',
 'bits_per_raw_sample': '8',
 'chroma_location': 'left',
 'closed_captions': 0,
 'codec_long_name': 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10',
 'codec_name': 'h264',
 'codec_tag': '0x31637661',
 'codec_tag_string': 'avc1',
 'codec_time_base': '1001/48000',
 'codec_type': 'video',
 'coded_height': 368,
 'coded_width': 640,
 'display_aspect_ratio': '16:9',
 'disposition': {'attached_pic': 0,
 'clean_effects': 0,
 'comment': 0,
 'default': 1,
 'dub': 0,
 'forced': 0,
 'hearing_impaired': 0,
 'karaoke': 0,
 'lyrics': 0,
 'original': 0,
 'timed_thumbnails': 0,
 'visual_impaired': 0},
 'duration': '5.005000',
 'duration_ts': 120120,
 'has_b_frames': 2,
 'height': 360,
 'index': 0,
 'is_avc': 'true',
 'level': 30,
 'nal_length_size': '4',
 'nb_frames': '120',
 'pix_fmt': 'yuv420p',
 'profile': 'High',
 'r_frame_rate': '24000/1001',
 'refs': 1,
 'sample_aspect_ratio': '1:1',
 'start_pts': 0,
 'start_time': '0.000000',
 'tags': {'handler_name': 'VideoHandler',
 'language': 'eng',
 'timecode': '01:00:00:00'},
 'time_base': '1/24000',
 'width': 640}



{'avg_frame_rate': '0/0',
 'bit_rate': '138375',
 'bits_per_sample': 0,
 'channel_layout': 'stereo',
 'channels': 2,
 'codec_long_name': 'AAC (Advanced Audio Coding)',
 'codec_name': 'aac',
 'codec_tag': '0x6134706d',
 'codec_tag_string': 'mp4a',
 'codec_time_base': '1/48000',
 'codec_type': 'audio',
 'disposition': {'attached_pic': 0,
 'clean_effects': 0,
 'comment': 0,
 'default': 1,
 'dub': 0,
 'forced': 0,
 'hearing_impaired': 0,
 'karaoke': 0,
 'lyrics': 0,
 'original': 0,
 'timed_thumbnails': 0,
 'visual_impaired': 0},
 'duration': '5.005000',
 'duration_ts': 240240,
 'index': 1,
 'max_bit_rate': '138375',
 'nb_frames': '236',
 'profile': 'LC',
 'r_frame_rate': '0/0',
 'sample_fmt': 'fltp',
 'sample_rate': '48000',
 'start_pts': 0,
 'start_time': '0.000000',
 'tags': {'handler_name': 'SoundHandler', 'language': 'eng'},
 'time_base': '1/48000'}