
Recherche avancée
Autres articles (80)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (13551)
-
Recording Camlink 4k feed with ffmpeg
5 août 2020, par Nitzan Yogevits my first question ! awesome !
so im new to python, and im working on some program for work
I have the Elgato CamLink 4k connected to Sony A7III.
im looking for the best way to record a video file from the camlink feed using python
I know that ffmpeg is a good way to record webcam feed. but im having trouble with it
here is my code.


import ffmpeg

(
 ffmpeg
 .input('0', format='avfoundation', pix_fmt='nv12', framerate=25)
 .output('test.mp4', pix_fmt='nv12', vframes=125)
 .overwrite_output()
 .run()
)



im using this ffmpeg-python module


im getting a output file with only the first frame and nothing more


here is what im getting in the run terminal


ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with Apple clang version 11.0.3 (clang-1103.0.32.62)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
[avfoundation @ 0x7ff043814600] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, avfoundation, from '0':
 Duration: N/A, start: 6247.240967, bitrate: N/A
 Stream #0:0: Video: rawvideo (NV12 / 0x3231564E), nv12, 3840x2160, 1000k tbr, 1000k tbn, 1000k tbc
Stream mapping:
 Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[mp4 @ 0x7ff043856c00] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
[libx264 @ 0x7ff043868000] MB rate (32400000000) > level limit (16711680)
[libx264 @ 0x7ff043868000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7ff043868000] profile High, level 6.2, 4:2:0, 8-bit
[libx264 @ 0x7ff043868000] 264 - core 160 r3011 cde9a93 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 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=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=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 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'test.mp4':
 Metadata:
 encoder : Lavf58.45.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), nv12, 3840x2160, q=-1--1, 1000k fps, 1000k tbn, 1000k tbc
 Metadata:
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 125 fps= 30 q=-1.0 Lsize= 788kB time=00:00:00.00 bitrate=52509528.5kbits/s dup=124 drop=1 speed=2.99e-05x 
video:786kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.290685%
[libx264 @ 0x7ff043868000] frame I:1 Avg QP:19.49 size:588332
[libx264 @ 0x7ff043868000] frame P:31 Avg QP:20.24 size: 4202
[libx264 @ 0x7ff043868000] frame B:93 Avg QP:33.28 size: 922
[libx264 @ 0x7ff043868000] consecutive B-frames: 0.8% 0.0% 0.0% 99.2%
[libx264 @ 0x7ff043868000] mb I I16..4: 2.8% 86.0% 11.3%
[libx264 @ 0x7ff043868000] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 6.9% 0.3% 0.5% 0.0% 0.0% skip:92.3%
[libx264 @ 0x7ff043868000] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 4.4% 0.0% 0.0% direct: 0.0% skip:95.6% L0:19.0% L1:81.0% BI: 0.0%
[libx264 @ 0x7ff043868000] 8x8 transform intra:86.0% inter:88.3%
[libx264 @ 0x7ff043868000] coded y,uvDC,uvAC intra: 93.8% 87.1% 55.6% inter: 0.1% 1.5% 0.0%
[libx264 @ 0x7ff043868000] i16 v,h,dc,p: 9% 10% 9% 72%
[libx264 @ 0x7ff043868000] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 14% 34% 6% 5% 5% 6% 7% 7%
[libx264 @ 0x7ff043868000] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 18% 16% 9% 8% 7% 8% 7% 6%
[libx264 @ 0x7ff043868000] i8c dc,h,v,p: 48% 26% 20% 6%
[libx264 @ 0x7ff043868000] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7ff043868000] ref P L0: 82.6% 0.1% 14.0% 3.3%
[libx264 @ 0x7ff043868000] ref B L0: 99.8% 0.2% 0.0%
[libx264 @ 0x7ff043868000] ref B L1: 76.2% 23.8%
[libx264 @ 0x7ff043868000] kb/s:51475456.00



if im plugging the camlink off I get a video from my macbook internal camera. so I know this should somehow work


-
Fragmented MP4 not playing in ffplay/QuickTime/Safari, but in VLC
6 août 2020, par Stack64I encoded a fMP4-Video (HEVC) in Swift using VideoToolbox and CoreMedia. The resulting fragmented MP4 is only playing in VLC.


The library I am using to write the fMP4 is an HEVC-adapted version of this GitHub-Project : https://github.com/krad/morsel


Process of encoding and writing :


- 

- VideoToolbox : Encoding
SampleBuffer
from the camera (VTCompressionSession
, as described in WWDC 2014 Session 513) - Using
CoreMedia
-Functions (e.g.CMVideoFormatDescriptionGetHEVCParameterSetAtIndex
,CMVideoFormatDescriptionGetDimensions
) to get the encoded streams metadata. I am writing the content ofCMFormatDescriptionGetExtension(description, extensionKey: "SampleDescriptionExtensionAtoms" as CFString)["hvcC"]
directly to the hvcC box. This box is obviously written correctly, when I alter one bit of the box of the mp4, QuickTime throws an error. - I am appending the sample buffer data to the morsel-library, which manages fragmentation and creates the moof and mdat atoms.








The result file is playable in VLC, when I just let the playback "run" without doing anything. When I scroll the time in VLC, VLC crashes and the playback stops.


It is also sort of "playable" in Safari and QuickTime (no error message shown, the playback window opens and the correct length of the file is shown, I can even change to playback time / play/pause, but there is no video shown. The window remains empty. And that is the problem I have. I need to get an fMP4 running in Safari and QuickTime.


The file is not playing at all in ffplay (same problem when converting with ffmpeg). The line where the playback time is shown remains
nan M-V: nan fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
, there are no error messages. The playback just does not start.
When playing the file with ffplay, this is the output :

ffplay version 4.3 Copyright (c) 2003-2020 the FFmpeg developers
 built with Apple clang version 11.0.3 (clang-1103.0.32.62)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3_2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 1
 compatible_brands: mp41mp42isomhlsf
 creation_time : 2020-08-03T20:41:08.000000Z
 Duration: N/A, bitrate: N/A
 Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv), 1920x1080, SAR 1:1 DAR 16:9, 1000000000.00 tbr, 1000000000.00 tbn, 1000000000.00 tbc (default)
 Metadata:
 creation_time : 2020-08-03T20:41:08.000000Z
 handler_name : video
 nan M-V: nan fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 



My file has this structure :


ftyp
moov
 mvhd
 trak
 tkhd
 mdia
 mdhd
 hdlr
 minf
 vmhd
 dinf
 dref
 stbl
 stsd
 stts
 stsc
 stsz
 stco
 mvex
 trex
moof-(1)
mdat
moof-(2)
mdat 
...



The result file I want to create should be like the fMP4 served within this HLS playlist : (Example : https://developer.apple.com/streaming/examples/advanced-stream-hevc.html, Playlist : https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/master.m3u8)
This file has the following structure :


ftyp
moov
 mvhd
 trak
 tkhd
 mdia
 mdhd
 hdlr
 minf
 vmhd
 dinf
 dref
 stbl
 stsd
 stts
 stsc
 stsz
 stco
 trak (same structure as above)
 mvex
 trex
moof-(1)
mdat
moof-(2)
mdat 
...



This file from Apple plays perfectly in ffmpeg and QuickTime/Safari. Except for the second
trak
atom, it has the same structure.

The "good" file is : https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/v14/main.mp4 (It is intended for use in a HLS Playlist I've downloaded it with curl)


The "bad" file is : https://www.transfernow.net/ddl/fmp4_bad (link should work, tested it just now :) ). The video shows a slowly rotating sheet of paper.


Any suggestions what the problem with my file is ?
Thanks in advance !


- VideoToolbox : Encoding
-
Can't play mp4 video using html5 video tag
7 août 2020, par John DoeI am trying to present an mp4 video (h264) using html5 :


<video width="320" controls="controls">
 <source src="/home/nabil/FWork/hikvision/ch01_00000100068000101.mp4" type="video/mp4">
</source></video>



analyzing video codec with ffmpeg gives the following :


ffprobe ch01_00000100068000101.mp4 
ffprobe version 2.8.17-0ubuntu0.1 Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609
 configuration: --prefix=/usr --extra-version=0ubuntu0.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
 libavutil 54. 31.100 / 54. 31.100
 libavcodec 56. 60.100 / 56. 60.100
 libavformat 56. 40.101 / 56. 40.101
 libavdevice 56. 4.100 / 56. 4.100
 libavfilter 5. 40.101 / 5. 40.101
 libavresample 2. 1. 0 / 2. 1. 0
 libswscale 3. 1.101 / 3. 1.101
 libswresample 1. 2.101 / 1. 2.101
 libpostproc 53. 3.100 / 53. 3.100
Invalid UE golomb code
 Last message repeated 3 times
Input #0, mpeg, from 'ch01_00000100068000101.mp4':
 Duration: 00:09:27.33, start: 35024.106667, bitrate: 507 kb/s
 Stream #0:0[0x1e0]: Video: h264 (Baseline), yuv420p, 1280x720, 10 fps, 10 tbr, 90k tbn, 20 tbc



a possible relevant detail is that playing the video using ubuntu's default video reader (ffmpeg in the background) doesn't show any video controls