Recherche avancée

Médias (1)

Mot : - Tags -/intégration

Autres articles (104)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP 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 (...)

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

  • Monitoring de fermes de MediaSPIP (et de SPIP tant qu’à faire)

    31 mai 2013, par

    Lorsque l’on gère plusieurs (voir plusieurs dizaines) de MediaSPIP sur la même installation, il peut être très pratique d’obtenir d’un coup d’oeil certaines informations.
    Cet article a pour but de documenter les scripts de monitoring Munin développés avec l’aide d’Infini.
    Ces scripts sont installés automatiquement par le script d’installation automatique si une installation de munin est détectée.
    Description des scripts
    Trois scripts Munin ont été développés :
    1. mediaspip_medias
    Un script de (...)

Sur d’autres sites (8002)

  • How to copy ffprobe dumped metadata to a converted video

    23 mai 2020, par Quer

    I hope you're all doing safe ! I'm using windows 10 and have lots of home videos, some of them are on .AVI format. I just discovered google photos don't backup .AVI videos, I tried converting it with GUI converters (FormatFactory, Wondershare, HandBrake) but when I tried to back it up, it wasn't preserving the metadata of my newly converted videos.

    



    I tried further research on this matter and I stumble upon ffmpeg (w/c the GUIs were using). I successfully converted .MOV while preserving metadata using :

    



    ffmpeg -i in.MOV -b:v 73000k -c:v libx264 -c:a aac -strict -2 -map_metadata 0 out.mp4


    



    but when I tried converting .AVI videos, with the command above, it doesn't retain the original metadata for the out.mp4.

    



    I tried another approach and I found out a method of dumping the metadata on a .txt then restoring it on the out.mp4.

    



    ffprobe -v error -show_format -show_streams DSCF0421.AVI > output.txt 2>&1


    



    The command above does save it on the output.txt

    



    output.txt


[STREAM]
index=0
codec_name=mjpeg
codec_long_name=Motion JPEG
profile=Baseline
codec_type=video
codec_time_base=33333/1000000
codec_tag_string=MJPG
codec_tag=0x47504a4d
width=640
height=480
coded_width=640
coded_height=480
closed_captions=0
has_b_frames=0
sample_aspect_ratio=N/A
display_aspect_ratio=N/A
pix_fmt=yuvj422p
level=-99
color_range=pc
color_space=bt470bg
color_transfer=unknown
color_primaries=unknown
chroma_location=center
field_order=unknown
timecode=N/A
refs=1
id=N/A
r_frame_rate=1000000/33333
avg_frame_rate=1000000/33333
time_base=33333/1000000
start_pts=0
start_time=0.000000
duration_ts=150
duration=4.999950
bit_rate=9739922
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=150
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:Make=FUJIFILM
TAG:Model=FinePix JX550
TAG:DateTime=2012:05:20 00:25:48
TAG:JPEGInterchangeFormat=    658
TAG:JPEGInterchangeFormatLength=   2698
TAG:Copyright=    
TAG:DateTimeOriginal=2012:05:20 00:25:48
TAG:DateTimeDigitized=2012:05:20 00:25:48
TAG:MakerNote=
 uwu
TAG:title=FUJIFILM AVI STREAM 0100
[/STREAM]
[STREAM]
index=1
codec_name=pcm_u8
codec_long_name=PCM unsigned 8-bit
profile=unknown
codec_type=audio
codec_time_base=1/11024
codec_tag_string=[1][0][0][0]
codec_tag=0x0001
sample_fmt=u8
sample_rate=11024
channels=1
channel_layout=unknown
bits_per_sample=8
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/11024
start_pts=0
start_time=0.000000
duration_ts=N/A
duration=N/A
bit_rate=88192
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=55120
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]
[FORMAT]
filename=DSCF0421.AVI
nb_streams=2
nb_programs=0
format_name=avi
format_long_name=AVI (Audio Video Interleaved)
start_time=0.000000
duration=4.999950
size=6111800
bit_rate=9778977
probe_score=100
[/FORMAT]


    



    Then I tried restoring it with either .mp4 or .mkv

    



    MP4

ffmpeg -i DSCF0421.AVI -i output.txt compressed.mp4

MKV

ffmpeg -i DSCF0421.AVI -i output.txt compressed.mkv


    



    result of the command above :

    



    MP4

    



    C:\Users\PandaLabs\Desktop\Conversion underground>ffmpeg -i DSCF0421.AVI -i output.txt compressed.mp4
ffmpeg version git-2020-05-22-38490cb Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200513
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 46.100 / 56. 46.100
  libavcodec     58. 86.101 / 58. 86.101
  libavformat    58. 43.100 / 58. 43.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 82.100 /  7. 82.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'DSCF0421.AVI':
  Duration: 00:00:05.00, start: 0.000000, bitrate: 9778 kb/s
    Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 9739 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      Make            : FUJIFILM
      Model           : FinePix JX550
      DateTime        : 2012:05:20 00:25:48
      JPEGInterchangeFormat:     658
      JPEGInterchangeFormatLength:    2698
      Copyright       :
      DateTimeOriginal: 2012:05:20 00:25:48
      DateTimeDigitized: 2012:05:20 00:25:48
      MakerNote       :
                      :  70,  85,  74,  73,  70,  73,  76,  77,  12,   0,   0,   0,  18,   0,   0,   0
                      :   7,   0,   4,   0,   0,   0,  48,  49,  51,  48,  16,   0,   2,   0,  33,   0
                      :   0,   0,   2,   1,   0,   0,   0,  16,   2,   0,   8,   0,   0,   0,  35,   1
                      :   0,   0,   1,  16,   3,   0,   1,   0,   0,   0,   3,   0,   0,   0,   2,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  16,  16,   3,   0,   1,   0
                      :   0,   0,   2,   0,   0,   0,  17,  16,  10,   0,   1,   0,   0,   0,  43,   1
                      :   0,   0,  32,  16,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  33,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  16,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,  49,  16,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   0,  17,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  18
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  19,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   1,  19,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   2,  19,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  20
                      :   7,   0, 129,   0,   0,   0,  52,   1,   0,   0,  49,  20,   4,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,  53,  57,  50,  68,  51,  49,  51,  49,  51,  57,  51,  54,  51,  49
                      :  49,  50,  48,  51,  49,  56,  70,  70,  69,  53,  50,  83,  80,  48,  52,  54
                      :  50,  54,   0,  78,  79,  82,  77,  65,  76,  32,   0,   0,   0,   0,   0, 100
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0
      title           : FUJIFILM AVI STREAM 0100
    Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11024 Hz, mono, u8, 88 kb/s
Input #1, tty, from 'output.txt':
  Duration: 00:00:00.80, start: 0.000000, bitrate: 46 kb/s
    Stream #1:0: Video: ansi, pal8, 640x400, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (pcm_u8 (native) -> aac (native))
Press [q] to stop, [?] for help
[aac @ 0000017c4ae758c0] Too many bits 6408.707483 > 6144 per frame requested, clamping to max
[libx264 @ 0000017c4ae65440] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000017c4ae65440] profile High 4:2:2, level 3.0, 4:2:2, 8-bit
[libx264 @ 0000017c4ae65440] 264 - core 159 - 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: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=12 lookahead_threads=2 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 'compressed.mp4':
  Metadata:
    encoder         : Lavf58.43.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj422p(pc), 640x480, q=-1--1, 30 fps, 1000k tbn, 30 tbc
    Metadata:
      Make            : FUJIFILM
      Model           : FinePix JX550
      DateTime        : 2012:05:20 00:25:48
      JPEGInterchangeFormat:     658
      JPEGInterchangeFormatLength:    2698
      Copyright       :
      DateTimeOriginal: 2012:05:20 00:25:48
      DateTimeDigitized: 2012:05:20 00:25:48
      MakerNote       :
                      :  70,  85,  74,  73,  70,  73,  76,  77,  12,   0,   0,   0,  18,   0,   0,   0
                      :   7,   0,   4,   0,   0,   0,  48,  49,  51,  48,  16,   0,   2,   0,  33,   0
                      :   0,   0,   2,   1,   0,   0,   0,  16,   2,   0,   8,   0,   0,   0,  35,   1
                      :   0,   0,   1,  16,   3,   0,   1,   0,   0,   0,   3,   0,   0,   0,   2,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  16,  16,   3,   0,   1,   0
                      :   0,   0,   2,   0,   0,   0,  17,  16,  10,   0,   1,   0,   0,   0,  43,   1
                      :   0,   0,  32,  16,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  33,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  16,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,  49,  16,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   0,  17,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  18
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  19,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   1,  19,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   2,  19,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  20
                      :   7,   0, 129,   0,   0,   0,  52,   1,   0,   0,  49,  20,   4,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,  53,  57,  50,  68,  51,  49,  51,  49,  51,  57,  51,  54,  51,  49
                      :  49,  50,  48,  51,  49,  56,  70,  70,  69,  53,  50,  83,  80,  48,  52,  54
                      :  50,  54,   0,  78,  79,  82,  77,  65,  76,  32,   0,   0,   0,   0,   0, 100
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0
      title           : FUJIFILM AVI STREAM 0100
      encoder         : Lavc58.86.101 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 11025 Hz, mono, fltp, 66 kb/s
    Metadata:
      encoder         : Lavc58.86.101 aac
[mjpeg @ 0000017c4ae70fc0] mjpeg_decode_dc: bad vlc: 0:0 (0000017c4ae71688)
[mjpeg @ 0000017c4ae70fc0] error dc
[mjpeg @ 0000017c4ae70fc0] error y=59 x=39
frame=  150 fps=104 q=-1.0 Lsize=    2327kB time=00:00:05.01 bitrate=3801.3kbits/s speed=3.49x
video:2290kB audio:33kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.175157%
[libx264 @ 0000017c4ae65440] frame I:2     Avg QP:25.35  size: 24876
[libx264 @ 0000017c4ae65440] frame P:38    Avg QP:26.87  size: 18472
[libx264 @ 0000017c4ae65440] frame B:110   Avg QP:27.42  size: 14477
[libx264 @ 0000017c4ae65440] consecutive B-frames:  1.3%  2.7%  0.0% 96.0%
[libx264 @ 0000017c4ae65440] mb I  I16..4:  0.2% 98.9%  0.9%
[libx264 @ 0000017c4ae65440] mb P  I16..4:  0.2% 54.8%  1.2%  P16..4: 29.1% 11.2%  3.4%  0.0%  0.0%    skip: 0.1%
[libx264 @ 0000017c4ae65440] mb B  I16..4:  0.0% 22.9%  0.1%  B16..8: 40.5% 14.0%  3.0%  direct:15.2%  skip: 4.3%  L0:45.5% L1:42.5% BI:12.0%
[libx264 @ 0000017c4ae65440] 8x8 transform intra:98.6% inter:79.9%
[libx264 @ 0000017c4ae65440] coded y,uvDC,uvAC intra: 92.1% 99.0% 74.7% inter: 60.8% 91.7% 25.7%
[libx264 @ 0000017c4ae65440] i16 v,h,dc,p: 26%  7% 12% 55%
[libx264 @ 0000017c4ae65440] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 10% 40%  6%  6%  6%  5%  7%  8%
[libx264 @ 0000017c4ae65440] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 11% 19% 10%  9% 10%  6%  8%  5%
[libx264 @ 0000017c4ae65440] i8c dc,h,v,p: 65%  7% 23%  5%
[libx264 @ 0000017c4ae65440] Weighted P-Frames: Y:2.6% UV:2.6%
[libx264 @ 0000017c4ae65440] ref P L0: 41.3% 11.9% 27.9% 18.5%  0.4%
[libx264 @ 0000017c4ae65440] ref B L0: 75.4% 19.4%  5.2%
[libx264 @ 0000017c4ae65440] ref B L1: 89.4% 10.6%
[libx264 @ 0000017c4ae65440] kb/s:3750.61
[aac @ 0000017c4ae758c0] Qavg: 27095.141


    



    MKV

    



    C:\Users\PandaLabs\Desktop\Conversion underground>ffmpeg -i DSCF0421.AVI -i output.txt compressed.mkv
ffmpeg version git-2020-05-22-38490cb Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200513
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 46.100 / 56. 46.100
  libavcodec     58. 86.101 / 58. 86.101
  libavformat    58. 43.100 / 58. 43.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 82.100 /  7. 82.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'DSCF0421.AVI':
  Duration: 00:00:05.00, start: 0.000000, bitrate: 9778 kb/s
    Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 9739 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      Make            : FUJIFILM
      Model           : FinePix JX550
      DateTime        : 2012:05:20 00:25:48
      JPEGInterchangeFormat:     658
      JPEGInterchangeFormatLength:    2698
      Copyright       :
      DateTimeOriginal: 2012:05:20 00:25:48
      DateTimeDigitized: 2012:05:20 00:25:48
      MakerNote       :
                      :  70,  85,  74,  73,  70,  73,  76,  77,  12,   0,   0,   0,  18,   0,   0,   0
                      :   7,   0,   4,   0,   0,   0,  48,  49,  51,  48,  16,   0,   2,   0,  33,   0
                      :   0,   0,   2,   1,   0,   0,   0,  16,   2,   0,   8,   0,   0,   0,  35,   1
                      :   0,   0,   1,  16,   3,   0,   1,   0,   0,   0,   3,   0,   0,   0,   2,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  16,  16,   3,   0,   1,   0
                      :   0,   0,   2,   0,   0,   0,  17,  16,  10,   0,   1,   0,   0,   0,  43,   1
                      :   0,   0,  32,  16,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  33,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  16,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,  49,  16,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   0,  17,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  18
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  19,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   1,  19,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   2,  19,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  20
                      :   7,   0, 129,   0,   0,   0,  52,   1,   0,   0,  49,  20,   4,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,  53,  57,  50,  68,  51,  49,  51,  49,  51,  57,  51,  54,  51,  49
                      :  49,  50,  48,  51,  49,  56,  70,  70,  69,  53,  50,  83,  80,  48,  52,  54
                      :  50,  54,   0,  78,  79,  82,  77,  65,  76,  32,   0,   0,   0,   0,   0, 100
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0
      title           : FUJIFILM AVI STREAM 0100
    Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11024 Hz, mono, u8, 88 kb/s
Input #1, tty, from 'output.txt':
  Duration: 00:00:00.80, start: 0.000000, bitrate: 46 kb/s
    Stream #1:0: Video: ansi, pal8, 640x400, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (pcm_u8 (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
[libx264 @ 000002b3674f3f40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002b3674f3f40] profile High 4:2:2, level 3.0, 4:2:2, 8-bit
[libx264 @ 000002b3674f3f40] 264 - core 159 - 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: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=12 lookahead_threads=2 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, matroska, to 'compressed.mkv':
  Metadata:
    encoder         : Lavf58.43.100
    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuvj422p(pc), 640x480, q=-1--1, 30 fps, 1k tbn, 30 tbc
    Metadata:
      Make            : FUJIFILM
      Model           : FinePix JX550
      DateTime        : 2012:05:20 00:25:48
      JPEGInterchangeFormat:     658
      JPEGInterchangeFormatLength:    2698
      Copyright       :
      DateTimeOriginal: 2012:05:20 00:25:48
      DateTimeDigitized: 2012:05:20 00:25:48
      MakerNote       :
                      :  70,  85,  74,  73,  70,  73,  76,  77,  12,   0,   0,   0,  18,   0,   0,   0
                      :   7,   0,   4,   0,   0,   0,  48,  49,  51,  48,  16,   0,   2,   0,  33,   0
                      :   0,   0,   2,   1,   0,   0,   0,  16,   2,   0,   8,   0,   0,   0,  35,   1
                      :   0,   0,   1,  16,   3,   0,   1,   0,   0,   0,   3,   0,   0,   0,   2,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  16,  16,   3,   0,   1,   0
                      :   0,   0,   2,   0,   0,   0,  17,  16,  10,   0,   1,   0,   0,   0,  43,   1
                      :   0,   0,  32,  16,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  33,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  16,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,  49,  16,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   0,  17,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  18
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  19,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   1,  19,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   2,  19,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  20
                      :   7,   0, 129,   0,   0,   0,  52,   1,   0,   0,  49,  20,   4,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,  53,  57,  50,  68,  51,  49,  51,  49,  51,  57,  51,  54,  51,  49
                      :  49,  50,  48,  51,  49,  56,  70,  70,  69,  53,  50,  83,  80,  48,  52,  54
                      :  50,  54,   0,  78,  79,  82,  77,  65,  76,  32,   0,   0,   0,   0,   0, 100
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0
      title           : FUJIFILM AVI STREAM 0100
      encoder         : Lavc58.86.101 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 11024 Hz, mono, fltp
    Metadata:
      encoder         : Lavc58.86.101 libvorbis
[mjpeg @ 000002b3674f0fc0] mjpeg_decode_dc: bad vlc: 0:0 (000002b3674f1688)
[mjpeg @ 000002b3674f0fc0] error dc
[mjpeg @ 000002b3674f0fc0] error y=59 x=39
frame=  150 fps= 95 q=-1.0 Lsize=    2317kB time=00:00:04.99 bitrate=3797.5kbits/s speed=3.16x
video:2290kB audio:19kB subtitle:0kB other streams:0kB global headers:3kB muxing overhead: 0.355840%
[libx264 @ 000002b3674f3f40] frame I:2     Avg QP:25.35  size: 24876
[libx264 @ 000002b3674f3f40] frame P:38    Avg QP:26.87  size: 18472
[libx264 @ 000002b3674f3f40] frame B:110   Avg QP:27.42  size: 14477
[libx264 @ 000002b3674f3f40] consecutive B-frames:  1.3%  2.7%  0.0% 96.0%
[libx264 @ 000002b3674f3f40] mb I  I16..4:  0.2% 98.9%  0.9%
[libx264 @ 000002b3674f3f40] mb P  I16..4:  0.2% 54.8%  1.2%  P16..4: 29.1% 11.2%  3.4%  0.0%  0.0%    skip: 0.1%
[libx264 @ 000002b3674f3f40] mb B  I16..4:  0.0% 22.9%  0.1%  B16..8: 40.5% 14.0%  3.0%  direct:15.2%  skip: 4.3%  L0:45.5% L1:42.5% BI:12.0%
[libx264 @ 000002b3674f3f40] 8x8 transform intra:98.6% inter:79.9%
[libx264 @ 000002b3674f3f40] coded y,uvDC,uvAC intra: 92.1% 99.0% 74.7% inter: 60.8% 91.7% 25.7%
[libx264 @ 000002b3674f3f40] i16 v,h,dc,p: 26%  7% 12% 55%
[libx264 @ 000002b3674f3f40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 10% 40%  6%  6%  6%  5%  7%  8%
[libx264 @ 000002b3674f3f40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 11% 19% 10%  9% 10%  6%  8%  5%
[libx264 @ 000002b3674f3f40] i8c dc,h,v,p: 65%  7% 23%  5%
[libx264 @ 000002b3674f3f40] Weighted P-Frames: Y:2.6% UV:2.6%
[libx264 @ 000002b3674f3f40] ref P L0: 41.3% 11.9% 27.9% 18.5%  0.4%
[libx264 @ 000002b3674f3f40] ref B L0: 75.4% 19.4%  5.2%
[libx264 @ 000002b3674f3f40] ref B L1: 89.4% 10.6%
[libx264 @ 000002b3674f3f40] kb/s:3750.61


    



    It doesn't successfully restore the metadata of the source .AVI

    



    BTW, I don't intend to shrink the size of the video I just need to retain its created date and some miscellaneous.

    



    Thank you in advance for those who will answer !

    


  • Problem opening xvid264 with avcodec_alloc_context(NULL)

    12 juillet 2024, par user3763774

    I want to multiplex audio and video together using the ffmpeg encoding library with xvid264rgb codec. I can open the codec when I create the context specifying that codec, but not if I use NULL for the argument with allocate context. My understanding is I need to use NULL so I can open the audio codec as well.

    


    In the example, the first open works with codec indicated in the allocate context. The second doesn't.

    


    #include &#xA;#include &#xA;#include &#xA;#include <libavcodec></libavcodec>avcodec.h>&#xA;#include <libavutil></libavutil>opt.h>&#xA;#define WIDTH 400&#xA;#define HEIGHT 300&#xA;&#xA;const AVCodec *videocodec;&#xA;&#xA;bool init_video_encoder(AVCodecContext *c, int width, int height) {&#xA;    int ret;&#xA;    &#xA;    const AVRational tb_rat = {1, 30};&#xA;    const AVRational fr_rat = {30, 1};&#xA;&#xA;    fprintf(stderr, "init video encoder\n");&#xA;    // video&#xA;    //fprintf(stderr, "speed= %d \n", videocodec->speed);&#xA;    c->bit_rate = 400000;&#xA;    c->width = width;&#xA;    c->height = height;&#xA;    c->time_base = tb_rat;&#xA;    c->framerate = fr_rat;&#xA;    c->gop_size = 10;&#xA;    c->max_b_frames = 1;&#xA;    c->pix_fmt = AV_PIX_FMT_RGB24;&#xA;    if( videocodec->id == AV_CODEC_ID_H264 ) &#xA;        av_opt_set(c->priv_data, "preset", "slow", 0);&#xA;        &#xA;    ret = avcodec_open2(c, videocodec, NULL);&#xA;    if( ret &lt; 0 ) {&#xA;        fprintf(stderr, "failure to open codec: %s\n", av_err2str(ret));&#xA;        return false;&#xA;    }&#xA;    //avcodec_free_context(&amp;c);&#xA;    return true;&#xA;}&#xA;&#xA;int main(int argc, char **argv) {&#xA;&#xA;    AVCodecContext *context = NULL;&#xA;&#xA;    videocodec = avcodec_find_encoder_by_name("libx264rgb");&#xA;    if( videocodec == NULL ) {&#xA;        fprintf(stderr, "video encoder &#x27;libx264rgb&#x27; not found");&#xA;        exit;&#xA;    }&#xA;&#xA;    context = avcodec_alloc_context3(videocodec);&#xA;    if( context == NULL ) {&#xA;        fprintf(stderr, "could not allocate context with codec");&#xA;        return false;&#xA;    }&#xA;    if( init_video_encoder( context, WIDTH, HEIGHT ) ) &#xA;        fprintf(stderr, " success initializing video encoder case one\n");&#xA;    else&#xA;        fprintf(stderr, " failure to initialize video encoder case one\n");&#xA;    avcodec_close( context );&#xA;&#xA;    context = avcodec_alloc_context3(NULL);&#xA;    if( context == NULL ) {&#xA;        fprintf(stderr, "could not allocate context without codec");&#xA;        return false;&#xA;    }&#xA;    if( init_video_encoder( context, WIDTH, HEIGHT ) ) &#xA;        fprintf(stderr, " success initializing video encoder case two\n");&#xA;    else&#xA;        fprintf(stderr, " failure to initialize video encoder case two\n");&#xA;    avcodec_close( context );&#xA;}&#xA;

    &#xA;

    Here is the error message :

    &#xA;

    broken ffmpeg default settings detected&#xA;use an encoding preset (e.g. -vpre medium)&#xA;preset usage: -vpre <speed> -vpre <profile>&#xA;speed presets are listed in x264 --help&#xA;profile is optional; x264 defaults to high&#xA;failure to open codec: Generic error in an external library&#xA;failure to initialize video encoder case two&#xA;</profile></speed>

    &#xA;

    Is this the right approach to use ? How do I set the encoding preset ? The code appears already to do that.

    &#xA;

  • Transcoding Videos Using FastAPI and ffmpeg

    15 janvier 2024, par Sanji Vinsmoke

    I created an API using Fast API where I upload one or more videos, may specify the resolution of transcoding, and the output is transcoded video from 240p upto the resolution I specified. Available resolutions are - 240p, 360p, 480p, 720p, 1080p. I used ffmpeg for the transcoding job.

    &#xA;

    The problem that is bugging me since yesterday is that, after deploying to the s3 bucket and adding the url for the index.m3u8 file in any hls player, the video is blank. Only the audio and streaming are working. I have tried tweaking with the parameters in the ffmpeg parameters, the error is still there. I tried manually transcoding a video file locally, even that video's index.m3u8 file is blank in live version. I added the relevant codes for this project. I implemented each feature one by one, but I simply cannot find the reason why the video is totally blank on live.

    &#xA;

    def transcode_video(input_path, output_folder, res, video_id, video_resolution, progress_bar=None):&#xA;    # Transcode the video into .m3u8 format with segment format&#xA;    output_path = os.path.join(output_folder, f"{res}_{video_id}.m3u8")&#xA;&#xA;    # Use subprocess for command execution&#xA;    chunk_size = 1 # Specify the desired chunk size in seconds&#xA;&#xA;    transcode_command = [&#xA;        "ffmpeg", "-i", input_path, "-vf", f"scale={res}:&#x27;trunc(ow/a/2)*2&#x27;", "-c:a", "aac", "-strict", "-2",&#xA;        "-f", "segment", "-segment_time", str(chunk_size), "-segment_list", output_path, "-segment_format", "ts",&#xA;        f"{output_path.replace(&#x27;.m3u8&#x27;, &#x27;_%03d.ts&#x27;)}"&#xA;    ]&#xA;&#xA;    try:&#xA;        subprocess.run(transcode_command, check=True, capture_output=True)&#xA;    except subprocess.CalledProcessError as e:&#xA;        print(f"Error during transcoding: {e}")&#xA;        print(f"FFmpeg error output: {e.stderr}")&#xA;        # Continue with the next video even if an error occurs&#xA;        return False&#xA;&#xA;    # Update the progress bar&#xA;    if progress_bar:&#xA;        progress_bar.update(1)&#xA;    return True&#xA;&#xA;&#xA;def get_bandwidth(resolution):&#xA;    # Define a simple function to calculate bandwidth based on resolution&#xA;    resolutions_and_bandwidths = {&#xA;        240: 400000,&#xA;        360: 850000,&#xA;        480: 1400000,&#xA;        720: 2500000,&#xA;        1080: 4500000,&#xA;    }&#xA;    &#xA;    return resolutions_and_bandwidths.get(resolution, 0)&#xA;def create_index_m3u8(video_id, resolutions_to_transcode):&#xA;    # Write the index.m3u8 file&#xA;    index_m3u8_path = os.path.join(OUTPUT_FOLDER, f"index_{video_id}.m3u8")&#xA;    with open(index_m3u8_path, "w") as index_file:&#xA;        index_file.write("#EXTM3U\n")&#xA;        index_file.write("#EXT-X-VERSION:3\n")&#xA;&#xA;        for res in resolutions_to_transcode:&#xA;            aspect_ratio = 16 / 9&#xA;            folder_name = f"{res}p_{video_id}"&#xA;            resolution_file_name = f"{res}_{video_id}.m3u8"&#xA;            index_file.write(&#xA;                f"#EXT-X-STREAM-INF:BANDWIDTH={get_bandwidth(res)},RESOLUTION={int(res * aspect_ratio)}x{res}\n{folder_name}/{resolution_file_name}\n"&#xA;            )&#xA;

    &#xA;

    I tried reducing or increasing chunk size, adding codecs, setting up dimensions. Where am I doing wrong ?

    &#xA;

    My python version is 3.8.18, ffmpeg version-4.4.4, ffmpeg-python version-0.2.0

    &#xA;