Я столкнулся с похожей проблемой с моим сайтом при разработке адаптивного CSS. Я хотел, чтобы любые встроенные объекты Youtube изменяли размеры, с аспектом, при переключении с настольного CSS на что-то меньшее (я использую медиазапросы для повторного рендеринга контента для мобильных устройств).
Решение, на котором я остановился, было на основе CSS и разметки. По сути, у меня есть три класса видео в моем CSS, таким образом:
.video640 {width: 640px; height: 385px}
.video560 {width: 560px; height: 340px}
.video480 {width: 480px; height: 385px}
… и я назначаю один из них содержимому Youtube, которое я включаю, в зависимости от его исходного размера (вам может понадобиться больше классов, я просто выбрал наиболее распространенные размеры).
В CSS медиазапроса для небольших устройств эти же классы просто переформулированы так:
.video640 {width: 230px; height: 197px}
.video560 {width: 230px; height: 170px}
.video480 {width: 240px; height: 193px}
Я ценю, что это требует некоторой разметки "заранее" при включении видео в ваш HTML (то есть добавление класса), но если вы не хотите идти по маршруту Javascript, это работает довольно хорошо - вы мог бы переопределить ваши классы видео для столько разных размеров, сколько вам требуется. Вот как выглядит разметка Youtube:
<object class="video640" type="application/x-shockwave-flash" value="YOUTUBE URL">
<param name="movie" value="YOUTUBE URL"></param>
</object>