2016-04-05 6 views
0

Hier sind die Informationen von Originalvideo:Cropping Video mit FFmpeg erhöht die TBN-Wert zu viel

Metadata: 
    major_brand  : mp42 
    minor_version : 0 
    compatible_brands: isommp42 
    creation_time : 2016-04-05 03:00:09 
    Duration: 00:01:50.09, start: 0.000000, bitrate: 8131 kb/s 
    Stream #0:0(eng): Video: h264 (Baseline) (avc1/0x31637661), yuv420p(tv, bt470bg/bt470bg/smpte170m), 1920x1080, 7995 kb/s, SAR 1:1 DAR 16:9, 44.49 fps, 90k tbr, 90k tbn, 180k tbc (default) 

Dann habe ich dieses ffmpeg Befehl Ernte-Video:

ffmpeg -i file.mp4 -vf "crop=480:480:0:0" -b:v 2048k -preset ultrafast cropped.mp4 

Hier sind die Informationen von abgeschnittenes Video:

Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.28.101 
    Duration: 00:01:50.16, start: 0.023220, bitrate: 1078 kb/s 
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1/0x31637661), yuv420p, 1282x716 [SAR 1:1 DAR 641:358], 1002 kb/s, 44.49 fps, 44.49 tbr, 220455000.00 tbn, 88.98 tbc (default) 

Der Standard-Video-Player meines Telefons kann dies nicht wiedergeben Video. Wenn ich MX Player verwende, muss ich den Decoder zu Software-Decoder (anstelle von Hardware) ändern, um es zu öffnen.

Ich bemerkte, dass der tbn Wert nach Neucodierung erhöht wurde. Der alte Wert ist 90k. Der neue Wert ist 220455k. Vielleicht ist es der Grund, warum der Standard-Videoplayer nicht funktioniert.

Frage: Warum ist der tbn Wert so groß? Wie man es vermeidet?

Antwort

1

Sie können die tbn für einen MOV/MP4-Datei angeben, indem video_track_timescale mit:

ffmpeg -i file.mp4 -vf "crop=480:480:0:0" -b:v 2048k -preset ultrafast \ 
     -video_track_timescale 90000 cropped.mp4 

(Sie müssen unter Umständen auch -r 45 eine Framerate der Ausgabe ausdrücklich versuchen Einstellung)

+0

Vielen Dank! Perfekt! – TOP