Recherche avancée

Médias (10)

Mot : - Tags -/wav

Autres articles (49)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

Sur d’autres sites (5246)

  • How to specify streams by pid with ffmpeg, If the value of pid is duplicated ?

    22 novembre 2019, par Bo Wang

    I have a nice m2ts file and I would like to demux specific audio streams from it. Of important, this specification is needed to use PID as identifier.
    The exemplified m2ts file has 7 audio streams, which is detected by eac3to and shown below

    eac3to.exe F:\xxx 1)
    M2TS, 1 video track, 7 audio tracks, 5 subtitle tracks, 1:40:03
    1: Chapters, 34 chapters
    2: h265/HEVC, 2160p24 /1.001 (16:9), 10 bits
    3: TrueHD/AC3 (Atmos), English, 7.1 channels, 48kHz, dialnorm: -28dB
      (embedded: AC3, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB)
    4: E-AC3, English, 7.1 channels, 1024kbps, 48kHz, dialnorm: -28dB
      (core: AC3, 5.1 channels, 576kbps, 48kHz, dialnorm: -28dB)
    5: AC3, English, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
    6: AC3, English, 2.0 channels, 320kbps, 48kHz, dialnorm: -27dB
    7: AC3, English, 2.0 channels, 320kbps, 48kHz, dialnorm: -27dB
    8: AC3, Chinese, 2.0 channels, 448kbps, 48kHz
    9: AC3, Chinese, 5.1 channels, 384kbps, 48kHz, 300ms
    10: Subtitle (PGS), English
    11: Subtitle (PGS), Chinese
    12: Subtitle (PGS), Chinese
    13: Subtitle (PGS), Chinese
    14: Subtitle (PGS), Chinese

    However, if I run
    ffmpeg.exe -hide_banner -i "F:\xxx\BDMV\STREAM\00055.m2ts", ffmpeg shows an additional audio stream as it recognizes the embedded 5.1 AC3 stream inside the 7.1 TrueHD audio stream, as independent :

    Input #0, mpegts, from 'F:\xxx\BDMV\STREAM\00055.m2ts':
     Duration: 00:00:48.62, start: 4198.333333, bitrate: 50005 kb/s
     Program 1
       Stream #0:0[0x1011]: Video: hevc (Main 10) (HDMV / 0x564D4448), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc
       Stream #0:1[0x1100]: Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 7.1, s32 (24 bit)
       Stream #0:2[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
       Stream #0:3[0x1101]: Audio: eac3 (AC-3 / 0x332D4341), 48000 Hz, 7.1, fltp, 1024 kb/s
       Stream #0:4[0x1102]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
       Stream #0:5[0x1103]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 320 kb/s
       Stream #0:6[0x1104]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 320 kb/s
       Stream #0:7[0x1105]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
       Stream #0:8[0x1106]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
       Stream #0:9[0x12a0]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:10[0x12a1]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:11[0x12a2]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:12[0x12a3]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:13[0x12a4]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)

    It can be found that the Stream #0:1 and Stream #0:2 have the same PID 0x1100. And ffmpeg.exe -hide_banner -i "F:\xxx\BDMV\STREAM\00055.m2ts" -map i:0x1100 -c copy 00055-0x1100.thd will yield error :

    [truehd @ 0000021ae9517600] truehd files have exactly one stream
    Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
    Stream mapping:
     Stream #0:1 -> #0:0 (copy)
     Stream #0:2 -> #0:1 (copy)
       Last message repeated 1 times

    By contrast, it works by giving other pids without duplication, such as ffmpeg.exe -hide_banner -i "F:\xxx\BDMV\STREAM\00055.m2ts" -map i:0x1101 -c copy 00055-0x1101.eac3 :

    Input #0, mpegts, from 'F:\xxx\BDMV\STREAM\00055.m2ts':
     Duration: 00:00:48.62, start: 4198.333333, bitrate: 50005 kb/s
     Program 1
       Stream #0:0[0x1011]: Video: hevc (Main 10) (HDMV / 0x564D4448), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc
       Stream #0:1[0x1100]: Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 7.1, s32 (24 bit)
       Stream #0:2[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
       Stream #0:3[0x1101]: Audio: eac3 (AC-3 / 0x332D4341), 48000 Hz, 7.1, fltp, 1024 kb/s
       Stream #0:4[0x1102]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
       Stream #0:5[0x1103]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 320 kb/s
       Stream #0:6[0x1104]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 320 kb/s
       Stream #0:7[0x1105]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
       Stream #0:8[0x1106]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
       Stream #0:9[0x12a0]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:10[0x12a1]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:11[0x12a2]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:12[0x12a3]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:13[0x12a4]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
    Output #0, eac3, to '00055-0x1101.eac3':
     Metadata:
       encoder         : Lavf58.34.101
       Stream #0:0: Audio: eac3 (AC-3 / 0x332D4341), 48000 Hz, 7.1, fltp, 1024 kb/s
    Stream mapping:
     Stream #0:3 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    size=    6076kB time=00:00:48.57 bitrate=1024.7kbits/s speed=92.6x
    video:0kB audio:6076kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

    In this case, how can I specify the streams by PID ?

  • Is there any way to specify streams by pid with ffmpeg, if the value of pid is duplicated ?

    22 novembre 2019, par Bo Wang

    I have a nice m2ts file and I would like to demux specific audio streams from it. Of important, this specification is needed to use PID as identifier.
    The exemplified m2ts file has 7 audio streams, which is detected by eac3to and shown below

    eac3to.exe F:\xxx 1)
    M2TS, 1 video track, 7 audio tracks, 5 subtitle tracks, 1:40:03
    1: Chapters, 34 chapters
    2: h265/HEVC, 2160p24 /1.001 (16:9), 10 bits
    3: TrueHD/AC3 (Atmos), English, 7.1 channels, 48kHz, dialnorm: -28dB
      (embedded: AC3, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB)
    4: E-AC3, English, 7.1 channels, 1024kbps, 48kHz, dialnorm: -28dB
      (core: AC3, 5.1 channels, 576kbps, 48kHz, dialnorm: -28dB)
    5: AC3, English, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
    6: AC3, English, 2.0 channels, 320kbps, 48kHz, dialnorm: -27dB
    7: AC3, English, 2.0 channels, 320kbps, 48kHz, dialnorm: -27dB
    8: AC3, Chinese, 2.0 channels, 448kbps, 48kHz
    9: AC3, Chinese, 5.1 channels, 384kbps, 48kHz, 300ms
    10: Subtitle (PGS), English
    11: Subtitle (PGS), Chinese
    12: Subtitle (PGS), Chinese
    13: Subtitle (PGS), Chinese
    14: Subtitle (PGS), Chinese

    However, if I run
    ffmpeg.exe -hide_banner -i "F:\xxx\BDMV\STREAM\00055.m2ts", ffmpeg shows an additional audio stream as it recognizes the embedded 5.1 AC3 stream inside the 7.1 TrueHD audio stream, as independent :

    Input #0, mpegts, from 'F:\xxx\BDMV\STREAM\00055.m2ts':
     Duration: 00:00:48.62, start: 4198.333333, bitrate: 50005 kb/s
     Program 1
       Stream #0:0[0x1011]: Video: hevc (Main 10) (HDMV / 0x564D4448), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc
       Stream #0:1[0x1100]: Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 7.1, s32 (24 bit)
       Stream #0:2[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
       Stream #0:3[0x1101]: Audio: eac3 (AC-3 / 0x332D4341), 48000 Hz, 7.1, fltp, 1024 kb/s
       Stream #0:4[0x1102]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
       Stream #0:5[0x1103]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 320 kb/s
       Stream #0:6[0x1104]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 320 kb/s
       Stream #0:7[0x1105]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
       Stream #0:8[0x1106]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
       Stream #0:9[0x12a0]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:10[0x12a1]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:11[0x12a2]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:12[0x12a3]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:13[0x12a4]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)

    It can be found that the Stream #0:1 and Stream #0:2 have the same PID 0x1100. And ffmpeg.exe -hide_banner -i "F:\xxx\BDMV\STREAM\00055.m2ts" -map i:0x1100 -c copy 00055-0x1100.thd will yield error :

    [truehd @ 0000021ae9517600] truehd files have exactly one stream
    Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
    Stream mapping:
     Stream #0:1 -> #0:0 (copy)
     Stream #0:2 -> #0:1 (copy)
       Last message repeated 1 times

    By contrast, it works by giving other pids without duplication, such as ffmpeg.exe -hide_banner -i "F:\xxx\BDMV\STREAM\00055.m2ts" -map i:0x1101 -c copy 00055-0x1101.eac3 :

    Input #0, mpegts, from 'F:\xxx\BDMV\STREAM\00055.m2ts':
     Duration: 00:00:48.62, start: 4198.333333, bitrate: 50005 kb/s
     Program 1
       Stream #0:0[0x1011]: Video: hevc (Main 10) (HDMV / 0x564D4448), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc
       Stream #0:1[0x1100]: Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 7.1, s32 (24 bit)
       Stream #0:2[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
       Stream #0:3[0x1101]: Audio: eac3 (AC-3 / 0x332D4341), 48000 Hz, 7.1, fltp, 1024 kb/s
       Stream #0:4[0x1102]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
       Stream #0:5[0x1103]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 320 kb/s
       Stream #0:6[0x1104]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 320 kb/s
       Stream #0:7[0x1105]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
       Stream #0:8[0x1106]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
       Stream #0:9[0x12a0]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:10[0x12a1]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:11[0x12a2]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:12[0x12a3]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
       Stream #0:13[0x12a4]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
    Output #0, eac3, to '00055-0x1101.eac3':
     Metadata:
       encoder         : Lavf58.34.101
       Stream #0:0: Audio: eac3 (AC-3 / 0x332D4341), 48000 Hz, 7.1, fltp, 1024 kb/s
    Stream mapping:
     Stream #0:3 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    size=    6076kB time=00:00:48.57 bitrate=1024.7kbits/s speed=92.6x
    video:0kB audio:6076kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

    In this case, how can I specify the streams by PID ?

  • How to reinsert edited metadata stream information from the FFMETADATAFILE file ? [closed]

    6 septembre 2024, par SENYCH

    I'm working on simplifying and speeding up the process of editing video metadata for user convenience. I've successfully edited metadata streams using console commands, such as :

    


    ffmpeg -i INPUT.mp4 -map 0 -metadata:s:0 "handler_name=An other video" -metadata:s:1 "handler_name=An other audio recording in russian" -metadata:s:2 "handler_name=An other audio recording in english" -metadata:s:3 "handler_name=An other audio recording in japanese" -c copy OUTPUT.mp4


    


    However, I'd like to accomplish this through a ffmetadata file. Here's the approach I've taken :

    


    ffmpeg -t 0 -i INPUT.mp4 -map 0 -c copy -f ffmetadata ffmetadata.txt -hide_banner


    


    Original ffmetadata.txt is :

    


    ;FFMETADATA1
major_brand=isom
minor_version=512
compatible_brands=isomiso2avc1mp41
encoder=Lavf61.5.101
[STREAM]
language=und
handler_name=The best video
vendor_id=[0][0][0][0]
[STREAM]
language=rus
handler_name=The best russian language
vendor_id=[0][0][0][0]
[STREAM]
language=eng
handler_name=The best english language
vendor_id=[0][0][0][0]
[STREAM]
language=jpn
handler_name=The best japanese language
vendor_id=[0][0][0][0]


    


    Edit the ffmetadata.txt file to update the handler_name values :

    


    ;FFMETADATA1
major_brand=isom
minor_version=512
compatible_brands=isomiso2avc1mp41
encoder=Lavf61.5.101
[STREAM]
language=und
handler_name=An other video
vendor_id=[0][0][0][0]
[STREAM]
language=rus
handler_name=An other audio recording in russian
vendor_id=[0][0][0][0]
[STREAM]
language=eng
handler_name=An other audio recording in english
vendor_id=[0][0][0][0]
[STREAM]
language=jpn
handler_name=An other audio recording in japanese
vendor_id=[0][0][0][0]


    


    Attempt to apply the updated metadata from ffmetadata2.txt :

    


    C:\Users\Alexander\Videos>ffmpeg -i INPUT.mp4 -i ffmetadata2.txt -map 0:v -map 0:a -map_metadata 1 -c copy OUTPUT2.mp4 -hide_banner


    


    Despite these steps, I've noticed that only the global metadata is updated, while the metadata for each stream remains unchanged. The console output shows that metadata for each stream is not updated as expected.

    


    What am I missing ? How can I ensure that the stream-specific metadata is also updated correctly when using a ffmetadata file ?

    


    Additional Information :

    


      

    • FFmpeg version : 2024-08-26-git-98610fe95f-full_build
    • 


    • The ffmetadata file format and the approach I've used should be correct according to the FFmpeg documentation.
    • 


    


    I would greatly appreciate any recommendations or suggestions on how to solve this problem !

    


    I found a bad solution for my problem, but it still isn't ideal as it requires specifying -map_metadata:s:N 1:s:N for each stream individually, which is quite cumbersome. Is there a way to simplify this process and avoid having to set metadata for each stream separately ?

    


    The command I’m using is :

    


    C:\Users\Alexander\Videos>ffmpeg -i INPUT.mp4 -i ffmetadata2.txt -map 0 -map_metadata:s:0 1:s:0 -map_metadata:s:1 1:s:1 -map_metadata:s:2 1:s:2 -map_metadata:s:3 1:s:3 -c copy OUTPUT2.mp4 -hide_banner


    


    This works, but having to specify -map_metadata:s:N for each stream creates extra work, especially as the number of streams increases. Is there a more efficient way to handle this ?