get_post_meta() retrieves meta from a specific post on pages, not the page currently viewed

There is some other query which replaces the main post ID. Might be another widget, some strange plugin code or something else If you have no control over the context, collect the post ID earlier:

add_action( 'template_redirect', 'collect_post_id' );

function collect_post_id()
{
    static $id = 0;

    if ( 'template_redirect' === current_filter() && is_singular() )
        $id = get_the_ID();

    return $id;
}

Instead of get_the_ID() use collect_post_id() now in your code.

$video_value = get_post_meta( collect_post_id(), '_post_video', true );