File: read_metadata.ml

package info (click to toggle)
ocaml-ffmpeg 1.2.8-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 924 kB
  • sloc: ansic: 6,448; ml: 6,294; makefile: 3
file content (27 lines) | stat: -rw-r--r-- 753 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
let () = Printexc.record_backtrace true

let () =
  assert (Array.length Sys.argv >= 2);

  Avutil.Log.set_level `Debug;
  Avutil.Log.set_callback print_string;

  let file = Sys.argv.(1) in
  let f = Av.open_input file in
  let md = Av.get_input_metadata f in
  List.iter (fun (l, v) -> Printf.printf "Format metadata: %s: %s\n" l v) md;
  List.iter
    (fun (i, s, _) ->
      List.iter
        (fun (l, v) -> Printf.printf "Audio stream %d metadata: %s: %s\n" i l v)
        (Av.get_metadata s))
    (Av.get_audio_streams f);
  List.iter
    (fun (i, s, _) ->
      List.iter
        (fun (l, v) -> Printf.printf "Video stream %d metadata: %s: %s\n" i l v)
        (Av.get_metadata s))
    (Av.get_video_streams f);
  Av.close f;

  Gc.full_major ()