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 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? – TheMiddleMan Jun 18 at 16:10
  • Got it, looks like it -c:v hevc must come before the -i argument. – TheMiddleMan Jun 18 at 16:33
  • @Gyan If you want to answer my question I can accept the answer – TheMiddleMan Jun 18 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
| improve this answer | |

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.