VideoHelp Forum
+ Reply to Thread
Results 1 to 17 of 17
Thread
  1. Hello to everybody, I am a total newbie in here and before writing this post I went through the "search" button without finding a solution. I found some similar requests but very old.


    I have to watermark one single frame (eg. frame # 10.000) in a .mkv file and I don’t want to re-encode the full movie just for this.
    I've also tried hardbunring a subtitle 0,0250" long but anything I used will re-encode the full movie.

    VirtualDubMod and VirtualDub had the very handy function "direct stream copy" and I would like to use it for the rest of the movie.
    Is this possible? Is there any smarter solution? I am willing to try just about anything because I must do this on a very big amount of files.

    Thank you very much for all and any help!



    PS
    If there is no other solution, how can I extract one single frame, modify it and reinsert it in the movie?
    Quote Quote  
  2. Member
    Join Date
    Aug 2010
    Location
    San Francisco, California
    Search PM
    What is the video stream codec?
    Quote Quote  
  3. Thank you for replying!
    I can still decide it because the job will start with the New Year. Up to now this is the sort of movies I work with:


    [ Info sul file ]

    Data: 27/10/2016 19:52:51
    Dimensione: 1,783,948,001 bytes (1701.305 MB)

    [ Info generiche ]

    Durata: 01:33:00 (5580.16 s)
    Tipo di contenitore: matroska
    Streams totali: 3
    Tipo stream n. 1: video (V_MPEG4/ISO/AVC)
    Tipo stream n. 2: audio (A_AC3) {Italiano}
    Tipo stream n. 3: audio (A_AC3) {English}
    Audio streams: 2
    Muxing Application: Lavf55.12.0
    Writing Application: HandBrake 0.10.5 2016021100

    [ Dati rilevanti ]

    Risoluzione: 720 x 432
    Larghezza: multipla di 16
    Altezza: multipla di 16
    DRF medio: 22.408997
    Deviazione standard: 3.919793
    Media pesata dev. std.: 3.164682

    [ Traccia video ]

    Codec ID: V_MPEG4/ISO/AVC
    Risoluzione: 720 x 432
    Frame aspect ratio: 5:3 = 1.666666
    Pixel aspect ratio: 1:1 = 1
    Display aspect ratio: 5:3 = 1.666666
    Framerate: 25 fps
    Stream size: 1,512,590,332 bytes
    Durata: 01:33:00 (5580.08 s)
    Bitrate: 2168.557199 kbps
    Qf: 0.278878

    [ Traccia audio n. 1 ]

    Codec ID: A_AC3
    Canali (contenitore): 2
    Frequenza: 48000 Hz
    Stream size: 133,921,536 bytes
    Bitrate (contenitore): 191.996696 kbps
    AC-3 frames: 174377
    Durata: 01:33:00 (5580.064 s)
    Bitrate (bitstream): 192 kbps CBR
    Mode: stereo

    [ Traccia audio n. 2 ]

    Codec ID: A_AC3
    Canali (contenitore): 2
    Frequenza: 48000 Hz
    Stream size: 133,920,768 bytes
    Bitrate (contenitore): 191.995595 kbps
    AC-3 frames: 174376
    Durata: 01:33:00 (5580.032 s)
    Bitrate (bitstream): 192 kbps CBR
    Mode: stereo

    [ Info sulla codifica H.264 ]

    User data: x264
    User data: core 142 r2479 dd79a61
    User data: H.264/MPEG-4 AVC codec
    User data: Copyleft 2003-2014
    User data: http://www.videolan.org/x264.html
    User data: cabac=1
    User data: ref=1
    User data: deblock=1:-1:-1
    User data: analyse=0x3:0x113
    User data: me=hex
    User data: subme=2
    User data: psy=1
    User data: psy_rd=1.00:0.15
    User data: mixed_ref=0
    User data: me_range=16
    User data: chroma_me=1
    User data: trellis=0
    User data: 8x8dct=1
    User data: cqm=0
    User data: deadzone=21,11
    User data: fast_pskip=1
    User data: chroma_qp_offset=0
    User data: threads=6
    User data: lookahead_threads=2
    User data: sliced_threads=0
    User data: nr=0
    User data: decimate=1
    User data: interlaced=0
    User data: bluray_compat=0
    User data: constrained_intra=0
    User data: bframes=3
    User data: b_pyramid=2
    User data: b_adapt=1
    User data: b_bias=0
    User data: direct=1
    User data: weightb=1
    User data: open_gop=0
    User data: weightp=1
    User data: keyint=250
    User data: keyint_min=25
    User data: scenecut=40
    User data: intra_refresh=0
    User data: rc_lookahead=10
    User data: rc=crf
    User data: mbtree=1
    User data: crf=18.0
    User data: qcomp=0.60
    User data: qpmin=0
    User data: qpmax=69
    User data: qpstep=4
    User data: vbv_maxrate=62500
    User data: vbv_bufsize=78125
    User data: crf_max=0.0
    User data: nal_hrd=none
    User data: filler=0
    User data: ip_ratio=1.40
    User data: aq=1:1.00
    SPS id: 0
    Profile: High@L4.1
    Num ref frames: 4
    Chroma format idc: YUV 4:2:0
    PPS id: 0 (SPS: 0)
    Codifica entropica: CABAC
    Weighted prediction: P slices - explicit weighted prediction
    Weighted bipred idc: B slices - implicit weighted prediction
    8x8dct: Sì
    Frames totali: 139502
    Drop/delay frames: 0
    Frames corrotti: 0

    P-slices: 69439 ( 49.776 %) ############
    B-slices: 68377 ( 49.015 %) ############
    I-slices: 1686 ( 1.209 %)
    SP-slices: 0 ( 0.000 %)
    SI-slices: 0 ( 0.000 %)

    [ Analisi DRF ]

    DRF medio: 22.408997
    Deviazione standard: 3.919793
    DRF max: 30

    DRF<5: 0 ( 0.000 %)
    DRF=5: 1 ( 0.001 %)
    DRF=6: 0 ( 0.000 %)
    DRF=7: 1 ( 0.001 %)
    DRF=8: 4 ( 0.003 %)
    DRF=9: 4 ( 0.003 %)
    DRF=10: 12 ( 0.009 %)
    DRF=11: 111 ( 0.080 %)
    DRF=12: 358 ( 0.257 %)
    DRF=13: 1010 ( 0.724 %)
    DRF=14: 2325 ( 1.667 %)
    DRF=15: 3988 ( 2.859 %) #
    DRF=16: 4841 ( 3.470 %) #
    DRF=17: 4858 ( 3.482 %) #
    DRF=18: 6092 ( 4.367 %) #
    DRF=19: 7069 ( 5.067 %) #
    DRF=20: 10322 ( 7.399 %) ##
    DRF=21: 21539 ( 15.440 %) ####
    DRF=22: 10013 ( 7.178 %) ##
    DRF=23: 7428 ( 5.325 %) #
    DRF=24: 7657 ( 5.489 %) #
    DRF=25: 10024 ( 7.186 %) ##
    DRF=26: 13123 ( 9.407 %) ##
    DRF=27: 20073 ( 14.389 %) ####
    DRF=28: 7441 ( 5.334 %) #
    DRF=29: 1140 ( 0.817 %)
    DRF=30: 68 ( 0.049 %)
    DRF>30: 0 ( 0.000 %)

    P-slices DRF medio: 20.225075
    P-slices deviazione std.: 3.110574
    P-slices DRF max: 30

    B-slices DRF medio: 24.747356
    B-slices deviazione std.: 3.231878
    B-slices DRF max: 30

    I-slices DRF medio: 17.521352
    I-slices deviazione std.: 2.667933
    I-slices DRF max: 26

    [ Profile compliancy ]

    Profilo da testare: MTK PAL 6000
    Risoluzione: Ok
    Framerate: Ok
    Min buffer fill: 58%

    [ Capitoli ]

    Chapter 1: 00:00:00,000 - 00:06:27,960
    Chapter 2: 00:06:28,040 - 00:10:21,240
    Chapter 3: 00:10:21,320 - 00:19:34,200
    Chapter 4: 00:19:34,280 - 00:25:50,040
    Chapter 5: 00:25:50,120 - 00:31:48,120
    Chapter 6: 00:31:48,200 - 00:35:51,000
    Chapter 7: 00:35:51,080 - 00:42:20,280
    Chapter 8: 00:42:20,360 - 00:48:54,360
    Chapter 9: 00:48:54,440 - 00:54:41,880
    Chapter 10: 00:54:41,960 - 01:00:16,440
    Chapter 11: 01:00:16,520 - 01:04:56,280
    Chapter 12: 01:04:56,360 - 01:09:00,120
    Chapter 13: 01:09:00,200 - 01:13:56,280
    Chapter 14: 01:13:56,360 - 01:20:27,960
    Chapter 15: 01:20:28,040 - 01:26:12,120
    Chapter 16: 01:26:12,200 - 01:33:00,080

    Rapporto generato da AVInaptic (18-11-2007) in data 27 ott 2016, h 20:22:09
    Quote Quote  
  4. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    One thing you need to determine.

    Does this 'job' allow for a simple subtitle or a more specific/bespoke watermark which is a graphic and associated with a company that seems wants to protect it's content by this method.

    If a simple subtitle will do, there does exist methods to merge a subtitle track in to a mkv container WITHOUT reencoding the video. It is separate to the video stream. Do the right Google and you will find references to the method. Of course any subtitle must be the total length of the video else, I suspect, that re-encoding will take place regardless - you simply create a blank subtitle for those parts of the total video you do not want them to appear.

    For a bespoke graphic, you might have to rip the video and audio streams from the mkv and use a nle that supports direct stream copy unless there is a change to the video. IIRC Vegas does this. Then having saved the underlying stream you then remerge them in to a mkv container.

    There is no 5 second answer for a bespoke graphic.
    Quote Quote  
  5. Thank you! I was afraid of this but I was hoping there might have been some improvement that since 2012.

    Alas a subtitle is not what I need, I must fiscally mark the video for my company at least on one frame. That is why I was looking for a direct stream copy of the rest of the video. Luckily I don't need to change the audio encoding, since there is no change in the length of the movie but only a “spot” on an existing frame.
    What I was thinking was to decompress the single frame, modify it, recompress it with the same rate(?) and put it back in its place.
    I will study (yes, I am of the old generation and must study. Any easy hints?) this IIRC Vegas and see what it can do for me. Also I see I might better discover what this "nle" thing is.

    Hoping that the great solution comes through, thank you again!
    Quote Quote  
  6. Member
    Join Date
    Aug 2010
    Location
    San Francisco, California
    Search PM
    You can automate this with FFmpeg in a batch file, but it will be much, much easier if you use a pure intraframe codec. The problem is that you can't replace just one frame without re-encoding when you are using an interframe codec like MPEG.
    Quote Quote  
  7. You usually cannot decompress a single frame, modify it, and recompress it. High compression codecs don't encode each frame as a separate entity. The vast majority of frames only contain information about what's different than frames before and/or after it. You will have to decompress and recompress the entire GOP that contains the frame you want to change. GOPs typically range from a dozen frames to hundreds of frames.

    There are only a few editors able to "smart edit" AVC video like you want. And they are usually just cut/paste editors without advanced features. VideoRedo, for example. But there are several editors that will let you split videos on keyframes (the first frame of a GOP) with no reencoding. So you could split your video with the first GOP in one file, and the rest of the video in another file; decompress, add your watermark, and recompress the first GOP; then append the rest of the video with the new first GOP. The hard part is getting the new first GOP encoded with parameters that allow the appending tools to join it with the rest of the video. You can try this with a tool like AviDemux (which handles more than just AVI files).
    Quote Quote  
  8. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    ^^ Indeed.

    The request for one frame is probably out of ignorance by the owner of the video. Not the OP. Just out the logo on one frame which will not be noticed by the end-user but we know where it is.
    Quote Quote  
  9. Member
    Join Date
    Aug 2010
    Location
    San Francisco, California
    Search PM
    It can be done in automated fashion with ffprobe and ffmpeg:

    1. Pull a list of keyframes.
    2. Find the keyframes which bracket the target frame.
    3. Stream the first part of video to File 1.
    4. Render the GOP with watermark to File 2.
    5. Stream the rest of the video to File 3.
    6. Put them together with the concat demuxer and add the audio back in.

    I leave the details as an exercise.
    Quote Quote  
  10. Hey, all of this sounds really interesting!
    Of course I can choose which frame to use, so the keyframe sounds perfect. I will try FFmpeg tomorrow (it's midnight here) and see how it works. The fact of creating a batch file makes it even better. I have no idea of how to do it but I will not bother you until I tried.
    I will keep you informed, even because various other users asked something like this before (long ago).

    Thank you to all!



    By the way, @DB83 is probably right: when I thought about a single frame I was still thinking in terms of celluloid film. My bad, this shows my age a lot.
    Quote Quote  
  11. Ok, I am really depressed but, after a full week working on FFmpeg, all I managed to do is crop a movie (mkv, at least) in to various parts. By the way, only one audio track was outputted but I am sure I will find how to solve this. I hope.

    For searching the keyframes I downloaded GSpot, MediaInfo and Avinaptic but I must be doing something wrong. Most likely I am just too old to manage all these codes without a manual for dummies.

    Can you please expand “the details as an exercise” so that even a poor dumb newbie as me can try to do it?
    Pretty Please?
    Quote Quote  
  12. Member
    Join Date
    Jan 2007
    Location
    United States
    Search Comp PM
    If I was going to attempt this
    I would render the video to a lossless format
    Use an editor for that format
    Extract the frame, watermark, insert
    Then re encoded the video to output format

    I have never tried this so I can't be more specific, but that is the way I would try
    Last edited by theewizard; 16th Nov 2016 at 13:25.
    Quote Quote  
  13. Alas I can't change the format of the videos. Reediting just a small portion of it and then append it back in the file is as much as I am allowed to do.

    I thought I had found a solution with the code “drawbox”, eventually working on multiple single pixel dots to recreate the logo. Quite awkward, I must admit, but it shows how much I am desperate.

    I also tried to hardcode, using
    ffmpeg -i input.ts -filter_complex \ '[#0x2ef] setpts=PTS+1/TB [sub] ; [#0x2d0] [sub] overlay' \ -sn -map '#0x2dc' output.mkv”
    but either I did not understand a word of the 5.11 Advanced options descriptions in the ffmpeg documentation or I am just writing it wrong.
    I tried this because I can convert my logo as a subtitle, creating a font with it.



    I am quite sure I am doing everything wrong. -_-
    Last edited by ranmafan; 16th Nov 2016 at 14:16.
    Quote Quote  
  14. Member
    Join Date
    Jan 2007
    Location
    United States
    Search Comp PM
    you would NOT change the final format
    the final file, would be the same as the file you have now

    going to a a large lossless uncompressed file for editing , is a normal procedure

    once you edit and create the water marked frame, you output AKA create/encode a file in exactly the same format as the current one

    with a compressed codec source file you cannot edit one specific random frame, only a key frame, and its still a royal pain, because the frames that follow in the GOP (group of pictures) are based on the key frame, they store only changes from the keyframe, and a complete frame picture

    others have been explaining this to you and they have more experience
    Last edited by theewizard; 16th Nov 2016 at 16:43.
    Quote Quote  
  15. Dear theewizard, thank you. I know I am showing all my limits (I must read various times each comment before I start to understand) and I do appreciate your efforts. Please excuse me if I am not very quick in learning something completely new for me. I got stuck, as usual, at the key frame and group of frames and passed the full day studying on the net to solve the problem.
    I must find an easy solution because I will have to do it on many thousand movies in the next few month. I can’t afford spending 40 minutes reenconding every movie (easy way) or it will take me years (and make me lose the job ç_ç). That is why I am looking so hard for a solution that allows me to encode only very small portions separately.


    In the meantime, think I am going places! Ok, maybe not the right places, but places.
    I realized (I am sure I am not the first one) that splitting a clip, at any point of the movie, makes a second portion that works perfectly. I assume that, during the splitting, full information about the first and the last frame is transferred. This might mean that the search of a key frame is not mandatory.

    I splitted my test movie into 6 chunks 10" long with this code
    ffmpeg -i 00a.mkv -acodec copy -f segment -segment_time 10 -vcodec copy -reset_timestamps 1 -map 0 00a%d.mkv
    where 00a.mkv is the original film and 00a0-00a1-00a2 ecc, will be the new segments.

    I then added my watermark on the second chunk with this
    ffmpeg -i 00a1.mkv -i Water.png -filter_complex overlay=(W-w)/2: (H-h)/2 -codec:a copy 00a1b.mkv *
    where 00a1.mkv is the second chunk just created and Water.png is the watermark.
    When the whole procedure will be well tested, I want to reduce the length of the short segments to 1 second or less. The best result would 0,02’, the length of a frame or a little bit more. In this way, the encoding part will be as fast as possible.

    I then just joined the various parts, without reencoding, with
    ffmpeg -f concat -i mylist.txt -c copy Joined.mkv
    where mylist.txt has the list of all the segments to be joined and Joined.mkv is the output.
    All the process (excepting for the fact that writing in cmd is very annoying and I make a lot of mistakes, but I am sure there must be a way to do all of this in batch with a command line somewhere) took only few seconds!


    Alas here is the problem: the segment 00a1.mkv, with the watermark, is encoded in a different way from the others! There must be something definitely wrong in the second step. I understand that I must find, just as theewizard wrote, the exact encoding of the first segment (which is the one of the original movie) and “inform” ffmpeg to make the output with the same characteristics.
    …but I don’t know how.

    Any suggestions? If this simple solution works, many newbies like me, and maybe some advanced user to, will be very happy.


    By the way: I must admit that the splitting part worked much better with Mkvtoolnix. With ffmpeg, two out of six files have a corruption in the sound (maybe in video as well but it’s too fast), where mmg.exe had no problems. Did I do something wrong even here?
    Also, mmg can split according to a timeline (e.g. 5 minutes for the first chunk, 10 seconds for the second, 15 minutes for the third, ecc.). I presume this might be possible with ffmpeg too but I did not find how.
    Thank you all for your help.



    *I added here a distance between 2: and ( because it gets changed in
    Last edited by ranmafan; 17th Nov 2016 at 10:46.
    Quote Quote  
  16. Well, I refined the watermarking part with -filter_complex
    ffmpeg -i 00a(1)-003.mkv -i Water.png -filter_complex "[0:v][1:v]overlay=01:01:enable=between(t\,5\,10)" -codec:a copy output.mkv

    But I still get an error when joining:
    Warning: The track number 1 from the file 'C:\ffmpeg\bin\00a(1)-003water.mkv' can probably not be appended correctly to the track number 1 from the file 'C:\ffmpeg\bin\00a(1)-002.mkv': The codec's private data does not match (lengths: 42 and 44). Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.

    Warning: The track number 1 from the file 'C:\ffmpeg\bin\00a(1)-004.mkv' can probably not be appended correctly to the track number 1 from the file 'C:\ffmpeg\bin\00a(1)-003water.mkv': The codec's private data does not match (lengths: 44 and 42). Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.
    This warning comes from mmg and it seems logical to suppose that the problem is that 44 is different from 42. Obviously 44 is NOT the “Answer to Life, Universe and Everything” so I must definitely correct it.
    But what does that “lengths” mean? And how can I "reduce it"?

    I feel I am very close to the solution and any help will be very much appreciated!
    Last edited by ranmafan; 18th Nov 2016 at 10:21.
    Quote Quote  
  17. Ok, I understand that the real problem is still codec.
    The difference between 42 and 44 is about the private codec so, maybe, the best thing to do is to show you the avinaptic of both files:

    Original File:
    [ Info sul file ]

    Nome: 00a(1)-003.mkv
    Data: 18/11/2016 15:40:11
    Dimensione: 3,936,092 bytes (3.754 MB)

    [ Info generiche ]

    Durata: 00:00:15 (15.187 s)
    Tipo di contenitore: matroska
    Data creazione: 18/11/2016 14:40:11 UTC
    Streams totali: 2
    Tipo stream n. 1: video (V_MPEG4/ISO/AVC)
    Tipo stream n. 2: audio (A_AC3) {Italian}
    Audio streams: 1
    Muxing Application: libebml v1.2.0 + libmatroska v1.1.0
    Writing Application: mkvmerge v4.8.0 ('I Got The...') built on May 24 2011 03:12:58

    [ Dati rilevanti ]

    Risoluzione: 720 x 544
    Larghezza: multipla di 16
    Altezza: multipla di 32
    DRF medio: 31.029023
    Deviazione standard: 2.281438
    Media pesata dev. std.: 1.934043

    [ Traccia video ]

    Codec ID: V_MPEG4/ISO/AVC
    Risoluzione: 720 x 544
    Frame aspect ratio: 45:34 = 1.323529 (~4:3)
    Pixel aspect ratio: 1:1 = 1
    Display aspect ratio: 45:34 = 1.323529 (~4:3)
    Framerate: 25 fps
    Stream size: 3,502,394 bytes
    Durata: 00:00:15 (15.16 s)
    Bitrate: 1848.229023 kbps
    Qf: 0.188748

    [ Traccia audio ]

    Codec ID: A_AC3
    Canali (contenitore): 2
    Frequenza: 48000 Hz
    Stream size: 424,704 bytes
    Bitrate (contenitore): 223.719760 kbps
    AC-3 frames: 474
    Durata: 00:00:15 (15.168 s)
    Bitrate (bitstream): 224 kbps CBR
    Mode: stereo

    [ Info sulla codifica H.264 ]

    SPS id: 0
    Profile: High@L4.1
    Num ref frames: 4
    Chroma format idc: YUV 4:2:0
    PPS id: 0 (SPS: 0)
    Codifica entropica: CABAC
    Weighted prediction: P slices - explicit weighted prediction
    Weighted bipred idc: B slices - implicit weighted prediction
    8x8dct: Sì
    Frames totali: 379
    Drop/delay frames: 0
    Frames corrotti: 0

    P-slices: 192 ( 50.660 %) #############
    B-slices: 185 ( 48.813 %) ############
    I-slices: 2 ( 0.528 %)
    SP-slices: 0 ( 0.000 %)
    SI-slices: 0 ( 0.000 %)

    [ Analisi DRF ]

    DRF medio: 31.029023
    Deviazione standard: 2.281438
    DRF max: 35

    DRF<25: 0 ( 0.000 %)
    DRF=25: 2 ( 0.528 %)
    DRF=26: 12 ( 3.166 %) #
    DRF=27: 21 ( 5.541 %) #
    DRF=28: 16 ( 4.222 %) #
    DRF=29: 52 ( 13.720 %) ###
    DRF=30: 50 ( 13.193 %) ###
    DRF=31: 27 ( 7.124 %) ##
    DRF=32: 91 ( 24.011 %) ######
    DRF=33: 61 ( 16.095 %) ####
    DRF=34: 32 ( 8.443 %) ##
    DRF=35: 15 ( 3.958 %) #
    DRF>35: 0 ( 0.000 %)

    P-slices DRF medio: 29.916666
    P-slices deviazione std.: 1.792151
    P-slices DRF max: 35

    B-slices DRF medio: 32.232432
    B-slices deviazione std.: 2.085996
    B-slices DRF max: 35

    I-slices DRF medio: 26.5
    I-slices deviazione std.: 1.5
    I-slices DRF max: 28

    [ Profile compliancy ]

    Profilo da testare: MTK PAL 6000
    Risoluzione: Ok
    Framerate: Ok
    Min buffer fill: 73%

    Rapporto generato da AVInaptic (18-11-2007) in data 18 nov 2016, h 16:53:29

    Modified file:
    [ Info sul file ]

    Nome: 00a(1)-003water.mkv
    Data: 18/11/2016 16:03:23
    Dimensione: 4,256,975 bytes (4.06 MB)

    [ Info generiche ]

    Durata: 00:00:15 (15.187 s)
    Tipo di contenitore: matroska
    Streams totali: 2
    Tipo stream n. 1: video (V_MPEG4/ISO/AVC)
    Tipo stream n. 2: audio (A_AC3) {Italian}
    Audio streams: 1
    Muxing Application: Lavf57.57.100
    Writing Application: Lavf57.57.100

    [ Dati rilevanti ]

    Risoluzione: 720 x 544
    Larghezza: multipla di 16
    Altezza: multipla di 32
    DRF medio: 27.459102
    Deviazione standard: 3.942902
    Media pesata dev. std.: 2.838903

    [ Traccia video ]

    Codec ID: V_MPEG4/ISO/AVC
    Risoluzione: 720 x 544
    Frame aspect ratio: 45:34 = 1.323529 (~4:3)
    Pixel aspect ratio: 1:1 = 1
    Display aspect ratio: 45:34 = 1.323529 (~4:3)
    Framerate: 25 fps
    Stream size: 3,825,207 bytes
    Durata: 00:00:15 (15.16 s)
    Bitrate: 2018.578891 kbps
    Qf: 0.206145

    [ Traccia audio ]

    Codec ID: A_AC3
    Canali (contenitore): 2
    Frequenza: 48000 Hz
    Stream size: 424,704 bytes
    Bitrate (contenitore): 223.719760 kbps
    AC-3 frames: 474
    Durata: 00:00:15 (15.168 s)
    Bitrate (bitstream): 224 kbps CBR
    Mode: stereo

    [ Info sulla codifica H.264 ]

    User data: x264
    User data: core 148 r2721 72d53ab
    User data: H.264/MPEG-4 AVC codec
    User data: Copyleft 2003-2016
    User data: http://www.videolan.org/x264.html
    User data: cabac=1
    User data: ref=3
    User data: deblock=1:0:0
    User data: analyse=0x3:0x113
    User data: me=hex
    User data: subme=7
    User data: psy=1
    User data: psy_rd=1.00:0.00
    User data: mixed_ref=1
    User data: me_range=16
    User data: chroma_me=1
    User data: trellis=1
    User data: 8x8dct=1
    User data: cqm=0
    User data: deadzone=21,11
    User data: fast_pskip=1
    User data: chroma_qp_offset=-2
    User data: threads=6
    User data: lookahead_threads=1
    User data: sliced_threads=0
    User data: nr=0
    User data: decimate=1
    User data: interlaced=0
    User data: bluray_compat=0
    User data: constrained_intra=0
    User data: bframes=3
    User data: b_pyramid=2
    User data: b_adapt=1
    User data: b_bias=0
    User data: direct=1
    User data: weightb=1
    User data: open_gop=0
    User data: weightp=2
    User data: keyint=250
    User data: keyint_min=25
    User data: scenecut=40
    User data: intra_refresh=0
    User data: rc_lookahead=40
    User data: rc=crf
    User data: mbtree=1
    User data: crf=23.0
    User data: qcomp=0.60
    User data: qpmin=0
    User data: qpmax=69
    User data: qpstep=4
    User data: ip_ratio=1.40
    User data: aq=1:1.00
    SPS id: 0
    Profile: High@L3
    Num ref frames: 4
    Aspect ratio: Square pixels
    Chroma format idc: YUV 4:2:0
    PPS id: 0 (SPS: 0)
    Codifica entropica: CABAC
    Weighted prediction: P slices - explicit weighted prediction
    Weighted bipred idc: B slices - implicit weighted prediction
    8x8dct: Sì
    Frames totali: 379
    Drop/delay frames: 0
    Frames corrotti: 0

    P-slices: 140 ( 36.939 %) #########
    B-slices: 237 ( 62.533 %) ################
    I-slices: 2 ( 0.528 %)
    SP-slices: 0 ( 0.000 %)
    SI-slices: 0 ( 0.000 %)

    [ Analisi DRF ]

    DRF medio: 27.459102
    Deviazione standard: 3.942902
    DRF max: 33

    DRF<17: 0 ( 0.000 %)
    DRF=17: 1 ( 0.264 %)
    DRF=18: 0 ( 0.000 %)
    DRF=19: 9 ( 2.375 %) #
    DRF=20: 17 ( 4.485 %) #
    DRF=21: 17 ( 4.485 %) #
    DRF=22: 25 ( 6.596 %) ##
    DRF=23: 12 ( 3.166 %) #
    DRF=24: 17 ( 4.485 %) #
    DRF=25: 13 ( 3.430 %) #
    DRF=26: 12 ( 3.166 %) #
    DRF=27: 28 ( 7.388 %) ##
    DRF=28: 14 ( 3.694 %) #
    DRF=29: 69 ( 18.206 %) #####
    DRF=30: 56 ( 14.776 %) ####
    DRF=31: 42 ( 11.082 %) ###
    DRF=32: 31 ( 8.179 %) ##
    DRF=33: 16 ( 4.222 %) #
    DRF>33: 0 ( 0.000 %)

    P-slices DRF medio: 24.114285
    P-slices deviazione std.: 3.617587
    P-slices DRF max: 33

    B-slices DRF medio: 29.506329
    B-slices deviazione std.: 2.386000
    B-slices DRF max: 33

    I-slices DRF medio: 19
    I-slices deviazione std.: 2
    I-slices DRF max: 21

    [ Profile compliancy ]

    Profilo da testare: MTK PAL 6000
    Risoluzione: Ok
    Framerate: Ok
    Min buffer fill: 73%

    Rapporto generato da AVInaptic (18-11-2007) in data 18 nov 2016, h 16:50:45
    The biggest difference, to my inexpert eyes, is this:
    Original file = Profile: High@L4.1
    Modified file = Profile: High@L3

    How can “convince” ffmpeg to output with this (or other) profile?



    ----------------------------------------------------------------------

    EDIT:
    I tried modifying the profile like this:
    ffmpeg -i 00a(1)-003.mkv -i Water.png -filter_complex "[0:v][1:v]overlay=01:01:enable=between(t\,5\,10)" -vprofile high -level 41 -codec:a copy output.mkv
    and the avinaptic confirms that the new profile is Profile: High@L4.1

    [ Info sul file ]

    Nome: 00a(1)-003water-NEW.mkv
    Data: 18/11/2016 17:10:19
    Dimensione: 4,256,975 bytes (4.06 MB)

    [ Info generiche ]

    Durata: 00:00:15 (15.187 s)
    Tipo di contenitore: matroska
    Streams totali: 2
    Tipo stream n. 1: video (V_MPEG4/ISO/AVC)
    Tipo stream n. 2: audio (A_AC3) {Italian}
    Audio streams: 1
    Muxing Application: Lavf57.57.100
    Writing Application: Lavf57.57.100

    [ Dati rilevanti ]

    Risoluzione: 720 x 544
    Larghezza: multipla di 16
    Altezza: multipla di 32

    [ Traccia video ]

    Codec ID: V_MPEG4/ISO/AVC
    Risoluzione: 720 x 544
    Frame aspect ratio: 45:34 = 1.323529 (~4:3)
    Pixel aspect ratio: 1:1 = 1
    Display aspect ratio: 45:34 = 1.323529 (~4:3)
    Framerate: 25 fps

    [ Traccia audio ]

    Codec ID: A_AC3
    Canali (contenitore): 2
    Frequenza: 48000 Hz
    Mode: stereo

    [ Info sulla codifica H.264 ]

    User data: x264
    User data: core 148 r2721 72d53ab
    User data: H.264/MPEG-4 AVC codec
    User data: Copyleft 2003-2016
    User data: http://www.videolan.org/x264.html
    User data: cabac=1
    User data: ref=3
    User data: deblock=1:0:0
    User data: analyse=0x3:0x113
    User data: me=hex
    User data: subme=7
    User data: psy=1
    User data: psy_rd=1.00:0.00
    User data: mixed_ref=1
    User data: me_range=16
    User data: chroma_me=1
    User data: trellis=1
    User data: 8x8dct=1
    User data: cqm=0
    User data: deadzone=21,11
    User data: fast_pskip=1
    User data: chroma_qp_offset=-2
    User data: threads=6
    User data: lookahead_threads=1
    User data: sliced_threads=0
    User data: nr=0
    User data: decimate=1
    User data: interlaced=0
    User data: bluray_compat=0
    User data: constrained_intra=0
    User data: bframes=3
    User data: b_pyramid=2
    User data: b_adapt=1
    User data: b_bias=0
    User data: direct=1
    User data: weightb=1
    User data: open_gop=0
    User data: weightp=2
    User data: keyint=250
    User data: keyint_min=25
    User data: scenecut=40
    User data: intra_refresh=0
    User data: rc_lookahead=40
    User data: rc=crf
    User data: mbtree=1
    User data: crf=23.0
    User data: qcomp=0.60
    User data: qpmin=0
    User data: qpmax=69
    User data: qpstep=4
    User data: ip_ratio=1.40
    User data: aq=1:1.00
    SPS id: 0
    Profile: High@L4.1
    Num ref frames: 4
    Aspect ratio: Square pixels
    Chroma format idc: YUV 4:2:0
    PPS id: 0 (SPS: 0)
    Codifica entropica: CABAC
    Weighted prediction: P slices - explicit weighted prediction
    Weighted bipred idc: B slices - implicit weighted prediction
    8x8dct: Sì

    [ Profile compliancy ]

    Profilo da testare: MTK PAL 6000
    Risoluzione: Ok
    Framerate: Ok
    Avvertenza: Se vuoi un rapporto più completo e preciso clicca su "Analisi DRF"

    Rapporto generato da AVInaptic (18-11-2007) in data 18 nov 2016, h 17:12:54
    Still the 42/44 problem is there so it means something else. Please help me, I am going crazy.
    Last edited by ranmafan; 18th Nov 2016 at 10:23.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!