Answers.Body: <p>To concatenate multiple files for expected playback in common players, following properties need to match for</p>
  <p>video: codec, codec profile, codec level, resolution, reference count, pixel format, <a href="https://stackoverflow.com/questions/43333542/what-is-video-timescale-timebase-or-timestamp-in-ffmpeg/">timebase</a>/timescale.<br />
  audio: codec, codec profile, channel count &amp; layout, sample format and sampling rate.</p>
  <p>Advanced players can tolerate mid-stream changes in some of the above parameters.</p>
  <p>Mediainfo won't show you timescale, it's the <code>tbn</code> value as shown by ffmpeg for the stream. Framerates need not match nor be constant for any given constituent stream. GOP size or keyframe cadence need not match. Neither need bitrate value or mode (CRF, VBR..etc) match. <code>minrate</code> and <code>maxrate</code> clamp bitrate, not framerate.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-11-06T23:23:00.680Z
Answers.Text: Okay, ffmpeg shows `30 fps, 30 tbr, 90k tbn, 180k tbc` for the video produced by my phone. I used `-video_track_timescale 90k` option & the output video shows `29.89 fps, 30 tbr, 90k tbn, 60 tbc`. But concatenated video still not displaying correctly in VLC nor MPlayer. Everything else you outlined matches. Does `tbc` need to match as well?
Answers.UserDisplayName: AntumDeluge
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-11-06T23:42:56.890Z
Answers.Text: I updated my question to show the `ffprobe` output of the two videos.
Answers.UserDisplayName: AntumDeluge
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-11-07T00:04:52.817Z
Answers.Text: **New info:** After following your answer, concatenating with FFmpeg works. Thank you. However, if I use a different utility to mux, such as [Avidemux](http://fixounet.free.fr/avidemux/) or [MKVToolNix](https://www.fosshub.com/MKVToolNix.html), the concatenated video does not display correctly. Any idea of why this might be?
Answers.UserDisplayName: AntumDeluge
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-11-07T01:02:40.453Z
Answers.Text: [Created new question for this](https://video.stackexchange.com/questions/32607).
Answers.UserDisplayName: AntumDeluge
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-17T02:17:09.843Z
Answers.Text: Is codec level still true? I was able to use the `concat` demuxer to concat two videos that everything matched for except the codec level (and SAR/DAR).
Answers.UserDisplayName: Hashim Aziz
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-17T04:24:03.157Z
Answers.Text: Strictly speaking, to avoid failing with hardware-constrained decoders, the level and profile of further files should not exceed those of the first file.
Answers.UserDisplayName: Gyan
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-11-06T13:00:41.480Z
Answers.LastActivityDate: 2020-11-06T13:00:41.480Z
Answers.UserDisplayName: Gyan
Body: <p>I want to encode a video that will be compatible with videos created by my phone. That way I can mux the new video with the original without re-encoding the original video. I use <em><strong>FFmpeg</strong></em> with the <em><strong>libx264</strong></em> encoder. The following are the <a href="https://mediaarea.net/en/MediaInfo" rel="nofollow noreferrer">MediaInfo</a> specs of the original video created by my phone:</p>
  <pre><code>ID                                       : 1
  Format                                   : AVC
  Format/Info                              : Advanced Video Codec
  Format profile                           : Baseline@L3.1
  Format settings                          : 1 Ref Frames
  Format settings, CABAC                   : No
  Format settings, Reference frames        : 1 frame
  Format settings, GOP                     : M=1, N=30
  Codec ID                                 : avc1
  Codec ID/Info                            : Advanced Video Coding
  Duration                                 : 52 s 369 ms
  Bit rate                                 : 10.0 Mb/s
  Width                                    : 1 280 pixels
  Height                                   : 720 pixels
  Display aspect ratio                     : 16:9
  Frame rate mode                          : Variable
  Frame rate                               : 30.000 FPS
  Minimum frame rate                       : 29.625 FPS
  Maximum frame rate                       : 30.405 FPS
  Standard                                 : NTSC
  Color space                              : YUV
  Chroma subsampling                       : 4:2:0
  Bit depth                                : 8 bits
  Scan type                                : Progressive
  Bits/(Pixel*Frame)                       : 0.362
  Stream size                              : 62.4 MiB (98%)
  Title                                    : VideoHandle
  Language                                 : English
  Encoded date                             : UTC 2020-10-27 19:43:55
  Tagged date                              : UTC 2020-10-27 19:43:55
  Color range                              : Limited
  Color primaries                          : BT.709
  Transfer characteristics                 : BT.709
  transfer_characteristics_Original        : BT.601
  Matrix coefficients                      : BT.709
  mdhd_Duration                            : 52369
  Codec configuration box                  : avcC
  </code></pre>
  <p>So far, I have figured out the following, which I think has gotten me close:</p>
  <pre><code>ffmpeg -i in.mp4 -c:v libx264 -profile:v baseline -level:v 3.1 -refs 1 \
    -vsync 2 -filter:v scale=&quot;-1:720&quot;,pad=&quot;1280:720:720/2+ow/2&quot;,format=&quot;yuv420p&quot; \
    -x264-params keyint=&quot;30&quot;:scenecut=&quot;0&quot; -c:a copy out.mp4
  </code></pre>
  <p><del>I'm having trouble setting frame rate. It should be variable @ 30 fps. I found <a href="https://video.stackexchange.com/questions/29865">this question</a> in regards to variable frame rate. But it has no answer. Setting <code>-minrate</code> &amp; <code>-maxrate</code> does not help. The output is constant frame rate @ 30 FPS. Parameter examples follow.</del></p>
  <ul>
  <li><del>Outputs constant rate @ 30 fps:
  <pre><code>-vsync 2 -r 30 -minrate 29.625 -maxrate 30.405
  </code></pre>
  </li>
  </ul>
  </del>
  <ul>
  <li><del>Outputs variable rate @ 29.970:
  <pre><code>-vsync 2 -r 30.405
  </code></pre>
  </li>
  </ul>
  </del>
  <p><del>I also believe that I should be using <code>-crf</code> or <code>-qp</code>, but am not sure of the correct value(s).</del></p>
  <h3>Edit:</h3>
  <p>The command shown above results in the following specs:</p>
  <pre><code>ID                                       : 1
  Format                                   : AVC
  Format/Info                              : Advanced Video Codec
  Format profile                           : Baseline@L3.1
  Format settings                          : 1 Ref Frames
  Format settings, CABAC                   : No
  Format settings, Reference frames        : 1 frame
  Format settings, GOP                     : M=1, N=30
  Codec ID                                 : avc1
  Codec ID/Info                            : Advanced Video Coding
  Duration                                 : 8 s 700 ms
  Duration_FirstFrame                      : 33 ms
  Bit rate                                 : 2 606 kb/s
  Width                                    : 1 280 pixels
  Height                                   : 720 pixels
  Display aspect ratio                     : 16:9
  Frame rate mode                          : Constant
  Frame rate                               : 30.000 FPS
  Color space                              : YUV
  Chroma subsampling                       : 4:2:0
  Bit depth                                : 8 bits
  Scan type                                : Progressive
  Bits/(Pixel*Frame)                       : 0.094
  Stream size                              : 2.69 MiB (95%)
  Title                                    : VideoHandle
  Writing library                          : x264 core 160
  Encoding settings                        : cabac=0 / ref=1 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=30 / keyint_min=3 / scenecut=0 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
  Language                                 : English
  Codec configuration box                  : avcC
  </code></pre>
  <p>Is there anything else shown here that isn't compatible with the original video?</p>
  <hr />
  <p><strong>Sources that helped me:</strong></p>
  <ul>
  <li><a href="https://www.reddit.com/r/ffmpeg/comments/cjnqgz/deafult_gop_size_ffmpeg/evgyeqy/" rel="nofollow noreferrer"><del>setting GOP size</del></a></li>
  <li><a href="https://sites.google.com/site/linuxencoding/x264-ffmpeg-mapping" rel="nofollow noreferrer">x264 FFmpeg Options Guide</a></li>
  </ul>
  <h3>Edit (2020-11-6 23:40 UTC):</h3>
  <p>After reading <a href="https://video.stackexchange.com/questions/32597/how-to-create-compatible-avc-video-for-muxing-without-re-encode#32603">Gyan's answer</a>, I used the <code>-video_track_timescale</code> parameter to set a <code>tbn</code> value to match the original video. But the concatenated video still does not display correctly. Did I miss something that should be matching? I'm looking over the <code>ffprobe</code> output now.</p>
  <p>Original video:</p>
  <pre><code>$ ffprobe -hide_banner -i VID_20201027_124301.mp4
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'VID_20201027_124301.mp4':
    Metadata:
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: isommp42
      creation_time   : 2020-10-27T19:43:55.000000Z
      location        : +42.5418-122.5700/
      location-eng    : +42.5418-122.5700/
      com.android.version: 7.1.2
    Duration: 00:00:52.40, start: 0.000000, bitrate: 10187 kb/s
      Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/smpte170m), 1280x720, 10002 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)
      Metadata:
        creation_time   : 2020-10-27T19:43:55.000000Z
        handler_name    : VideoHandle
      Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        creation_time   : 2020-10-27T19:43:55.000000Z
        handler_name    : SoundHandle
  </code></pre>
  <p>FFmpeg encoded video:</p>
  <pre><code>$ ffprobe -hide_banner -i VID_20201027_124914-encoded.mp4
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'VID_20201027_124914-encoded.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 512
      compatible_brands: isomiso2avc1mp41
      encoder         : Lavf58.29.100
    Duration: 00:00:08.70, start: 0.000000, bitrate: 2732 kb/s
      Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2596 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
      Metadata:
        handler_name    : VideoHandle
      Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        handler_name    : SoundHandle
  </code></pre>
  <h3>Edit (2020-11-7 00:05 UTC):</h3>
  <p>Did some more testing &amp; found that when I concatenate the video using FFmpeg, it works. But if I concatenate using a different muxer, like <a href="http://fixounet.free.fr/avidemux/" rel="nofollow noreferrer">Avidemux</a> or <a href="https://www.fosshub.com/MKVToolNix.html" rel="nofollow noreferrer">MKVToolNix</a>, it does not. I think this question has been answered by Gyan, but I'm going to keep it open just a little longer to see if there is any input on why the video does not work with the other muxers as I prefer to use those.</p>
  <p>Ultimate ffmpeg parameters used:</p>
  <pre><code>ffmpeg -i in.mp4 -c:v libx264 -profile:v baseline -level:v 3.1 \
    -refs 1 -r 30 -video_track_timescale 90k \
    -filter:v scale=&quot;-1:720&quot;,pad=&quot;1280:720:720/2+ow/2&quot;,format=&quot;yuv420p&quot; \
    -x264-params keyint=&quot;30&quot;:scenecut=&quot;0&quot; -c:a copy out.mp4
  </code></pre>
  <p><em>the <strong>keyint</strong> &amp; <strong>scenecut</strong> params of <strong>-x264-params</strong> &amp; framerate aren't required</em></p>
  <h3>Edit:</h3>
  <p>Created question about concatenation not working with Avidemux &amp; MKVToolNix <a href="https://video.stackexchange.com/questions/32607">here</a>.</p>
  
Tags: <ffmpeg><encoding><libx264>
Title: How to Create Compatible AVC Video for Muxing Without Re-encode
UserDisplayName: AntumDeluge
ThreadText: # How to Create Compatible AVC Video for Muxing Without Re-encode
  
  (Asked by: username_0 on 2020-11-05)
  
  I want to encode a video that will be compatible with videos created by my phone. That way I can mux the new video with the original without re-encoding the original video. I use ***FFmpeg*** with the ***libx264*** encoder. The following are the [MediaInfo](https://mediaarea.net/en/MediaInfo) specs of the original video created by my phone:
  
  ```
  ID                                       : 1
  Format                                   : AVC
  Format/Info                              : Advanced Video Codec
  Format profile                           : Baseline@L3.1
  Format settings                          : 1 Ref Frames
  Format settings, CABAC                   : No
  Format settings, Reference frames        : 1 frame
  Format settings, GOP                     : M=1, N=30
  Codec ID                                 : avc1
  Codec ID/Info                            : Advanced Video Coding
  Duration                                 : 52 s 369 ms
  Bit rate                                 : 10.0 Mb/s
  Width                                    : 1 280 pixels
  Height                                   : 720 pixels
  Display aspect ratio                     : 16:9
  Frame rate mode                          : Variable
  Frame rate                               : 30.000 FPS
  Minimum frame rate                       : 29.625 FPS
  Maximum frame rate                       : 30.405 FPS
  Standard                                 : NTSC
  Color space                              : YUV
  Chroma subsampling                       : 4:2:0
  Bit depth                                : 8 bits
  Scan type                                : Progressive
  Bits/(Pixel*Frame)                       : 0.362
  Stream size                              : 62.4 MiB (98%)
  Title                                    : VideoHandle
  Language                                 : English
  Encoded date                             : UTC 2020-10-27 19:43:55
  Tagged date                              : UTC 2020-10-27 19:43:55
  Color range                              : Limited
  Color primaries                          : BT.709
  Transfer characteristics                 : BT.709
  transfer_characteristics_Original        : BT.601
  Matrix coefficients                      : BT.709
  mdhd_Duration                            : 52369
  Codec configuration box                  : avcC
  
  ```
  
  So far, I have figured out the following, which I think has gotten me close:
  
  ```
  ffmpeg -i in.mp4 -c:v libx264 -profile:v baseline -level:v 3.1 -refs 1 \
    -vsync 2 -filter:v scale="-1:720",pad="1280:720:720/2+ow/2",format="yuv420p" \
    -x264-params keyint="30":scenecut="0" -c:a copy out.mp4
  
  ```
  
  ~~I'm having trouble setting frame rate. It should be variable @ 30 fps. I found [this question](https://video.stackexchange.com/questions/29865) in regards to variable frame rate. But it has no answer. Setting `-minrate` & `-maxrate` does not help. The output is constant frame rate @ 30 FPS. Parameter examples follow.~~
  
  * ~~Outputs constant rate @ 30 fps:
  
    ```
    -vsync 2 -r 30 -minrate 29.625 -maxrate 30.405
  
    ```~~
  
  * ~~Outputs variable rate @ 29.970:
  
    ```
    -vsync 2 -r 30.405
  
    ```~~
  
  ~~I also believe that I should be using `-crf` or `-qp`, but am not sure of the correct value(s).~~
  
  ### Edit:
  
  The command shown above results in the following specs:
  
  ```
  ID                                       : 1
  Format                                   : AVC
  Format/Info                              : Advanced Video Codec
  Format profile                           : Baseline@L3.1
  Format settings                          : 1 Ref Frames
  Format settings, CABAC                   : No
  Format settings, Reference frames        : 1 frame
  Format settings, GOP                     : M=1, N=30
  Codec ID                                 : avc1
  Codec ID/Info                            : Advanced Video Coding
  Duration                                 : 8 s 700 ms
  Duration_FirstFrame                      : 33 ms
  Bit rate                                 : 2 606 kb/s
  Width                                    : 1 280 pixels
  Height                                   : 720 pixels
  Display aspect ratio                     : 16:9
  Frame rate mode                          : Constant
  Frame rate                               : 30.000 FPS
  Color space                              : YUV
  Chroma subsampling                       : 4:2:0
  Bit depth                                : 8 bits
  Scan type                                : Progressive
  Bits/(Pixel*Frame)                       : 0.094
  Stream size                              : 2.69 MiB (95%)
  Title                                    : VideoHandle
  Writing library                          : x264 core 160
  Encoding settings                        : cabac=0 / ref=1 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=30 / keyint_min=3 / scenecut=0 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
  Language                                 : English
  Codec configuration box                  : avcC
  
  ```
  
  Is there anything else shown here that isn't compatible with the original video?
  
  ---
  
  **Sources that helped me:**
  
  * [~~setting GOP size~~](https://www.reddit.com/r/ffmpeg/comments/cjnqgz/deafult_gop_size_ffmpeg/evgyeqy/)
  * [x264 FFmpeg Options Guide](https://sites.google.com/site/linuxencoding/x264-ffmpeg-mapping)
  
  ### Edit (2020-11-6 23:40 UTC):
  
  After reading [username_1's answer](https://video.stackexchange.com/questions/32597/how-to-create-compatible-avc-video-for-muxing-without-re-encode#32603), I used the `-video_track_timescale` parameter to set a `tbn` value to match the original video. But the concatenated video still does not display correctly. Did I miss something that should be matching? I'm looking over the `ffprobe` output now.
  
  Original video:
  
  ```
  $ ffprobe -hide_banner -i VID_20201027_124301.mp4
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'VID_20201027_124301.mp4':
    Metadata:
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: isommp42
      creation_time   : 2020-10-27T19:43:55.000000Z
      location        : +42.5418-122.5700/
      location-eng    : +42.5418-122.5700/
      com.android.version: 7.1.2
    Duration: 00:00:52.40, start: 0.000000, bitrate: 10187 kb/s
      Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/smpte170m), 1280x720, 10002 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)
      Metadata:
        creation_time   : 2020-10-27T19:43:55.000000Z
        handler_name    : VideoHandle
      Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        creation_time   : 2020-10-27T19:43:55.000000Z
        handler_name    : SoundHandle
  
  ```
  
  FFmpeg encoded video:
  
  ```
  $ ffprobe -hide_banner -i VID_20201027_124914-encoded.mp4
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'VID_20201027_124914-encoded.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 512
      compatible_brands: isomiso2avc1mp41
      encoder         : Lavf58.29.100
    Duration: 00:00:08.70, start: 0.000000, bitrate: 2732 kb/s
      Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2596 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
      Metadata:
        handler_name    : VideoHandle
      Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        handler_name    : SoundHandle
  
  ```
  
  ### Edit (2020-11-7 00:05 UTC):
  
  Did some more testing & found that when I concatenate the video using FFmpeg, it works. But if I concatenate using a different muxer, like [Avidemux](http://fixounet.free.fr/avidemux/) or [MKVToolNix](https://www.fosshub.com/MKVToolNix.html), it does not. I think this question has been answered by username_1, but I'm going to keep it open just a little longer to see if there is any input on why the video does not work with the other muxers as I prefer to use those.
  
  Ultimate ffmpeg parameters used:
  
  ```
  ffmpeg -i in.mp4 -c:v libx264 -profile:v baseline -level:v 3.1 \
    -refs 1 -r 30 -video_track_timescale 90k \
    -filter:v scale="-1:720",pad="1280:720:720/2+ow/2",format="yuv420p" \
    -x264-params keyint="30":scenecut="0" -c:a copy out.mp4
  
  ```
  
  *the **keyint** & **scenecut** params of **-x264-params** & framerate aren't required*
  
  ### Edit:
  
  Created question about concatenation not working with Avidemux & MKVToolNix [here](https://video.stackexchange.com/questions/32607).
  
  **Tags:** ffmpeg, encoding, libx264
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-11-06. Score: 4 | Accepted answer
  
  To concatenate multiple files for expected playback in common players, following properties need to match for
  
  video: codec, codec profile, codec level, resolution, reference count, pixel format, [timebase](https://stackoverflow.com/questions/43333542/what-is-video-timescale-timebase-or-timestamp-in-ffmpeg/)/timescale.  
  audio: codec, codec profile, channel count & layout, sample format and sampling rate.
  
  Advanced players can tolerate mid-stream changes in some of the above parameters.
  
  Mediainfo won't show you timescale, it's the `tbn` value as shown by ffmpeg for the stream. Framerates need not match nor be constant for any given constituent stream. GOP size or keyframe cadence need not match. Neither need bitrate value or mode (CRF, VBR..etc) match. `minrate` and `maxrate` clamp bitrate, not framerate.
  
  > **Comments:**
  > **username_0**: Okay, ffmpeg shows `30 fps, 30 tbr, 90k tbn, 180k tbc` for the video produced by my phone. I used `-video_track_timescale 90k` option & the output video shows `29.89 fps, 30 tbr, 90k tbn, 60 tbc`. But concatenated video still not displaying correctly in VLC nor MPlayer. Everything else you outlined matches. Does `tbc` need to match as well?  
  > **username_0**: I updated my question to show the `ffprobe` output of the two videos.  
  > **username_0**: **New info:** After following your answer, concatenating with FFmpeg works. Thank you. However, if I use a different utility to mux, such as [Avidemux](http://fixounet.free.fr/avidemux/) or [MKVToolNix](https://www.fosshub.com/MKVToolNix.html), the concatenated video does not display correctly. Any idea of why this might be?  
  > **username_0**: [Created new question for this](https://video.stackexchange.com/questions/32607).  
  > **username_2**: Is codec level still true? I was able to use the `concat` demuxer to concat two videos that everything matched for except the codec level (and SAR/DAR).  
  > **username_1**: Strictly speaking, to avoid failing with hardware-constrained decoders, the level and profile of further files should not exceed those of the first file.  
  
  ---
  
  