
Recherche avancée
Autres articles (81)
-
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...) -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)
Sur d’autres sites (4955)
-
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 ?
-
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.
-
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