Recherche avancée

Médias (1)

Mot : - Tags -/swfupload

Autres articles (40)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (6760)

  • Why are no dts pts written to my mp4 container

    14 mai 2019, par Kiamur

    Based on my (self-answered) question here Muxing AVPackets into mp4 file - revisited, I have to ask, what could be the reason why there are no values written for pts/dts in the resulting mp4 container.

    I examined the container file with the tool MediaInfo.
    I observe that only the very first Frame contains a value for pts in the container. After that, pts is not even shown in the mp4 file anymore, but dts is, with a value of all zeros.

    This is the output from MediaInfo for the first 3 frames :

    0000A2   slice_layer_without_partitioning (IDR) - 0 (0x0) - Frame 0 - slice_type I - frame_num 0 - DTS 00:00:00.000 - PTS 00:00:00.017 (141867 bytes)
    0000A2    Header (5 bytes)
    0000A2     zero_byte:                          0 (0x00)
    0000A3     start_code_prefix_one_3bytes:       1 (0x000001)
    0000A6     nal_ref_idc:                        3 (0x3) - (2 bits)
    0000A6     nal_unit_type:                      5 (0x05) - (5 bits)
    0000A7    slice_header (3 bytes)
    0000A7     first_mb_in_slice:                  0 (0x0)
    0000A7     slice_type:                         7 (0x07) - I
    0000A8     pic_parameter_set_id:               0 (0x0)
    0000A8     frame_num:                          0 (0x0)
    0000A8     idr_pic_id:                         0 (0x0)
    0000A8     no_output_of_prior_pics_flag:       No
    0000A8     long_term_reference_flag:           No
    0000A9     slice_qp_delta:                     -5 (0xFFFFFFFB)
    0000AA     disable_deblocking_filter_idc:      0 (0x0)
    0000AA     slice_alpha_c0_offset_div2:         0 (0x0)
    0000AA     slice_beta_offset_div2:             0 (0x0)
    0000AA    slice_data (141856 bytes)
    0000AA     (ToDo):                             (Data)
    022ACD   slice_layer_without_partitioning (IDR) - 0 (0x0) - Frame 0 - slice_type I - frame_num 0 - DTS 00:00:00.000 - PTS 00:00:00.017 - first_mb_in_slice 8040 (2248 bytes)
    022ACD    Header (5 bytes)
    022ACD     zero_byte:                          0 (0x00)
    022ACE     start_code_prefix_one_3bytes:       1 (0x000001)
    022AD1     nal_ref_idc:                        3 (0x3) - (2 bits)
    022AD1     nal_unit_type:                      5 (0x05) - (5 bits)
    022AD2    slice_header (6 bytes)
    022AD2     first_mb_in_slice:                  8040 (0x001F68)
    022AD5     slice_type:                         7 (0x07) - I
    022AD6     pic_parameter_set_id:               0 (0x0)
    022AD6     frame_num:                          0 (0x0)
    022AD6     idr_pic_id:                         0 (0x0)
    022AD6     no_output_of_prior_pics_flag:       No
    022AD6     long_term_reference_flag:           No
    022AD7     slice_qp_delta:                     -5 (0xFFFFFFFB)
    022AD8     disable_deblocking_filter_idc:      0 (0x0)
    022AD8     slice_alpha_c0_offset_div2:         0 (0x0)
    022AD8     slice_beta_offset_div2:             0 (0x0)
    022AD8    slice_data (2237 bytes)
    022AD8     (ToDo):                             (Data)
    023395  1 (36212 bytes)
    023395   slice_layer_without_partitioning (non-IDR) - 2 (0x2) - Frame 1 - slice_type P - frame_num 1 - DTS 00:00:00.000 (36017 bytes)
    023395    Header (5 bytes)
    023395     zero_byte:                          0 (0x00)
    023396     start_code_prefix_one_3bytes:       1 (0x000001)
    023399     nal_ref_idc:                        3 (0x3) - (2 bits)
    023399     nal_unit_type:                      1 (0x01) - (5 bits)
    02339A    slice_header (3 bytes)
    02339A     first_mb_in_slice:                  0 (0x0)
    02339A     slice_type:                         5 (0x5) - P
    02339A     pic_parameter_set_id:               0 (0x0)
    02339A     frame_num:                          1 (0x1)
    02339B     num_ref_idx_active_override_flag (0 bytes)
    02339B      num_ref_idx_active_override_flag:  Yes
    02339B      num_ref_idx_l0_active_minus1:      0 (0x0)
    02339B     ref_pic_list_modification_flag_l0:  No
    02339B     adaptive_ref_pic_marking_mode_flag: No
    02339C     cabac_init_idc:                     0 (0x0)
    02339C     slice_qp_delta:                     -3 (0xFFFFFFFD)
    02339C     disable_deblocking_filter_idc:      0 (0x0)
    02339C     slice_alpha_c0_offset_div2:         0 (0x0)
    02339D     slice_beta_offset_div2:             0 (0x0)
    02339D    slice_data (36012 bytes)
    02339D     (ToDo):                             (Data)
    02C046   slice_layer_without_partitioning (non-IDR) - 2 (0x2) - Frame 1 - slice_type P - frame_num 1 - DTS 00:00:00.000 - first_mb_in_slice 8040 (195 bytes)
    02C046    Header (5 bytes)
    02C046     zero_byte:                          0 (0x00)
    02C047     start_code_prefix_one_3bytes:       1 (0x000001)
    02C04A     nal_ref_idc:                        3 (0x3) - (2 bits)
    02C04A     nal_unit_type:                      1 (0x01) - (5 bits)
    02C04B    slice_header (6 bytes)
    02C04B     first_mb_in_slice:                  8040 (0x001F68)
    02C04E     slice_type:                         5 (0x5) - P
    02C04E     pic_parameter_set_id:               0 (0x0)
    02C04E     frame_num:                          1 (0x1)
    02C04F     num_ref_idx_active_override_flag (0 bytes)
    02C04F      num_ref_idx_active_override_flag:  Yes
    02C04F      num_ref_idx_l0_active_minus1:      0 (0x0)
    02C04F     ref_pic_list_modification_flag_l0:  No
    02C04F     adaptive_ref_pic_marking_mode_flag: No
    02C050     cabac_init_idc:                     0 (0x0)
    02C050     slice_qp_delta:                     -3 (0xFFFFFFFD)
    02C050     disable_deblocking_filter_idc:      0 (0x0)
    02C050     slice_alpha_c0_offset_div2:         0 (0x0)
    02C051     slice_beta_offset_div2:             0 (0x0)
    02C051    slice_data (190 bytes)
    02C051     (ToDo):                             (Data)
    02C109  1 (26280 bytes)
    02C109   slice_layer_without_partitioning (non-IDR) - 4 (0x4) - Frame 2 - slice_type P - frame_num 2 - DTS 00:00:00.000 (26157 bytes)
    02C109    Header (5 bytes)
    02C109     zero_byte:                          0 (0x00)
    02C10A     start_code_prefix_one_3bytes:       1 (0x000001)
    02C10D     nal_ref_idc:                        3 (0x3) - (2 bits)
    02C10D     nal_unit_type:                      1 (0x01) - (5 bits)
    02C10E    slice_header (3 bytes)
    02C10E     first_mb_in_slice:                  0 (0x0)
    02C10E     slice_type:                         5 (0x5) - P
    02C10E     pic_parameter_set_id:               0 (0x0)
    02C10E     frame_num:                          2 (0x2)
    02C10F     num_ref_idx_active_override_flag (0 bytes)
    02C10F      num_ref_idx_active_override_flag:  Yes
    02C10F      num_ref_idx_l0_active_minus1:      0 (0x0)
    02C10F     ref_pic_list_modification_flag_l0:  No
    02C10F     adaptive_ref_pic_marking_mode_flag: No
    02C110     cabac_init_idc:                     0 (0x0)
    02C110     slice_qp_delta:                     -2 (0xFFFFFFFE)
    02C110     disable_deblocking_filter_idc:      0 (0x0)
    02C110     slice_alpha_c0_offset_div2:         0 (0x0)
    02C111     slice_beta_offset_div2:             0 (0x0)
    02C111    slice_data (26152 bytes)
    02C111     (ToDo):                             (Data)
    032736   slice_layer_without_partitioning (non-IDR) - 4 (0x4) - Frame 2 - slice_type P - frame_num 2 - DTS 00:00:00.000 - first_mb_in_slice 8040 (123 bytes)
    032736    Header (5 bytes)
    032736     zero_byte:                          0 (0x00)
    032737     start_code_prefix_one_3bytes:       1 (0x000001)
    03273A     nal_ref_idc:                        3 (0x3) - (2 bits)
    03273A     nal_unit_type:                      1 (0x01) - (5 bits)
    03273B    slice_header (6 bytes)
    03273B     first_mb_in_slice:                  8040 (0x001F68)
    03273E     slice_type:                         5 (0x5) - P
    03273E     pic_parameter_set_id:               0 (0x0)
    03273E     frame_num:                          2 (0x2)
    03273F     num_ref_idx_active_override_flag (0 bytes)
    03273F      num_ref_idx_active_override_flag:  Yes
    03273F      num_ref_idx_l0_active_minus1:      0 (0x0)
    03273F     ref_pic_list_modification_flag_l0:  No
    03273F     adaptive_ref_pic_marking_mode_flag: No
    032740     cabac_init_idc:                     0 (0x0)
    032740     slice_qp_delta:                     -2 (0xFFFFFFFE)
    032740     disable_deblocking_filter_idc:      0 (0x0)
    032740     slice_alpha_c0_offset_div2:         0 (0x0)
    032741     slice_beta_offset_div2:             0 (0x0)
    032741    slice_data (118 bytes)
    032741     (ToDo):                             (Data)
    0327B1  1 (21125 bytes)

    It goes on like that, even though I set pts and dts. The settings may not be correct already (I do some calculations like (1 / framerate) * FrameNumber), but I would expect at least some numbers in pts and dts, when I set the according fields in the avPacket structure and write that via av_interleaved_write_frame(outFmtCtx, &avPacket) ; to the file.

    What could be wrong here ?

    Edit :

    (please see below in the comments the download to my testdata and source file)
    One thing that bugs me is the fact, if I compare the output of MediaInfo from my file and that of the muxing.c generated is, that in the header, the muxing.c generated already mentions the duration of the file as 9960 ms, whereas mine is only 40 ms.

    muxing.c also does call avformat_write_header before even one frame is drawn. Yes, I suppose that the header will be updated, when the either av_interleaved_write_frame or av_write_trailer is called, but I totally not understand the mechanics behind it.
    Maybe somebody can enlighten me with some background information of any kind.

    Additionally, I think it could be necessarry to extract some SPS and PPS from my raw data (preceding the I-slice), and give that as extra data to the avformat_write_header call. But I just cannot figure out myself if I have to do that at all and if so, how to do it.

  • Virginia Consumer Data Protection Act (VCDPA) Guide

    27 septembre 2023, par Erin — Privacy

    Do you run a for-profit organisation in the United States that processes personal and sensitive consumer data ? If so, you may be concerned about the growing number of data privacy laws cropping up from state to state.

    Ever since the California Consumer Privacy Act (CCPA) came into effect on January 1, 2020, four other US states — Connecticut, Colorado, Utah and Virginia — have passed their own data privacy laws. Each law uses the CCPA as a foundation but slightly deviates from the formula. This is a problem for US organisations, as they cannot apply the same CCPA compliance framework everywhere else.

    In this article, you’ll learn what makes the Virginia Consumer Data Protection Act (VCDPA) unique and how to ensure compliance.

    What is the VCDPA ?

    Signed by Governor Ralph Northam on 2 March 2021, and brought into effect on 1 January 2023, the VCDPA is a new data privacy law. It gives Virginia residents certain rights regarding how organisations process their personal and sensitive consumer data.

    The VCDPA explained

    The law contains several provisions, which define :

    • Who must follow the VCDPA
    • Who is exempt from the VCDPA
    • The consumer rights of data subjects
    • Relevant terms, such as “consumers,” “personal data,” “sensitive data” and the “sale of personal data”
    • The rights and responsibilities of data controllers
    • What applicable organisations must do to ensure VCDPA compliance

    These guidelines define the data collection practices that VCDPA-compliant organisations must comply with. The practices are designed to protect the rights of Virginia residents who have their personal or sensitive data collected.

    What are the consumer rights of VCDPA data subjects ?

    There are seven consumer rights that protect residents who fit the definition of “data subjects” under the new Virginia data privacy law. 

    VCDPA consumer rights

    A data subject is an “identified or identifiable natural person” who has their information collected. Personally identifiable information includes a person’s name, address, date of birth, religious beliefs, immigration status, status of child protection assessments, ethnic origin and more.

    Below is a detailed breakdown of each VCDPA consumer right :

    1. Right to know, access and confirm personal data : Data subjects have the right to know that their data is being collected, the right to access their data and the right to confirm that the data being collected is accurate and up to date.
    2. Right to delete personal data : Data subjects have the right to request that their collected personal or sensitive consumer data be deleted.
    3. Right to correct inaccurate personal data : Data subjects have the right to request that their collected data be corrected.
    4. Right to data portability : Data subjects have the right to obtain their collected data and, when reasonable and possible, request that their collected data be transferred from one data controller to another.
    5. Right to opt out of data processing activity : Data subjects have the right to opt out of having their personal or sensitive data collected.
    6. Right to opt out of the sale of personal and sensitive consumer data : Data subjects have the right to opt out of having their collected data sold to third parties.

    Right to not be discriminated against for exercising one’s rights : Data subjects have the right to not be discriminated against for exercising their right to not have their personal or sensitive consumer data collected, processed and sold to third parties for targeted advertising or other purposes.

    Who must comply with the VCDPA ?

    The VCDPA applies to for-profit organisations. Specifically, those that operate and offer products or services in the state of Virginia.

    Who the VCDPA applies to

    Additionally, for-profit organisations that fit under either of these two categories must comply with the VCDPA :

    • Collect and process the personal data of at least 100,000 Virginia residents within a financial year or
    • Collect and process the personal data of at least 25,000 Virginia residents and receive at least 50% of gross revenue by selling personal or sensitive data.

    If a for-profit organisation resides out of the state of Virginia and falls into one of the categories above, they must comply with the VCDPA. Eligibility requirements also apply, regardless of the revenue threshold of the organisation in question. Large organisations can avoid VCDPA compliance if they don’t meet either of the above two eligibility requirements.

    What types of consumer data does the VCDPA protect ?

    The two main types of data that apply to the VCDPA are personal and sensitive data. 

    Types of VCDPA data

    Personal data is either identified or personally identifiable information, such as home address, date of birth or phone number. Information that is publicly available or has been de-identified (dissociated with a natural person or entity) is not considered personal data.

    Sensitive data is a category of personal data. It’s data that’s either the collected data of a known child or data that can be used to form an opinion about a natural person or individual. Examples of sensitive data include information about a person’s ethnicity, religion, political beliefs and sexual orientation. 

    It’s important that VCDPA-compliant organisations understand the difference between the two data types, as failure to do so could result in penalties of up to $7,500 per violation. For instance, if an organisation wants to collect sensitive data (and they have a valid reason to do so), they must first ask for consent from consumers. If the organisation in question fails to do so, then they’ll be in violation of the VCDPA, and may be subject to multiple penalties — equal to however many violations they incur.

    A 5-step VCDPA compliance framework

    Getting up to speed with the terms of the VCDPA can be challenging, especially if this is your first time encountering such a law. That said, even organisations that have experience with data privacy laws should still take the time to understand the VCDPA.

    VCDPA compliance explained

    Here’s a simple 5-step VCDPA compliance framework to follow.

    1. Assess data

    First off, take the time to become familiar with the Virginia Consumer Data Protection Act (VCDPA). Then, read the content from the ‘Who does the VCDPA apply to’ section of this article, and use this information to determine if the law applies to your organisation.

    How do you know if you reach the data subject threshold ? Easy. Use a web analytics platform like Matomo to see where your web visitors are, how many of them (from that specific region) are visiting your website and how many of them you’re collecting personal or sensitive data from.

    To do this in Matomo, simply open the dashboard, look at the “Locations” section and use the information on display to see how many Virginia residents are visiting your website.

    Matomo lets you easily view your visitors by region

    Using the dashboard will help you determine if the VCDPA applies to your company.

    2. Evaluate your privacy practices

    Review your existing privacy policies and practices and update them to comply with the VCDPA. Ensure your data collection practices protect the confidentiality, integrity and accessibility of your visitors.

    One way to do this is to automatically anonymise visitor IPs, which you can do in Matomo — in fact, the feature is automatically set to default. 

    ip address anonymity feature

    Another great thing about IP anonymisation is that after a visitor leaves your website, any evidence of them ever visiting is gone, and such information cannot be tracked by anyone else. 

    3. Inform data subjects of their rights

    To ensure VCDPA compliance in your organisation, you must inform your data subjects of their rights, including their right to access their data, their right to transfer their data to another controller and their right to opt out of your data collection efforts.

    That last point is one of the most important, and to ensure that you’re ready to respond to consumer rights requests, you should prepare an opt-out form in advance. If a visitor wants to opt out from tracking, they’ll be able to do so quickly and easily. Not only will this help you be VCDPA compliant, but your visitors will also appreciate the fact that you take their privacy seriously.

    To create an opt-out form in Matomo, visit the privacy settings section (click on the cog icon in the top menu) and click on the “Users opt-out” menu item under the Privacy section. After creating the form, you can then customise and publish the form as a snippet of HTML code that you can place on the pages of your website.

    4. Review vendor contracts

    Depending on the nature of your organisation, you may have vendor contracts with a third-party business associate. These are individuals or organisations, separate from your own, that contribute to the successful delivery of your products and services.

    You may also engage with third parties that process the data you collect, as is the case for many website owners that use Google Analytics (to which there are many alternatives) to convert visitor data into insights. 

    Financial institutions, such as stock exchange companies, also rely on third-party data for trading. If this is the case for you, then you likely have a Data Processing Agreement (DPA) in place — a legally binding document between you (the data controller, who dictates how and why the collected data is used) and the data processor (who processes the data you provide to them).

    To ensure that your DPA is VCDPA compliant, make sure it contains the following items :

    • Definition of terms
    • Instructions for processing data
    • Limits of use (explain what all parties can and cannot do with the collected data)
    • Physical data security practices (e.g., potential risks, risk of harm and control measures)
    • Data subject rights
    • Consumer request policies (i.e., must respond within 45 days of receipt)
    • Privacy notices and policies

    5. Seek expert legal advice

    To ensure your organisation is fully VCDPA compliant, consider speaking to a data and privacy lawyer. They can help you better understand the specifics of the law, advise you on where you fall short of compliance and what you must do to become VCDPA compliant.

    Data privacy lawyers can also help you draft a meaningful privacy notice, which may be useful in modifying your existing DPAs or creating new ones. If needed, they can also advise you on areas of compliance with other state-specific data protection acts, such as the CCPA and newly released laws in Colorado, Connecticut and Utah.

    How does the VCDPA differ from the CCPA ?

    Although the VCDPA has many similarities to the CCPA, the two laws still have their own approach to applying the law. 

    Here’s a quick breakdown of the main differences that set these laws apart.

    Definition of a consumer

    Under the VCDPA, a consumer is a “natural person who is a Virginia resident acting in an individual or household context.” Meanwhile, under the CCPA, a consumer is a “natural person who is a California resident acting in an individual or household context.” However, the VCDPA omits people in employment contexts, while the CCPA doesn’t. Hence, organisations don’t need to consider employee data.

    Sale of personal data

    The VCDPA defines the “sale of personal data” as an exchange “for monetary consideration” by the data controller to a data processor or third party. This means that, under the VCDPA, an act is only considered a “sale of personal data” if there is monetary value attached to the transaction.

    This contrasts with the CCPA, where that law also counts “other valuable considerations” as a factor when determining if the sale of personal data has occurred.

    Right to opt out

    Just like the CCPA, the VCDPA clearly outlines that organisations must respond to a user request to opt out of tracking. However, unlike the CCPA, the VCDPA does not give organisations any exceptions to such a right. This means that, even if the organisation believes that the request is impractical or hard to pull off, it must comply with the request under any circumstances, even in instances of hardship.

    Ensure VCDPA compliance with Matomo

    The VCDPA, like many other data privacy laws in the US, is designed to enhance the rights of Virginia consumers who have their personal or sensitive data collected and processed. Fortunately, this is where platforms like Matomo can help.

    Matomo is a powerful web analytics platform that has built-in features to help you comply with the VCDPA. These include options like :

    Try out the free 21-day Matomo trial today. No credit card required.

  • lavf/isom : Allow reading mp3-in-isom as written by vlc.

    12 mai 2019, par Carl Eugen Hoyos
    lavf/isom : Allow reading mp3-in-isom as written by vlc.
    

    Reported-by : IRC user aiena

    • [DH] libavformat/isom.c