I am dealing with a video that as a codec tag of none, but the actual codec is GHEC. I am aware this is a proprietary codec from GeoVision. The video will not play unless I use ffplay with the -vcodec hevc argument. Since GHEC codec will play via hevc codec, is there any way I can force the codec to be hevc on this video so I can watch it in other media players like VLC?

Here are the streams from ffprobe:

    Stream #0:0: Video: none (GHEC / 0x43454847), none, 1920x1080, 451 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Stream #0:1: Subtitle: none, 3 kb/s
    Stream #0:2: Subtitle: none
  • Remux via ffmpeg with the decoder specified.
    – Gyan
    Jun 18 '20 at 5:41
  • @Gyan anything I try keeps giving me this error: Output file #0 does not contain any stream. I have tried ffmpeg -i in.avi -vcodec:hevc out.avi, ffmpeg -i in.avi -vcodec hevc out.avi, and ffmpeg -i -c:v codec hevc out.avi. Are my commands correct? Jun 18 '20 at 16:10
  • Got it, looks like it -c:v hevc must come before the -i argument. Jun 18 '20 at 16:33
  • @Gyan If you want to answer my question I can accept the answer Jun 18 '20 at 16:33

If you know the compatible codec in ffmpeg, you can remux the file to generate a standard file, e.g.

ffmpeg -c:v hevc -i in.avi -c copy out.avi

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.