Mit ffmpeg zu ändern versuchen, einen container von Mpeg-TS in MP4, fps wurde zweimal von Mpeg-TS
Bekam ich eine Mpeg-TS-Datei von einem capture-board, um ein DEMO-video clip.
Hier finden Sie Informationen von der Datei von ffmpeg;
Stream #0:0[0x51]: Video: h264 (High) ([27][0][0][0] /0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x61]: Audio: mp2 ([3][0][0][0] /0x0003), 48000 Hz, stereo, s16p, 224 kb/s
Kann ich jedoch nicht Bearbeiten, es in FCP X, also habe ich versucht zu ändern, nur seine container TS zu MP4 mit ffmpeg unter den unten angegebenen Befehl.
ffmpeg -i input.ts -vcodec copy -acodec copy output.mp4
Nachdem es zu tun, fps-Ausgabe.mp4 wurde 59,94 fps und Informationen ist wie unten;
Stream #0:0(und): Video: h264 (High) (avc1 /0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 1750 kb/s, 59.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0:1(und): Audio: mp2 (mp4a /0x6134706D), 48000 Hz, stereo, s16p, 224 kb/s
Fps ist nicht dasselbe.
Gibt es einen Weg, um gleichen fps wie mit TS, kopieren Sie einfach die option zum ändern an einem container?
Frage ich mich, ob nur re-encoding-Lösung oder nicht.
/////
Vollständige Protokolle;
$ ffmpeg -i input.ts -vcodec copy -acodec copy output.mp4
ffmpeg version 1.1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Feb 6 2013 10:45:57 with Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libspeex --enable-libfreetype --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
libavutil 52. 13.100 /52. 13.100
libavcodec 54. 86.100 /54. 86.100
libavformat 54. 59.106 /54. 59.106
libavdevice 54. 3.102 /54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 /52. 2.100
[mpegts @ 0x7f8a2b033000] max_analyze_duration 5000000 reached at 5003333
Input #0, mpegts, from 'input.ts':
Duration: 00:05:01.27, start: 0.224400, bitrate: 2727 kb/s
Program 1
Stream #0:0[0x51]: Video: h264 (High) ([27][0][0][0] /0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x61]: Audio: mp2 ([3][0][0][0] /0x0003), 48000 Hz, stereo, s16p, 224 kb/s
Output #0, mp4, to 'output.mp4':
Metadata:
encoder : Lavf54.59.106
Stream #0:0: Video: h264 ([33][0][0][0] /0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 90k tbn, 90k tbc
Stream #0:1: Audio: mp2 (i[0][0][0] /0x0069), 48000 Hz, stereo, 224 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0x7f8a2b058200] pts has no value
frame=13472 fps=0.0 q=-1.0 size= 54536kB time=00:03:44.80 bitrate=1987.3kbits/frame=18056 fps=0.0 q=-1.0 Lsize= 73024kB time=00:05:01.28 bitrate=1985.5kbits/s
video:64370kB audio:8212kB subtitle:0 global headers:0kB muxing overhead 0.608498%
- Bitte auch die komplette ffmpeg die Ausgabe in der Konsole.
- Ich fügte hinzu, die vollständige Protokolle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden kann, müssen Sie ffmbc zu umbrechen, das video in eine MP4. ffmpeg nicht mux interlaced-H264-streams wie erwartet - es Orte, die jedes Feld in eine dfferent access unit. Sehen Sie diese Frage und meine Antwort an Video-Produktion.
Ihre Eingabe video in 30 fps interlaced-video, das gleich 60 FELD pro Sekunde
ffmpeg erzeugt eine 60 fps progressives video ändert sich jedes Feld in einem eigenen Rahmen
einige de-interlace-flags kann, bleibt die Framerate erhalten
können Sie versuchen, explizite switch-Werte für die fps und die Bandbreite...
-r 29.97
-vcodec libx264
-b:v 500k
-bt 220k
und dann sehen, ob das oder etwas wie es verrechnet wird die frame-rate verdoppelt Problem.