Recherche avancée

Médias (3)

Mot : - Tags -/pdf

Autres articles (78)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (12186)

  • ffmpeg produces "is_avc" = false with h264_nvenc & tee muxer

    14 août 2018, par Areeb111

    I am using ffmpeg for encoding MKV (Matroska Video files) to 2x MP4 (H264 - 720p Main@L4) & (H264 - 360p Baseline@L3.1).

    Having really strange problem when using -c:v h264_nvenc and tee muxer then the produced output file is having is_avc=false even i have checked the same input matroska file with another server running with Intel QuickSync -c:v h264_qsv with the same command then the produced output file is is_avc=true.

    The main goal that i want the is_avc=true is because the files must be played using nginx-vod-module which requires the AVC video format to be streamed.

    Steps to reproduce the problem :

    • Custom ffmpeg build with NVENC support ffmpeg version N-91182-gbdf1bbd Copyright (c) 2000-2018 the FFmpeg developers   built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
    • ffprobe version 4.0.2-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2018 the FFmpeg developers
    • Running ffmpeg command line with NVENC and tee muxer
      /root/ffmpeg  -y -t 00:00:50 -i "testinput.mkv" -filter_complex "[0:v]split=2[s0][s1];[s0]scale=-2:720[v0];[s1]scale=-2:360[v1]" -map "[v0]" -map "[v1]" -map 0:a -c:v h264_nvenc -b:v:0 1100k -b:v:1 600k -profile:v:0 main -profile:v:1 baseline -level:v:0 4 -level:v:1 3.1 -ac 2 -c:a aac -b:a 128k -af "aresample=async=1000:first_pts=0"  -f tee "[select=\'v:0,a\']testoutput.mp4|[select=\'v:1,a\']testoutput-360.mp4"
    • Running ffprobe for the output file to check "is_avc" :
      ./ffprobe -v quiet -print_format json -show_format -show_streams testoutput.mp4
    • My current ffprobe output results are :

      ./ffprobe -v quiet -print_format json -show_format -show_streams testoutput.mp4
      {
         "streams": [
             {
                 "index": 0,
                 "codec_name": "h264",
                 "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
                 "profile": "Main",
                 "codec_type": "video",
                 "codec_time_base": "1001/48000",
                 "codec_tag_string": "avc1",
                 "codec_tag": "0x31637661",
                 "width": 1280,
                 "height": 720,
                 "coded_width": 1280,
                 "coded_height": 720,
                 "has_b_frames": 0,
                 "sample_aspect_ratio": "1:1",
                 "display_aspect_ratio": "16:9",
                 "pix_fmt": "yuv420p",
                 "level": 40,
                 "chroma_location": "left",
                 "refs": 1,
                 "is_avc": "false",
                 "nal_length_size": "0",
                 "r_frame_rate": "24000/1001",
                 "avg_frame_rate": "24000/1001",
                 "time_base": "1/24000",
                 "start_pts": 984,
                 "start_time": "0.041000",
                 "duration_ts": 1201200,
                 "duration": "50.050000",
                 "bit_rate": "845035",
                 "bits_per_raw_sample": "8",
                 "nb_frames": "1199",
                 "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
                 },
                 "tags": {
                     "language": "und",
                     "handler_name": "VideoHandler"
                 }
             },
             {
                 "index": 1,
                 "codec_name": "aac",
                 "codec_long_name": "AAC (Advanced Audio Coding)",
                 "profile": "LC",
                 "codec_type": "audio",
                 "codec_time_base": "1/48000",
                 "codec_tag_string": "mp4a",
                 "codec_tag": "0x6134706d",
                 "sample_fmt": "fltp",
                 "sample_rate": "48000",
                 "channels": 2,
                 "channel_layout": "stereo",
                 "bits_per_sample": 0,
                 "r_frame_rate": "0/0",
                 "avg_frame_rate": "0/0",
                 "time_base": "1/48000",
                 "start_pts": 0,
                 "start_time": "0.000000",
                 "duration_ts": 2401488,
                 "duration": "50.031000",
                 "bit_rate": "129153",
                 "max_bit_rate": "129153",
                 "nb_frames": "2346",
                 "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
                 },
                 "tags": {
                     "language": "ger",
                     "handler_name": "SoundHandler"
                 }
             }
         ],
         "format": {
             "filename": "Leonmusssterben20171080p.mp4",
             "nb_streams": 2,
             "nb_programs": 0,
             "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
             "format_long_name": "QuickTime / MOV",
             "start_time": "0.000000",
             "duration": "50.031000",
             "size": "6116472",
             "bit_rate": "978029",
             "probe_score": 100,
             "tags": {
                 "major_brand": "isom",
                 "minor_version": "512",
                 "compatible_brands": "isomiso2avc1mp41",
                 "encoder": "Lavf58.17.100"
             }
         }
      }

    Please anyone can help me why is the output video file is getting "is_avc=false" ?

    Is there any option to force it ?

    Thank you

  • avformat/ivfenc : Set the "number of frames" in IVF header

    3 juillet 2023, par Dai, Jianhui J
    avformat/ivfenc : Set the "number of frames" in IVF header
    

    Should set "number of frames" to bytes 24-27 of IVF header, not
    duration.
    It is described by [1], and confirmed by parsing all IVF files in [2].

    This commit also updates the md5sum of refs to pass fate-cbs.

    [1] Duck IVF - MultimediaWiki
    https://wiki.multimedia.cx/index.php/Duck_IVF

    [2] webm/vp8-test-vectors
    https://chromium.googlesource.com/webm/vp8-test-vectors

    Signed-off-by : Jianhui Dai <jianhui.j.dai@intel.com>
    Signed-off-by : Ronald S. Bultje <rsbultje@gmail.com>

    • [DH] libavformat/ivfdec.c
    • [DH] libavformat/ivfenc.c
    • [DH] tests/ref/fate/cbs-vp9-vp90-2-03-deltaq
    • [DH] tests/ref/fate/cbs-vp9-vp90-2-06-bilinear
    • [DH] tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas
    • [DH] tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame
    • [DH] tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame2
    • [DH] tests/ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo
    • [DH] tests/ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo
    • [DH] tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian
    • [DH] tests/ref/fate/cbs-vp9-vp91-2-04-yuv440
    • [DH] tests/ref/fate/cbs-vp9-vp91-2-04-yuv444
    • [DH] tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420
    • [DH] tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422
    • [DH] tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444
  • FFmpeg stream giving me "Alsa" errors

    14 mars 2019, par Sherman B.

    Of late I have been trying different ways of telling my Raspberry Pi to send video to YouTube live stream. One of the things I wanted to be able to do is boot the Pi up, and it automatically starts the live stream on its own. The advantages to this are huge (won’t have to tote around keyboard/mouse to start the stream, or have to ssh into the Pi to start the stream).

    Now what I did to accomplish this was to make a Python program that pipes the stream from my encoder(FFmpeg) directly to the stream. My goal was to make the program work, and then, set it to run automatically. But every time I run the file in my terminal this is my result :

    Traceback (most recent call last):
     File "stream.py", line 22, in <module>
       stream.stdin.close()
    NameError: name 'stream' is not defined
    [h264 @ 0x19ed450] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    pi@raspberrypi:~ $ Input #0, h264, from 'pipe:':
     Duration: N/A, bitrate: N/A
       Stream #0:0: Video: h264, none, 25 tbr, 1200k tbn, 50 tbc
    Unknown input format: 'alsa'
    </module>

    Now I think I can fix I can fix some of those errors, but the biggest thing that worries me there is : the fact that "alsa" is unknown. I installed "libsasound" which is supposed to make Alsa usable, but that clearly did not help.

    I am using Python 3.

    This is my syntax for this program :

    import subprocess
    import picamera
    import time
    YOUTUBE="rtmp://a.rtmp.youtube.com/live2/"
    KEY = ("MY PERSONAL ENCODER KEY")
    stream_cmd = 'ffmpeg -f h264 -r 25 -i - -itsoffset 5.5 -fflags nobuffer -f alsa -ac 1 -i hw:1,0 -vcodec copy -acodec aac -ac 1 -ar 8000 -ab 32k -map 0:0 -map 1:0 -strict experimental -f flv ' + YOUTUBE + KEY
    stream_pipe = subprocess.Popen(stream_cmd, shell=True, stdin=subprocess.PIPE)
    camera = picamera.PiCamera(resolution=(640, 480), framerate=25)
    try:
     now = time.strftime("%Y-%m-%d-%H:%M:%S")
     camera.framerate = 25
     camera.vflip = True
     camera.hflip = True
     camera.start_recording(stream.stdin, format='h264', bitrate = 2000000)
     while True:
        camera.wait_recording(1)
    except KeyboardInterrupt:
        camera.stop_recording()
    finally:
     camera.close()
     stream.stdin.close()
     stream.wait()
     print("Camera safely shut down")
     print("Good bye")

    Now maybe I am missing something simple here, but I don’t know what. I have tried many ideas (e.g. replacing Alsa with some other input, naming the "stream" function.) I have no idea.