2013-04-06 24 views
5

Gemäß dem ffmpeg-Handbuch, Einstellung -g ist der Abstand zwischen "I" -Frames und die Einstellung -bf für die Verwendung von "B" -Frames zu definieren. Ersteres habe ich, aber letzteres nicht.Einstellung von B-Frames in einem Video mit ffmpeg

Das Ziel: Ich versuche ein Video mit einer GOP 3,12 (M = 3, N = 12) zu haben. Das bedeutet: 2 "B" -Rahmen, die jeden "P" -Rahmen trennen, und "I" -Rahmen mit 12 Rahmen von Entfernung. Oder einfach: "IBBPBBPBBPBBI"

Ich glaube, ich habe nur die N = 12, die Befehle unter:

  1. ffmpeg -s cif -r 30 -b 64000 -bt 3200 -g 12 -y -i video.yuv -vcodec mpeg4 video.m4v
  2. MP4Box -hint -mtu 1460 -fps 30 -add video.m4v video.mp4
  3. ffmpeg -y -i video.mp4 video_ref.yuv
  4. ../cmd/psnr 352 288 420 video.yuv video_ref.yuv > psnr_ref.txt
  5. ../cmd/mp4trace -f -s 192.168.0.2 12346 video.mp4 > trace
  6. head -n 20 trace

Ergebnis:

[[email protected]]$ head -n 20 trace 
1 H 12002 9 0.000 
2 P 11479 8 0.034 
3 P 12021 9 0.066 
4 P 11239 8 0.099 
5 P 5407 4 0.134 
6 P 2735 2 0.166 
7 P 1014 1 0.199 
8 P 850 1 0.232 
9 P 619 1 0.265 
10 P 979 1 0.298 
11 P 813 1 0.331 
12 P 806 1 0.364 
13 H 5109 4 0.396 

* Hinweis, das wichtigste ist der Befehl -g 12 in ffmpeg, aber ich alle Befehle zu schreiben. Das Video, das ich benutze, ist der "Highway", von cif page videos: http://www2.tkn.tu-berlin.de/research/evalvid/cif.html

Ich weiß nicht, warum der Ergebnis-Trace "H" anstelle von "I" verwendet.

Ich versuchte -bf 2 in ffmpeg Befehl zu setzen, aber funktionierte nicht (ich glaube, weil ich keine "B" Hinweise im Ergebnis sah)

Liste item

ffmpeg -s cif -r 30 -b 64000 -bt 3200 -g 12 -bf 2 -y -i video.yuv -vcodec mpeg4 video.m4v 

Ergebnis:

[[email protected]]$ head -n 20 trace 
1 H 12002 9 0.001 
2 P 11479 8 0.034 
3 P 12021 9 0.067 
4 P 11239 8 0.100 
5 P 5407 4 0.132 
6 P 2735 2 0.166 
7 P 1014 1 0.199 
8 P 850 1 0.232 
9 P 619 1 0.265 
10 P 979 1 0.298 
11 P 813 1 0.331 
12 P 806 1 0.363 
13 H 5109 4 0.400 
+1

Option Platzierungssachen in ffmpeg. Sie sagen ffmpeg, Ihre Optionen auf den Eingang/Decoder anzuwenden. Die grundlegende Reihenfolge ist: 'ffmpeg [globale Optionen] [Eingabeoptionen] -i Eingabe [Ausgabeoptionen] Ausgabe' – LordNeckbeard

Antwort

2

Gelöst:

Wie LordNeckbeard sagte Option Placem en Angelegenheiten in ffmpeg.

Einleitend Ordnung ist: ffmpeg [global Optionen] [Eingabeoptionen] -i Eingabe [Ausgabeoptionen] Ausgang - gestern

ich unten auf den Befehl geändert (Putting -g 30 -BF 2) und es funktioniert :

ffmpeg es cif -r 30 -i video.yuv -vcodec mpeg4 -g 30 -BF 2 video.m4v

Hinweis: Auch nach dem ersten Änderung nicht gearbeitet hat. Das Programm hat mich gebeten, die Dateien zu überschreiben und ich sagte Ja. Aber anscheinend wurde nicht entfernt, in dem Moment, als ich alle Dateien entfernt habe und es wieder getan habe (von Null), hat es funktioniert.

nun das Ergebnis:

[robert @ 10-2Fontes] $ head -n 40 Spur

1 H 12038 9 0.034

2 P 13204 10 0,132

3 B 5367 4 0,132

4 B 5553 4 0,132

5 P 12157 9 0,232

6 B 5069 4 0,232

7 B 5613 4 0,232

8 P 12739 9 0,334

9 B 5935 5 0,334

10 B 3921 3 0,334

11 P 4474 4 0,429

12 B 1247 1 0,429

13 B 784 1 0,429

14 P 1448 1 0,528

15 B 350 1 0,528

16 B 397 1 0,528

17 P 1023 1 0,627

18 B 299 1 0,633

19 B 265 1 0,634

20 P 829 1 0,727

21 B 209 1 0,733

22 B 340 1 0,733

23 P 867 1 0,826

24 B 343 1 0,833

25 B 378 1 0,833

26 P 865 1 0,925

27 B 282 1 0,925

28 B 461 1 0,925

29 H 5083 4 1.034

30 B 818 1 1,034

31 B 838 1 1,034

32 P 1171 1 1,122

33 B 443 1 1,133

34 B 409 1 1,133

35 P 1078 1 1.221

36 B 269 1 1.233

37 B 327 1 1,233

38 P 795 1 1,321

39 B 298 1 1,333

40 B 304 1 1,334

41 P 854 1 1,419

42 B 477 1 1.419

43 B 412 1 1,419

44 P 869 1 1,519

45 B 371 1 1,519

46 B 314 1 1,519

47 P 983 1 1,617

48 B 337 1 1,617

49 B 454 1 1,617

50 P 1118 1 1,717

51 B 286 1 1,717

52 B 275 1 1,717

53 P 1044 1 1,815

54 B 362 1 1,815

55 B 273 1 1,815

56 P 973 1 1.914

57 B 302 1 1,914

58 B 324 1 1,915

59 H 4525 4 2,033

+0

Was ist der korrekte Wert für -bf, wenn ich nicht -g Parameter verwenden möchte ?! –