Recherche avancée

Médias (91)

Autres articles (63)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Supporting all media types

    13 avril 2011, par

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

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (9815)

  • .mp4 file is not playing in Django template and FireFox or Chrome

    9 février 2021, par Himanshu sharma

    I can save live RTSP video stream in .mp4 but when I run saved .mp4 video in Django template or Firefox or Chrome browser or VLC, video is not playing in ubuntu.
I think I have a compatible issue problem in .mp4. Furthermore, I want to show and play .mp4 saved file in Django.

    


    I have a two IP camera which provides a live RTSP video stream.

    


    self.input_stream---> rtsp://admin:Admin123@192.168.1.208/user=admin_password=Admin123_channel=0channel_number_stream=0.sdp

self.input_stream---> rtsp://Admin:@192.168.1.209/user=Admin_password=_channel=0channel_number_stream=0.sdp


    


    Python 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0] on linux,

    


    Django==3.1.2

    


    I am implementing this code in difference Ubuntu PCs

    


    Ubuntu = 18.04 and 20.04

    


    opencv-contrib-python==4.4.0.46

    


    opencv-python==4.4.0.46

    


    ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)

    


    I had tried different fourcc to save .mp4 but below fourcc work perfectly in Ubuntu.

    


    fourcc = cv2.VideoWriter_fourcc(*'mp4v')

    


    class ffmpegStratStreaming(threading.Thread):
    def __init__(self, input_stream=None, output_stream=None, camera=None, *args, **kwargs):
        self.input_stream = input_stream
        self.output_stream = output_stream
        self.camera = camera
        super().__init__(*args, **kwargs)

    def run(self):
        try:vs = cv2.VideoCapture(self.input_stream)
            fps_rate = int(vs.get(cv2.CAP_PROP_FPS))
            ##############################
            ##############################  
            # ~ print('fps rate-->', fps_rate,'camera id-->' ,str(self.camera.id))
            # ~ vs.set(cv2.CAP_PROP_POS_FRAMES,50)  #Set the frame number to be obtained
            # ~ print('fps rate-->', fps_rate,'camera id-->' ,str(self.camera.id),' ####### ')
            
            # initialize the video writer (we'll instantiate later if need be)
            writer = None

            # initialize the frame dimensions (we'll set them as soon as we read
            # the first frame from the video)
            W = None
            H = None    
            # start the frames per second throughput estimator
            fps = FPS().start()

            #  saving frame in avi video format
            video_file_count = 0
            start_time = time.time()

            while True:
                try:
                    # grab the next frame and handle if we are reading from either
                    # VideoCapture or VideoStream
                    
                    frame_init = vs.read()
                    frame = frame_init[1] if self.input_stream else frame_init
                    
                    # if frame is can't read correctly ret is False
                    while frame_init[0] == False:
                        print("Can't receive frame. Retrying ...")
                        vs.release()
                        vs = cv2.VideoCapture(self.input_stream)                                                                              
                        frame_init = vs.read()
                        frame = frame_init[1] if self.input_stream else frame_init

                    # if we are viewing a video and we did not grab a frame then we
                    # have reached the end of the video
                    if self.input_stream is not None and frame is None:
                        break

                    # resize the frame to have a maximum width of 500 pixels (the
                    # less data we have, the faster we can process it), then convert
                    # the frame from BGR to RGB for dlib
                    frame = imutils.resize(frame, width=500)        
                    
                    
                    #<---------------------- Start of  writing a video to disk ------------------------->                   
                    minute = 1
                    second  = 60
                    minite_to_save_video = int(minute) * int(second)

                
                    # if we are supposed to be writing a video to disk, initialize
                    if time.time() - start_time >= minite_to_save_video or  video_file_count == 0 :
                        ## where H = heigth, W = width, C = channel 
                        H, W, C = frame.shape
                        video_file_count += 1
                        start_time = time.time()
                        output_save_directory = self.output_stream+str(video_file_count)+'.mp4'
                        # fourcc = cv2.VideoWriter_fourcc(*"MJPG")
                        # fourcc = cv2.VideoWriter_fourcc(*'XVID')
                        # fourcc = cv2.VideoWriter_fourcc(*'X264')
                        # fourcc = cv2.VideoWriter_fourcc(*'MP4V')

                        
                        # fourcc = cv2.VideoWriter_fourcc(*'FMP4')

                        # fourcc = cv2.VideoWriter_fourcc(*'avc1')


                        # fourcc = cv2.VideoWriter_fourcc('M','J','P','G')

                        fourcc = cv2.VideoWriter_fourcc(*'mp4v')
                        # fourcc = cv2.VideoWriter_fourcc(*'mp3v')
                        # fourcc = 0x00000021
                        print(fourcc, type(fourcc),'ffffffff')
                        # a = int(vs.get(cv2.CAP_PROP_FOURCC))
                        # print(a,type(a),'  aaaaaaaa' )

                        # writer = skvideo.io.FFmpegWriter(output_save_directory, outputdict={
                        #   '-vcodec': 'libx264', '-b': '300000000'
                        # })
                        
                        # writer = skvideo.io.FFmpegWriter(self.output_stream, outputdict={'-r': '120', '-c:v': 'libx264', '-crf': '0', '-preset': 'ultrafast', '-pix_fmt': 'yuv444p'})
                        
                        writer = cv2.VideoWriter(output_save_directory, fourcc ,20.0,( int(W), int(H) ), True)
                        
                        
                        # ~ The cv2.VideoWriter requires five parameters:    

                    # check to see if we should write the frame to disk
                    if writer is not None:                          
                        try:
                            writer.write(frame)
                        except Exception as e:
                            print('Error in writing video output---> ', e)
                            
                    #<---------------------- end of  writing a video to disk ------------------------->

                    # show the output frame
                    # cv2.imshow("Frame", frame)
                    # key = cv2.waitKey(1) & 0xFF

                    # if the `q` key was pressed, break from the loop
                    # if key == ord("q"):
                    #   break

                    # increment the total number of frames processed thus far and
                    # then update the FPS counter
                    totalFrames += 1
                    fps.update()
                except Exception as e:
                    print('Error in main while loop--> ', e)

            # stop the timer and display FPS information
            fps.stop()

            # check to see if we need to release the video writer pointer
            # if writer is not None:
            #   writer.release()

            # if we are not using a video file, stop the camera video stream
            # if not self.input_stream:
            #   vs.stop()

            # otherwise, release the video file pointer
            # else:
            #   vs.release()

            # close any open windows
            # cv2.destroyAllWindows()
        except Exception as e:
            print(e, '333333333333333333333333333')


    


    My Django template code

    


    {% block main %}&#xA;<div class="row">&#xA;  {% if folders|length == 0 %}&#xA;    <div class="col-md-12 text-center">&#xA;      <h6 class="card-title">There are no files in this directory.</h6>&#xA;    </div>&#xA;  {% else %}&#xA;    {% for folder in folders %}&#xA;      <div class="col-md-3 text-center">&#xA;          <div class="card-block">&#xA;            <video class="video-js vjs-fluid vjs-default-skin" controls="controls" preload="auto" muted="muted" data-setup="&#x27;{" true="true"></video>&#xA;                <source src="{% get_media_prefix %}camera-feed/video-saved/{{pk}}/{{parent}}/{{folder}}" type="video/mp4">&#xA;            &#xA;            <h6 class="card-title">{{folder}}</h6>&#xA;          </source></div>&#xA;      </div>&#xA;    {% endfor %}&#xA;  {% endif %}&#xA;</div>&#xA;{% endblock %}&#xA;

    &#xA;

    Function in view.py to see saved .mp4 video in Django template. Video is saved at local folder.

    &#xA;

    def CameraVideos(request, pk, folder):&#xA;    dirpath = settings.MEDIA_ROOT &#x2B; &#x27;/camera-feed/video-saved/&#x27; &#x2B; str(pk) &#x2B; &#x27;/&#x27; &#x2B; folder&#xA;    folders = sorted(Path(dirpath).iterdir(), key=os.path.getmtime)&#xA;    data = []&#xA;    for file in folders:&#xA;        if not file.name.startswith(&#x27;.&#x27;):&#xA;            data.append(file.name)&#xA;    return render(request, "home/camera_video.html", {&#x27;folders&#x27;: data, &#x27;pk&#x27;: pk, &#x27;parent&#x27;: folder})&#xA;

    &#xA;

  • Dumping and playing h264 bytestream from RTSP webcam

    18 octobre 2011, par thek

    My goal is to connect (rtsp) to camera, get h264 stream from rtp packages, save it as a bytestream to file and be able to play it (with ffplay or vlc). The only problem is that my result stream gives me errors (and a nice gray rectangle, sometimes with something moving - like only P frames are decoded) while playing.

    Here is my DESCRIBE response from rtsp server (ip replaced with ) :

       10:04:18.387 [New I/O client worker #1-1] INFO  rtsp.WebcamClientResponseHandler - Sending DESCRIBE request: DESCRIBE rtsp://<server>:<port>/channel1 RTSP/1.0
    -------status---------
    200 OK
    -------headers---------
    CSeq : 2
    Date : Wed, Jan 07 2009 19:05:09 GMT
    Content-Base : rtsp://<server>/channel1/
    Content-Type : application/sdp
    Content-Length : 433
    -------content---------
    v=0
    o=- 515949295799 1 IN IP4 <server>
    s=Session streamed by stream
    i=1
    t=0 0
    a=tool:LIVE555 Streaming Media v2009.01.26
    a=type:broadcast
    a=control:*
    a=range:npt=0-
    a=x-qt-text-nam:Session streamed by stream
    a=x-qt-text-inf:1
    m=video 0 RTP/AVP 96
    c=IN IP4 0.0.0.0
    b=AS:128
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1;profile-level-id=420028;sprop-parameter-sets=Z0IAKOkCg/I=,aM44gA==
    a=control:tracks
    </server></server></port></server>

    And server sends me RTP packages with non IDR frames and fragmented (type=28) IDR frames. First ones are written to file, fragmented are unpacked.
    The result byte stream is :

    NAL SPS NAL PPS NAL FRAME1 NAL FRAME2 ... NAL FRAMEN

    where NAL is (hex) 00 00 01
    and SPS is (decoded Z0IAKOkCg/I= from sprop-parameter-sets): 67 42 00 28 e9 02 83 f2
    and PPS is (decoded aM44gA==): 68 ce 38 80

    I found similar topic with same steps taken :
    how-to-process-raw-udp-packets-so-that-they-can-be-decoded-by-a-decoder-filter-i
    but I can't see what am I missing.

    Could anyone give me some clue what may be wrong ?

    This is a link to generated h264 file :
    a.h264

    Below I'm attaching some more information from playing my stream.


    Playing my video with ffplay -f h264 a.h264 gives me following output (and a gray rectangle) :

    ffplay version 0.8.4-4:0.8.4-0ubuntu1~jon1, Copyright (c) 2003-2011 the FFmpeg developers
     built on Sep 25 2011 09:45:09 with gcc 4.4.3
     configuration: --extra-version=&#39;4:0.8.4-0ubuntu1~jon1&#39; --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
     libavutil    51.  9. 1 / 51.  9. 1
     libavcodec   53.  7. 0 / 53.  7. 0
     libavformat  53.  4. 0 / 53.  4. 0
     libavdevice  53.  1. 1 / 53.  1. 1
     libavfilter   2. 23. 0 /  2. 23. 0
     libswscale    2.  0. 0 /  2.  0. 0
     libpostproc  52.  0. 0 / 52.  0. 0
    [h264 @ 0x184d4c0] Missing reference picture
    [h264 @ 0x184d4c0] decode_slice_header error                                                                                                                                                                                                
    [h264 @ 0x184d4c0] concealing 300 DC, 300 AC, 300 MV errors                                                                                                                                                                                
    [h264 @ 0x1822640] max_analyze_duration 5000000 reached at 5000000
    [h264 @ 0x1822640] Estimating duration from bitrate, this may be inaccurate                                                                                                                                                                
    Input #0, h264, from &#39;a.h264&#39;:                                                                                                                                                                                                              
     Duration: N/A, bitrate: N/A
    Stream #0.0: Video: h264 (Baseline), yuv420p, 320x240, 25 fps, 25 tbr, 1200k tbn, 50 tbc
    [h264 @ 0x184d4c0] Missing reference pictureq=    3KB sq=    0B f=0/0  
    [h264 @ 0x184d4c0] decode_slice_header error                                                                                                                                                                                                
    [h264 @ 0x184d4c0] concealing 300 DC, 300 AC, 300 MV errors                                                                                                                                                                                
    [h264 @ 0x184d4c0] QP 4294967283 out of rangeKB sq=    0B f=0/0   0/0  
    [h264 @ 0x184d4c0] decode_slice_header error                                                                                                                                                                                                
    [h264 @ 0x184d4c0] concealing 300 DC, 300 AC, 300 MV errors                                                                                                                                                                                
    [h264 @ 0x184d4c0] Missing reference picture
    [h264 @ 0x184d4c0] decode_slice_header error                                                                                                                                                                                                
    [h264 @ 0x184d4c0] mmco: unref short failure                                                                                                                                                                                                
    [h264 @ 0x184d4c0] concealing 300 DC, 300 AC, 300 MV errors                                                                                                                                                                                
    [h264 @ 0x184d4c0] P sub_mb_type 5 out of range at 8 0
    [h264 @ 0x184d4c0] error while decoding MB 8 0                                                                                                                                                                                              
    [h264 @ 0x184d4c0] concealing 300 DC, 300 AC, 300 MV errors                                                                                                                                                                                
    [h264 @ 0x184d4c0] QP 4294967283 out of range
    [h264 @ 0x184d4c0] decode_slice_header error                                                                                                                                                                                                
    [h264 @ 0x184d4c0] concealing 300 DC, 300 AC, 300 MV errors

    Running h264_analyse (http://h264bitstream.sourceforge.net/) on my stream gives me :

    ./h264_analyze a.h264
    !! Found NAL at offset 3 (0x0003), size 8 (0x0008)
    ==================== NAL ====================
    forbidden_zero_bit : 0
    nal_ref_idc : 3
    nal_unit_type : 7 ( Sequence parameter set )
    ======= SPS =======
    profile_idc : 66
    constraint_set0_flag : 0
    constraint_set1_flag : 0
    constraint_set2_flag : 0
    constraint_set3_flag : 0
    reserved_zero_4bits : 0
    level_idc : 40
    seq_parameter_set_id : 0
    chroma_format_idc : 0
    residual_colour_transform_flag : 0
    bit_depth_luma_minus8 : 0
    bit_depth_chroma_minus8 : 0
    qpprime_y_zero_transform_bypass_flag : 0
    seq_scaling_matrix_present_flag : 0
    log2_max_frame_num_minus4 : 0
    pic_order_cnt_type : 0
     log2_max_pic_order_cnt_lsb_minus4 : 1
     delta_pic_order_always_zero_flag : 0
     offset_for_non_ref_pic : 0
     offset_for_top_to_bottom_field : 0
     num_ref_frames_in_pic_order_cnt_cycle : 0
    num_ref_frames : 1
    gaps_in_frame_num_value_allowed_flag : 0
    pic_width_in_mbs_minus1 : 19
    pic_height_in_map_units_minus1 : 14
    frame_mbs_only_flag : 1
    mb_adaptive_frame_field_flag : 0
    direct_8x8_inference_flag : 1
    frame_cropping_flag : 0
     frame_crop_left_offset : 0
     frame_crop_right_offset : 0
     frame_crop_top_offset : 0
     frame_crop_bottom_offset : 0
    vui_parameters_present_flag : 0                                                                                                                                                                                                            
    === VUI ===                                                                                                                                                                                                                                  
    aspect_ratio_info_present_flag : 0                                                                                                                                                                                                          
     aspect_ratio_idc : 0                                                                                                                                                                                                                      
    sar_width : 0                                                                                                                                                                                                                          
    sar_height : 0                                                                                                                                                                                                                          
    overscan_info_present_flag : 0                                                                                                                                                                                                              
     overscan_appropriate_flag : 0                                                                                                                                                                                                            
    video_signal_type_present_flag : 0                                                                                                                                                                                                          
     video_format : 0                                                                                                                                                                                                                          
     video_full_range_flag : 0                                                                                                                                                                                                                
     colour_description_present_flag : 0                                                                                                                                                                                                      
    colour_primaries : 0                                                                                                                                                                                                                    
     transfer_characteristics : 0                                                                                                                                                                                                              
     matrix_coefficients : 0                                                                                                                                                                                                                  
    chroma_loc_info_present_flag : 0                                                                                                                                                                                                            
     chroma_sample_loc_type_top_field : 0                                                                                                                                                                                                      
     chroma_sample_loc_type_bottom_field : 0                                                                                                                                                                                                  
    timing_info_present_flag : 0                                                                                                                                                                                                                
     num_units_in_tick : 0                                                                                                                                                                                                                    
     time_scale : 0                                                                                                                                                                                                                            
     fixed_frame_rate_flag : 0                                                                                                                                                                                                                
    nal_hrd_parameters_present_flag : 0                                                                                                                                                                                                        
    vcl_hrd_parameters_present_flag : 0                                                                                                                                                                                                        
     low_delay_hrd_flag : 0                                                                                                                                                                                                                    
    pic_struct_present_flag : 0
    bitstream_restriction_flag : 0
     motion_vectors_over_pic_boundaries_flag : 0
     max_bytes_per_pic_denom : 0
     max_bits_per_mb_denom : 0
     log2_max_mv_length_horizontal : 0
     log2_max_mv_length_vertical : 0
     num_reorder_frames : 0
     max_dec_frame_buffering : 0
    === HRD ===
    cpb_cnt_minus1 : 0
    bit_rate_scale : 0
    cpb_size_scale : 0
    initial_cpb_removal_delay_length_minus1 : 0
    cpb_removal_delay_length_minus1 : 0
    dpb_output_delay_length_minus1 : 0
    time_offset_length : 0
    !! Found NAL at offset 14 (0x000E), size 4 (0x0004)
    ==================== NAL ====================
    forbidden_zero_bit : 0
    nal_ref_idc : 3
    nal_unit_type : 8 ( Picture parameter set )
    ======= PPS =======
    pic_parameter_set_id : 0
    seq_parameter_set_id : 0
    entropy_coding_mode_flag : 0
    pic_order_present_flag : 0
    num_slice_groups_minus1 : 0
    slice_group_map_type : 0
    num_ref_idx_l0_active_minus1 : 0
    num_ref_idx_l1_active_minus1 : 0
    weighted_pred_flag : 0
    weighted_bipred_idc : 0
    pic_init_qp_minus26 : 0
    pic_init_qs_minus26 : 0
    chroma_qp_index_offset : 0
    deblocking_filter_control_present_flag : 0
    constrained_intra_pred_flag : 0
    redundant_pic_cnt_present_flag : 0
    transform_8x8_mode_flag : 1
    pic_scaling_matrix_present_flag : 0
    second_chroma_qp_index_offset : 16
    !! Found NAL at offset 21 (0x0015), size 480 (0x01E0)
    ==================== NAL ====================
    forbidden_zero_bit : 0
    nal_ref_idc : 2
    nal_unit_type : 1 ( Coded slice of a non-IDR picture )
    ======= Slice Header =======
    first_mb_in_slice : 0
    slice_type : 5 ( P slice only )
    pic_parameter_set_id : 0
    frame_num : 1
    field_pic_flag : 0
    bottom_field_flag : 0
    idr_pic_id : 0
    pic_order_cnt_lsb : 2
    delta_pic_order_cnt_bottom : 0
    redundant_pic_cnt : 0
    direct_spatial_mv_pred_flag : 0
    num_ref_idx_active_override_flag : 0
    num_ref_idx_l0_active_minus1 : 0
    num_ref_idx_l1_active_minus1 : 0
    cabac_init_idc : 0
    slice_qp_delta : -7
    sp_for_switch_flag : 0
    slice_qs_delta : 0
    disable_deblocking_filter_idc : 0
    slice_alpha_c0_offset_div2 : 0
    slice_beta_offset_div2 : 0
    slice_group_change_cycle : 0
    === Prediction Weight Table ===
    luma_log2_weight_denom : 0
    chroma_log2_weight_denom : 0
    luma_weight_l0_flag : 0
    chroma_weight_l0_flag : 0
    luma_weight_l1_flag : 0
    chroma_weight_l1_flag : 0
    === Ref Pic List Reordering ===
    ref_pic_list_reordering_flag_l0 : 0
    ref_pic_list_reordering_flag_l1 : 0
    === Decoded Ref Pic Marking ===
    no_output_of_prior_pics_flag : 0
    long_term_reference_flag : 0
    adaptive_ref_pic_marking_mode_flag : 0
    !! Found NAL at offset 504 (0x01F8), size 324 (0x0144)
    ==================== NAL ====================
    forbidden_zero_bit : 0
    nal_ref_idc : 2
    nal_unit_type : 1 ( Coded slice of a non-IDR picture )
    ======= Slice Header =======
    first_mb_in_slice : 0
    slice_type : 5 ( P slice only )
    pic_parameter_set_id : 0
    frame_num : 2
    field_pic_flag : 0
    bottom_field_flag : 0
    idr_pic_id : 0
    pic_order_cnt_lsb : 4
    delta_pic_order_cnt_bottom : 0
    redundant_pic_cnt : 0
    direct_spatial_mv_pred_flag : 0
    num_ref_idx_active_override_flag : 0
    num_ref_idx_l0_active_minus1 : 0
    num_ref_idx_l1_active_minus1 : 0
    cabac_init_idc : 0
    slice_qp_delta : -7
    sp_for_switch_flag : 0
    slice_qs_delta : 0
    disable_deblocking_filter_idc : 0
    slice_alpha_c0_offset_div2 : 0
    slice_beta_offset_div2 : 0
    slice_group_change_cycle : 0
    === Prediction Weight Table ===
    luma_log2_weight_denom : 0
    chroma_log2_weight_denom : 0
    luma_weight_l0_flag : 0
    chroma_weight_l0_flag : 0
    luma_weight_l1_flag : 0
    chroma_weight_l1_flag : 0
    === Ref Pic List Reordering ===
    ref_pic_list_reordering_flag_l0 : 0
    ref_pic_list_reordering_flag_l1 : 0
    === Decoded Ref Pic Marking ===
    no_output_of_prior_pics_flag : 0
    long_term_reference_flag : 0
    adaptive_ref_pic_marking_mode_flag : 0
    !! Found NAL at offset 831 (0x033F), size 300 (0x012C)
    ==================== NAL ====================
    forbidden_zero_bit : 0
    nal_ref_idc : 2
    nal_unit_type : 1 ( Coded slice of a non-IDR picture )
    ======= Slice Header =======
    first_mb_in_slice : 0
    slice_type : 5 ( P slice only )
    pic_parameter_set_id : 0
    frame_num : 3
    field_pic_flag : 0
    bottom_field_flag : 0
    idr_pic_id : 0
    pic_order_cnt_lsb : 6
    delta_pic_order_cnt_bottom : 0
    redundant_pic_cnt : 0
    direct_spatial_mv_pred_flag : 0
    num_ref_idx_active_override_flag : 0
    num_ref_idx_l0_active_minus1 : 0
    num_ref_idx_l1_active_minus1 : 0
    cabac_init_idc : 0
    slice_qp_delta : -7
    sp_for_switch_flag : 0
    slice_qs_delta : 0
    disable_deblocking_filter_idc : 0
    slice_alpha_c0_offset_div2 : 0
    slice_beta_offset_div2 : 0
    slice_group_change_cycle : 0
    === Prediction Weight Table ===
    luma_log2_weight_denom : 0
    chroma_log2_weight_denom : 0
    luma_weight_l0_flag : 0
    chroma_weight_l0_flag : 0
    luma_weight_l1_flag : 0
    chroma_weight_l1_flag : 0
    === Ref Pic List Reordering ===
    ref_pic_list_reordering_flag_l0 : 0
    ref_pic_list_reordering_flag_l1 : 0
    === Decoded Ref Pic Marking ===
    no_output_of_prior_pics_flag : 0
    long_term_reference_flag : 0
    adaptive_ref_pic_marking_mode_flag : 0
    !! Found NAL at offset 1134 (0x046E), size 825 (0x0339)
    ==================== NAL ====================
    forbidden_zero_bit : 0
    nal_ref_idc : 2
    nal_unit_type : 1 ( Coded slice of a non-IDR picture )
    ======= Slice Header =======
    first_mb_in_slice : 0
    slice_type : 5 ( P slice only )
    pic_parameter_set_id : 0
    frame_num : 4
    field_pic_flag : 0
    bottom_field_flag : 0
    idr_pic_id : 0
    pic_order_cnt_lsb : 8
    delta_pic_order_cnt_bottom : 0
    redundant_pic_cnt : 0
    direct_spatial_mv_pred_flag : 0
    num_ref_idx_active_override_flag : 0
    num_ref_idx_l0_active_minus1 : 0
    num_ref_idx_l1_active_minus1 : 0
    cabac_init_idc : 0
    slice_qp_delta : -9
    sp_for_switch_flag : 0
    slice_qs_delta : 0
    disable_deblocking_filter_idc : 0
    slice_alpha_c0_offset_div2 : 0
    slice_beta_offset_div2 : 0
    slice_group_change_cycle : 0
    === Prediction Weight Table ===
    luma_log2_weight_denom : 0
    chroma_log2_weight_denom : 0
    luma_weight_l0_flag : 0
    chroma_weight_l0_flag : 0
    luma_weight_l1_flag : 0
    chroma_weight_l1_flag : 0
    === Ref Pic List Reordering ===
    ref_pic_list_reordering_flag_l0 : 0
    ref_pic_list_reordering_flag_l1 : 0
    === Decoded Ref Pic Marking ===
    no_output_of_prior_pics_flag : 0
    long_term_reference_flag : 0
    adaptive_ref_pic_marking_mode_flag : 0
    !! Found NAL at offset 1962 (0x07AA), size 754 (0x02F2)
    ==================== NAL ====================
    forbidden_zero_bit : 0
    nal_ref_idc : 2
    nal_unit_type : 1 ( Coded slice of a non-IDR picture )
    ======= Slice Header =======
    first_mb_in_slice : 0
    slice_type : 5 ( P slice only )
    pic_parameter_set_id : 0
    frame_num : 5
    field_pic_flag : 0
    bottom_field_flag : 0
    idr_pic_id : 0
    pic_order_cnt_lsb : 10
    delta_pic_order_cnt_bottom : 0
    redundant_pic_cnt : 0
    direct_spatial_mv_pred_flag : 0
    num_ref_idx_active_override_flag : 0
    num_ref_idx_l0_active_minus1 : 0
    num_ref_idx_l1_active_minus1 : 0
    cabac_init_idc : 0
    slice_qp_delta : -9
    sp_for_switch_flag : 0
    slice_qs_delta : 0
    disable_deblocking_filter_idc : 0
    slice_alpha_c0_offset_div2 : 0
    slice_beta_offset_div2 : 0
    slice_group_change_cycle : 0
    === Prediction Weight Table ===
    luma_log2_weight_denom : 0
    chroma_log2_weight_denom : 0
    luma_weight_l0_flag : 0
    chroma_weight_l0_flag : 0
    luma_weight_l1_flag : 0
    chroma_weight_l1_flag : 0
    === Ref Pic List Reordering ===
    ref_pic_list_reordering_flag_l0 : 0
    ref_pic_list_reordering_flag_l1 : 0
    === Decoded Ref Pic Marking ===
    no_output_of_prior_pics_flag : 0
    long_term_reference_flag : 0
    adaptive_ref_pic_marking_mode_flag : 0
    !! Found NAL at offset 2719 (0x0A9F), size 824 (0x0338)
    ==================== NAL ====================
    forbidden_zero_bit : 0
    nal_ref_idc : 2
    nal_unit_type : 1 ( Coded slice of a non-IDR picture )
    ======= Slice Header =======
    first_mb_in_slice : 0
    slice_type : 5 ( P slice only )
    pic_parameter_set_id : 0
    frame_num : 6
    field_pic_flag : 0
    bottom_field_flag : 0
    idr_pic_id : 0
    pic_order_cnt_lsb : 12
    delta_pic_order_cnt_bottom : 0
    redundant_pic_cnt : 0
    direct_spatial_mv_pred_flag : 0
    num_ref_idx_active_override_flag : 0
    num_ref_idx_l0_active_minus1 : 0
    num_ref_idx_l1_active_minus1 : 0
    cabac_init_idc : 0
    slice_qp_delta : -9
    sp_for_switch_flag : 0
    slice_qs_delta : 0
    disable_deblocking_filter_idc : 0
    slice_alpha_c0_offset_div2 : 0
    slice_beta_offset_div2 : 0
    slice_group_change_cycle : 0
    === Prediction Weight Table ===
    luma_log2_weight_denom : 0
    chroma_log2_weight_denom : 0
    luma_weight_l0_flag : 0
    chroma_weight_l0_flag : 0
    luma_weight_l1_flag : 0
    chroma_weight_l1_flag : 0
    === Ref Pic List Reordering ===
    ref_pic_list_reordering_flag_l0 : 0
    ref_pic_list_reordering_flag_l1 : 0
    === Decoded Ref Pic Marking ===
    no_output_of_prior_pics_flag : 0
    long_term_reference_flag : 0
    adaptive_ref_pic_marking_mode_flag : 0
    !! Found NAL at offset 3546 (0x0DDA), size 628 (0x0274)
    ==================== NAL ====================
    [...]
  • How to prevent ffmpeg lib from printing in a command line when playing audio with a discord bot ?

    26 janvier 2021, par ICookieI

    I have a question about ffmpeg. I wrote a discord bot with discord.py lib, which plays audio when somebody joins a channel. I wanted the program to run on my computer in the background, so no console log will appear. Therefore I start the python script using a .bat and a .vbs file, so the process runs in the background. This works fine so far. The problem is that the ffmpeg lib (I assume it's the ffmpeg lib...) prints out a line ("[mp3 @ 0000020168869040] Estimating duration from bitrate, this may be inaccurate") in the command prompt when it plays audio, so everytime somebody joins a channel a command prompt appear on my desktop for 1 sec only to show this line, afterwards it closes, but it's really annoying that it shows up everytime. I was wondering if there is a way to prevent the ffmpeg lib to print out this line, but i couldnt find out how so far.&#xA;Can someone help me with that ?&#xA;Thanks Cookie

    &#xA;

    my Code :

    &#xA;

    def getAudioSource(source):&#xA;&#xA;    audio_source = discord.FFmpegPCMAudio(executable="E:/PythonPrograms/DiscordBotHallo/Dateien/ffmpeg-win64-v4.2.2.exe", source=source)&#xA;    return audio_source&#xA;&#xA;&#xA;def getRandomGreeting():&#xA;&#xA;    list = os.listdir("E:/PythonPrograms/DiscordBotHallo/Begr&#xFC;&#xDF;ungen")&#xA;    Greeting = list[random.randrange(len(list))]&#xA;    Greeting = "Begr&#xFC;&#xDF;ungen/" &#x2B; Greeting&#xA;    return Greeting&#xA;&#xA;&#xA;@client.event&#xA;async def on_voice_state_update(member, before, after):&#xA;&#xA;    if before.channel == None and member.id != 801800464756768768:&#xA;        greetingPath = getRandomGreeting()&#xA;        audio_source = getAudioSource(greetingPath)&#xA;        vc = await after.channel.connect()&#xA;        vc.play(audio_source)&#xA;        while vc.is_playing():&#xA;            await asyncio.sleep(1)&#xA;        vc.stop()&#xA;        await vc.disconnect()&#xA;

    &#xA;