agosto 05, 2026

A cosa serve il Trac FFmpeg Bug Tracker

| No comment

How to Install FFmpeg on Debian 13, 12 and 11 - LinuxCapable

Il Trac FFmpeg Bug Tracker è la piattaforma web centrale utilizzata dal progetto FFmpeg per gestire le anomalie del software, coordinare lo sviluppo e mantenere la documentazione tecnica.

In sintesi, serve a cinque scopi fondamentali:

  1. Segnalazione e tracciamento dei bug (Bug Tracking)

    Consente agli utenti e agli sviluppatori di registrare problemi tecnici — come crash, errori di memoria, mancata sincronizzazione audio/video o artefatti visivi — fornendo i log e i campioni multimediali necessari a riprodurli.

  2. Richiesta di nuove funzionalità (Feature Requests)

    Fornisce un canale ufficiale per proporre l'aggiunta di nuovi codec, filtri multimediali, demuxer o nuove opzioni per la riga di comando (ffmpeg e ffprobe).

  3. Isolamento delle regressioni

    Aiuta a identificare i casi in cui un comando che funzionava nelle versioni precedenti smette di funzionare a causa di modifiche recenti al codice, facilitando la ricerca del commit responsabile.

  4. Archivio storico e trasparenza

    Mantiene uno storico pubblico dei problemi noti e risolti. Quando un bug viene corretto, il relativo ticket viene collegato al commit Git corrispondente, evitando che più sviluppatori lavorino sugli stessi problemi senza coordinamento.

  5. Knowledge Base e Wiki ufficiale

    Oltre alla gestione dei ticket, ospita la wiki con guide pratiche alla compilazione (su Linux, Windows e macOS), raccomandazioni per l'ottimizzazione dei codec (H.264, AV1, NVENC) ed esempi avanzati di filtri.

Ecco la differenza pratica tra un report destinato all'archiviazione immediata come invalid e un report valido e pronto per essere preso in carico dagli sviluppatori di FFmpeg.

❌ Esempio di Report INCOMPLETO (Invalido)

Un report di questo tipo viene solitamente chiuso senza essere analizzato:

Summary: FFmpeg crasha durante la conversione MP4

Description: Ho provato a convertire un video MP4 e si chiude da solo dando errore.

Comando usato: ffmpeg -i video.mp4 output.mkv

Log: Segmentation fault (core dumped)

Perché è invalido?
  • Mancano le informazioni di build: Non si conosce la versione di FFmpeg, né i flag di configurazione né il sistema operativo.

  • Versione non verificata: Non c'è prova che il bug persista sull'ultima versione Git master.

  • Log incompleto: Manca l'intero output del terminale (il cosiddetto "banner" e la catena dei filtri/codec caricati).

  • Nessun file campione: Gli sviluppatori non hanno modo di riprodurre il problema.

✅ Esempio di Report COMPLETO (Valido)

Ecco la struttura corretta da inserire nel modulo di Trac:

Campi del Ticket:
  • Summary: [ffmpeg/libavcodec] Crash (Segmentation Fault) in h264_decode_frame during decode on git-master

  • Type: defect

  • Component: avcodec

  • Version: git-master

Descrizione del Report:

Plaintext

### Descrizione del problema
Eseguendo la decodifica dell'allegato 'sample_crash.mp4', il processo fallisce
con Segmentation Fault durante l'inizializzazione del decoder H.264.
Il problema è riproducibile al 100% sull'ultimo commit git master (hash 3a1b2c4).

### Ambiente
- SO: Ubuntu 24.04 LTS (x86_64)
- CPU: AMD Ryzen 7 5800X
- Versione FFmpeg: git-master (compilato con simboli di debug `ffmpeg_g`)

### File di esempio
Il file 'sample_crash.mp4' (1.2 MB) è stato caricato direttamente in allegato al ticket.

### Comando esatto
ffmpeg -v 9 -loglevel 99 -i sample_crash.mp4 -f null -

### Output completo ed integro del terminale
ffmpeg version N-115000-g3a1b2c4 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu4)
  configuration: --enable-gpl --enable-libx264 --enable-nonfree --enable-debug=3
  libavutil      59. 15.100 / 59. 15.100
  libavcodec     61. 20.100 / 61. 20.100
  libavformat    61. 10.100 / 61. 10.100
  libavdevice    61.  2.100 / 61.  2.100
  libavfilter    10.  2.100 / 10.  2.100
  libswscale      8.  2.100 / 8.  2.100
  libswresample   5.  2.100 / 5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
Splitting the command line.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-i' ... matched as input url with argument 'sample_crash.mp4'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'null'.
Reading option '-' ... matched as output url with argument '-'.
...
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x555555e82000] Format mov,mp4,m4a,3gp,3g2,mj2 detected binary score 100
[h264 @ 0x555555e8a400] Reinit context to 1920x1080, pix_fmt: yuv420p
Segmentation fault (core dumped)

### Backtrace da GDB (eseguito con ffmpeg_g)
(gdb) run -i sample_crash.mp4 -f null -
Thread 1 "ffmpeg_g" received signal SIGSEGV, Segmentation fault.
0x0000000000401234 in h264_decode_frame (avctx=0x555555e8a400, data=0x7fffffffdf00, ...) at libavcodec/h264dec.c:1024
1024        slice_header->pps = pps_list[slice_header->pps_id];
(gdb) bt
#0  0x0000000000401234 in h264_decode_frame (avctx=0x555555e8a400, data=0x7fffffffdf00, ...) at libavcodec/h264dec.c:1024
#1  0x0000000000505678 in decode_simple_internal (...) at libavcodec/decode.c:450
#2  0x0000000000402111 in main (argc=6, argv=0x7fffffffe108) at fftools/ffmpeg.c:1200
Regole d'oro per evitare che il ticket venga rifiutato
  1. Non tagliare MAI il log iniziale: Le righe che mostrano configuration: e la versione esatta delle librerie (libavcodec, libavformat, ecc.) sono fondamentali.

  2. Usa -f null - se isoli il problema: Se stai testando una decodifica, manda l'output a -f null - per escludere che il problema sia l'encoder o la scrittura sul disco.

  3. Usa ffmpeg_g per i crash: Se stai compilando dai sorgenti, esegui il debugger sul binario non strippato ffmpeg_g anziché sul normale ffmpeg, altrimenti il backtrace non mostrerà le linee di codice sorgente.

Trovato questo articolo interessante? Condividilo sulla tua rete di contatti Twitter, sulla tua bacheca su Facebook o semplicemente premi "+1" per suggerire questo risultato nelle ricerche in Google, Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie! CONDIVIDI SU!

stampa la pagina

Nessun commento:

Posta un commento

Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.

Ultimi post pubblicati

Recent Posts Widget

Archivio

Etichette

Ubuntulandia in Pinterest

Post Più Popolari