2017-02-01 2 views
1

Ich habe ein Skript, das mehrere Stücke eines Videos von einem Ort und Bächen es als ein einzelnes Video in anderen (zu Kodi-Spieler) abruft.Set gefälschte Dauer auf h264 Video

Alles scheint bis auf eine Sache in Ordnung zu arbeiten, die mich stört, ist der Spieler nicht zu wissen scheint, wie lange das Video ist, damit die Gesamtdauer Schritte wie die Videospiele.

Ich kenne die Dauer des Videos aus einer XML-Datei, die eine Verknüpfung zu allen Chunks enthält, aber ich weiß nicht, wie man das in den Metadaten des ersten Chunks schreibt.

Der Video-Codec ist h264, aber ich bin nicht sicher, ob es in irgendeinem Behälter gewickelt ist, wie mp4. Hier

ist die ffmpeg -i Ausgang für den ersten Brocken:

ffmpeg version 3.1.5 Copyright (c) 2000-2016 the FFmpeg developers 
    built with Apple LLVM version 8.0.0 (clang-800.0.38) 
    configuration: --prefix=/usr/local/Cellar/ffmpeg/3.1.5 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --disable-lzma --enable-vda 
    libavutil  55. 28.100/55. 28.100 
    libavcodec  57. 48.101/57. 48.101 
    libavformat 57. 41.100/57. 41.100 
    libavdevice 57. 0.101/57. 0.101 
    libavfilter  6. 47.100/6. 47.100 
    libavresample 3. 0. 0/3. 0. 0 
    libswscale  4. 1.100/4. 1.100 
    libswresample 2. 1.100/2. 1.100 
    libpostproc 54. 0.100/54. 0.100 
[mpegts @ 0x7fc3c6000000] start time for stream 0 is not set in estimate_timings_from_pts 
Input #0, mpegts, from '/Users/ibra/Desktop/daTgXic4JOI.ts': 
    Duration: 00:00:17.56, start: 0.000000, bitrate: 1220 kb/s 
    Program 1 
    Stream #0:0[0x102]: Data: timed_id3 (ID3/0x20334449) 
    Stream #0:1[0x100]: Video: h264 (Main) ([27][0][0][0]/0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc 
    Stream #0:2[0x101]: Audio: aac (LC) ([15][0][0][0]/0x000F), 44100 Hz, stereo, fltp, 150 kb/s 

Und hier ist eine unordentliche Screenshot der Datei in einem Hex-Editor geöffnet: https://www.evernote.com/l/AWlILw5PcmVEl4fSFitOfS2M8Wzy1WTVSZc

Irgendwelche Vorschläge, wie das Video einfügen Dauer in den Metadaten des ersten Chunks?

kann ich nicht laden Sie die alle Stücke und dann Concat in einer einzigen Datei, da dies zu viel Zeit in Anspruch nehmen und das Streaming muss sofort sein.

Antwort

3

Das Containerformat ist mpegts. Es gibt keinen Standard Weg, um eine Dauer in mpegts (oder h.264 für diese Angelegenheit) zu kodieren. Was auch immer du tust, wird proprietär sein. Sie könnten es in die ID3-Metadaten schreiben, aber dann müsste Kodi geändert werden, um damit umzugehen.

+0

Wie unglücklich. Vielen Dank für Ihre Antwort. – Ibrahim