
Recherche avancée
Autres articles (111)
-
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Script d’installation automatique de MediaSPIP
25 avril 2011, parAfin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
La documentation de l’utilisation du script d’installation (...)
Sur d’autres sites (4007)
-
I want the mp4 file shooting date to be the xml file name
21 novembre 2019, par re6In Windows 10 environment, I would like to change the name of both “file with extension mp4” and “file with extension xml” to the shooting date of mp4 file.
C0001.MP4
C0001M01.XML
C0002.MP4
C0002M01.XMLSpecifically, I want to change the file name as follows.
2019-10-23_13-10-32.MP4
2019-10-23_13-10-32.XML
2019-10-23_13-10-49.MP4
2019-10-23_13-10-49.XML
I tried to think that using the ext option would give me the expected result, but I didn’t get the expected result.
First time
C:\Users\user>exiftool "-FileNamehoge/C0001M01.XML
Warning: No writable tags set from C:/hoge/C0001M01.XML
Warning: [minor] Error 3 placing ::NonRealTimeMetaAudioFormatAudioRecPortTrackDst in structure or list - C:/hoge/C0002M01.XML
Warning: No writable tags set from C:/hoge/C0002M01.XML
1 directories scanned
0 image files updated
2 image files unchangedSecond time
C:\Users\user>exiftool "-FileNamehoge/C0001.MP4
Warning: [minor] Error 3 placing ::NonRealTimeMetaLtcChangeTableLtcChangeStatus in structure or list - C:/hoge/C0001M01.XML
Warning: No writable tags set from C:/hoge/C0001M01.XML
Warning: [minor] The ExtractEmbedded option may find more tags in the movie data - C:/hoge/C0002.MP4
Warning: [minor] Error 3 placing ::NonRealTimeMetaAudioFormatAudioRecPortPort in structure or list - C:/hoge/C0002M01.XML
Warning: No writable tags set from C:/hoge/C0002M01.XML
1 directories scanned
2 image files updated
2 image files unchanged -
Rails 5 with Carrierwave and S3 - creating multiple video formats for DASH streaming works but mpd file breaks
22 novembre 2019, par Milindwhat I am doing -
i have aRails 5
app for video streaming(DASH MPEG) that usesFFMPEG
to get encoded stream videos by converting any single video into multiple videos of multiple bit rates/size and primarily also MPD FILE that can be played easily on html video player, which i have already tested by manually running the ffmpeg scripts on the console that generates all the files.However, I want to automate this process and hencecarrierwave
comes into the pictures.
Here, i usecarrierwave
to generate different versions(size/bitrate) of videos(mp4/webm) to upload to s3 but during running the version, where all the versions are successfully created in tmp folder, only the last version(mpd) that needs to create .mpd file, carrierwave creates a mp4 video file and just replaces the extension instead of actually creating the mpd file.So in the
aws s3(screenshot added below)
, i can see my all versions andmpd
file , but thatmpd
file which must be xml file is actually amp4
video file or uploaded version file itself.
I have also tried to create new file during the process, but it never works.
Has some one encountered this problem ?any help will be greatly appreciated ?
Ny code snippets below - model,uploader,output of script on the console during upload, s3 screenshot
##### models/video.rb ##########
mount_uploader :video, VideoUploader
####### uploaders/video_uploader.rb #########
class VideoUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
include CarrierWave::Video
include CarrierWave::Video::Thumbnailer
include ::CarrierWave::Backgrounder::Delay
####### for streaming ..first get the audio and then convert the input video into multiple bitrates/scale #######
###first get audio and then get all different versions of same video
version :video_audio do
process :get_audio
def get_audio
`ffmpeg -y -i "#{file.path}" -c:a aac -ac 2 -ab 128k -vn video_audio.mp4`
end
def full_filename(for_file)
"video_audio.mp4"
end
def filename
"video_audio.mp4"
end
end
####### similar to the above i have various version like ...#########
version :video_1080 do...end
version :video_720 do... end
version :video_480 do ...end
...and so on..and all these versions are successfully created and uploaded to s3, however..in next version ...show it also creates a video file whereas i need a simple mpd file ONLY.
###this is where even after everything works, in S3, i can see a video file of version mpd and not actual mpd file
version :mpd do
process :get_manifest
###here in the command below, the video.mpd file is successfully obtained but its uploaded as video.mpd file of added/uploaded video file and not a new mpd file
###tried with ffmpeg -f webm_dash_manifest -i too, but s3 still shows a mp4 file
`MP4Box -dash 1000 -rap -frag-rap -profile onDemand -out video.mpd video_1080.mp4 video_720.mp4 video_480.mp4 video_360.mp4 video_240.mp4 video_audio.mp4 `
end
end
######### sidekiq console output - successful mpd is generated ################
DASH-ing files - single segment
Subsegment duration 1.000 - Fragment duration: 1.000 secs
Splitting segments and fragments at GOP boundaries
DASHing file video_1080.mp4
DASHing file video_720.mp4
DASHing file video_480.mp4
DASHing file video_360.mp4
DASHing file video_240.mp4
DASHing file video_audio.mp4
\[DASH\] Generating MPD at time 2019-11-22T00:01:59.872Z
mpd_1mb.mp4
mpd_video.mpdthis is what the uploaded files looks on s3, notice the video.mpd, its a mp4 video file just like others which should have been a simple mpd file of not more than 2kb.
Is there something that I am missing ?
Can Carrierwave do this or is it not made for this ?
Do I have to write a callback and then programmatically upload files to s3, if carrierwave is not helping in this regard ?Kindly provide any suggestion or useful advice so that I can move ahead.
-
Frozen images at the beginning of a mts to mp4 conversion
26 novembre 2019, par nounouI am trying to convert a file h264 mpegts to h264 mp4.
ffmpeg.exe -i input.mts -f mp4 -vf "scale=512:384 " -c:a aac -b:a 64k -c:v libx264 -pix_fmt yuv420p -movflags faststart -map 0:v -map 0:a -y output.mp4
This conversion produces an output file longer than the input file and the image freezes (around 1 second) at startup, but there is already sound
After about 1 second the picture and sound are synchronous.
I have these messages before transcoding :ffmpeg version git-2019-11-13-a7245ad Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.2.1 (GCC) 20191010
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libo
pencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-lib
webp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enab
le-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
libavutil 56. 35.101 / 56. 35.101
libavcodec 58. 62.100 / 58. 62.100
libavformat 58. 35.100 / 58. 35.100
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 66.100 / 7. 66.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
[mp3float @ 00000000003f63c0] Header missing
[h264 @ 00000000003f5300] SPS unavailable in decode_picture_timing
[h264 @ 00000000003f5300] non-existing PPS 0 referenced
[h264 @ 00000000003f5300] SPS unavailable in decode_picture_timing
[h264 @ 00000000003f5300] non-existing PPS 0 referenced
[h264 @ 00000000003f5300] decode_slice_header error
[h264 @ 00000000003f5300] no frame!
[h264 @ 00000000003f5300] SPS unavailable in decode_picture_timing
[h264 @ 00000000003f5300] non-existing PPS 0 referenced
[h264 @ 00000000003f5300] SPS unavailable in decode_picture_timing
-----
[h264 @ 00000000003f5300] SPS unavailable in decode_picture_timing
[h264 @ 00000000003f5300] non-existing PPS 0 referenced
[h264 @ 00000000003f5300] decode_slice_header error
[h264 @ 00000000003f5300] no frame!
[mpegts @ 00000000003f1500] start time for stream 0 is not set in estimate_timings_from_pts
[mpegts @ 00000000003f1500] PES packet size mismatch
---
Press [q] to stop, [?] for help
[mp2 @ 0000000003b1e500] Header missing
Error while decoding stream #0:2: Invalid data found when processing input
[libx264 @ 0000000002b200c0] using SAR=4/3
[libx264 @ 0000000002b200c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0000000002b200c0] profile High, level 2.1, 4:2:0, 8-bit
[libx264 @ 0000000002b200c0] 264 - core 158 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x1
mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interl
=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qc
tio=1.40 aq=1:1.00
Output #0, mp4, to 'c:\temp\output.mp4':
Metadata:
encoder : Lavf58.35.100
Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 512x384 [SAR 4:3 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc
Metadata:
encoder : Lavc58.62.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
Stream #0:1(fre): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 64 kb/s
Metadata:
encoder : Lavc58.62.100 aac
c:\temp\input.MTS: corrupt decoded frame in stream 10:10.56 bitrate= 198.6kbits/s dup=42 drop=0 speed=7.03x
[mp4 @ 0000000002a16d40] Starting second pass: moving the moov atom to the beginning of the filespeed=7.12x
frame= 750 fps=175 q=-1.0 Lsize= 1806kB time=00:00:30.01 bitrate= 492.8kbits/s dup=42 drop=0 speed= 7x
video:1546kB audio:236kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.326814%If I try to cut the first 3 seconds on the source file.
ffmpeg.exe -ss 3 -i input.mts -f mpegts -c:v copy -c:a copy -map v -map a input_ss3.mts
Then redo the conversion h264 mpegts to h264 mp4
I have the same result.For the moment, in order to have an output file without frozen images at the beginning ; i need to do the following :
I have to extract the video and sound, look for the delay betwen video and sound, cutting sound at the begining of audio file,
concatenate the audio file et the video file, then convert to h264 - mp4.ffmpeg.exe -ss xx -i input.mts -f mpegts -c:a copy -vn audio.mts
ffmpeg.exe -i input.mts -f mpegts -c:v copy -an video.mts
ffmpeg.exe -i audio.mst -i video.mts -f mpegts -c:v copy -c:a copy -map 1:v -map 0:a new_input.mts
ffmpeg.exe -i new_input.mts -f mp4 -vf "scale=512:384 " -c:a aac -b:a 64k -c:v libx264 -pix_fmt yuv420p -movflags faststart -map 0:v -map 0:a output.mp4Can you tell me if there is a way to fix the source file or if there is another way to do it ?
Maybe I should cut my source file to the first intra image and do the conversion afterwards.
ffmpeg.exe input.mts -ss first_intra_frame -f mpegts -c:v copy -c:a copy -map v -map a:0 new_input.mts
ffmpeg.exe -i new_input.mts -f mp4 -vf "scale=512:384 " -c:a aac -b:a 64k -c:v libx264 -pix_fmt yuv420p -movflags faststart -map 0:v -map 0:a output.mp4But I have to find the exact position of the first intra frame.
I try with the command :
ffmpeg.exe -skip_frame nokey -i input.mts -t 10 -vf showinfo -vsync 0 -f null -
But, I get "pts_time" which does not seem to match the position in "seconds.milliseconds" of the first intra frame.
I try with the command :
ffprobe.exe input.mts -show_frames -select_streams v:0 -show_entries frame=pkt_pts,pkt_pts_time,pkt_dts,pkt_dts_time,pkt_pos,coded_picture_number,pict_type > input.txt
I also do not find the position of the first intra frame.
Could you help me to find the exact position in "seconds.milliseconds" of the firsts intra frames ?